รูปที่ 1: ภาพรวมของโครงการการจัดตำแหน่ง LLM ดูที่: arXiv:2308.05374
เทมเพลตการจัดตำแหน่ง LLM ไม่ได้เป็นเพียงเครื่องมือที่ครอบคลุมสำหรับการจัดตำแหน่งโมเดลภาษาขนาดใหญ่ (LLM) แต่ยังทำหน้าที่เป็น เทมเพลตที่มีประสิทธิภาพ สำหรับการสร้างแอปพลิเคชันการจัดตำแหน่ง LLM ของคุณเอง พื้นที่เก็บข้อมูลนี้ได้รับแรงบันดาลใจจากเทมเพลตโปรเจ็กต์ เช่น PyTorch Project Template เพื่อให้มีฟังก์ชันการทำงานเต็มรูปแบบ โดยทำหน้าที่เป็นจุดเริ่มต้นในการปรับแต่งและขยายตามความต้องการในการจัดตำแหน่ง LLM ของคุณเอง ไม่ว่าคุณจะเป็นนักวิจัย นักพัฒนา หรือนักวิทยาศาสตร์ข้อมูล เทมเพลตนี้จะมอบรากฐานที่มั่นคงสำหรับการสร้างและปรับใช้ LLM ที่ได้รับการปรับแต่งให้สอดคล้องกับค่านิยมและวัตถุประสงค์ของมนุษย์อย่างมีประสิทธิภาพ
เทมเพลตการจัดตำแหน่ง LLM มอบฟังก์ชันการทำงานเต็มรูปแบบ รวมถึงการฝึกอบรม การปรับแต่ง การปรับใช้ และการตรวจสอบ LLM โดยใช้การเรียนรู้การเสริมกำลังจากผลตอบรับของมนุษย์ (RLHF) โครงการนี้ยังรวมตัวชี้วัดการประเมินผลเพื่อให้แน่ใจว่าการใช้แบบจำลองภาษามีจริยธรรมและมีประสิทธิภาพ อินเทอร์เฟซมอบประสบการณ์ที่เป็นมิตรต่อผู้ใช้สำหรับการจัดการการจัดตำแหน่ง การแสดงภาพเมตริกการฝึกอบรม และการปรับใช้ในวงกว้าง
app/
: ประกอบด้วยโค้ด API และ UI
auth.py
, feedback.py
, ui.py
: จุดสิ้นสุด API สำหรับการโต้ตอบกับผู้ใช้ การรวบรวมคำติชม และการจัดการอินเทอร์เฟซทั่วไปapp.js
, chart.js
), CSS ( styles.css
) และเอกสารประกอบ Swagger API ( swagger.json
)chat.html
, feedback.html
, index.html
) สำหรับการแสดงผล UI src/
: ตรรกะหลักและยูทิลิตี้สำหรับการประมวลผลล่วงหน้าและการฝึกอบรม
preprocessing/
):preprocess_data.py
: รวมชุดข้อมูลดั้งเดิมและชุดข้อมูลเสริมและใช้การล้างข้อความtokenization.py
: จัดการโทเค็นtraining/
):fine_tuning.py
, transfer_learning.py
, retrain_model.py
: สคริปต์สำหรับการฝึกอบรมและการฝึกอบรมโมเดลใหม่rlhf.py
, reward_model.py
: สคริปต์สำหรับการฝึกโมเดลรางวัลโดยใช้ RLHFutils/
): ยูทิลิตี้ทั่วไป ( config.py
, logging.py
, validation.py
) dashboards/
: แดชบอร์ดประสิทธิภาพและความสามารถในการอธิบายสำหรับการตรวจสอบและข้อมูลเชิงลึกของโมเดล
performance_dashboard.py
: แสดงตัวชี้วัดการฝึกอบรม การสูญเสียการตรวจสอบ และความแม่นยำexplainability_dashboard.py
: แสดงภาพค่า SHAP เพื่อให้ข้อมูลเชิงลึกเกี่ยวกับการตัดสินใจเกี่ยวกับโมเดล tests/
: หน่วย บูรณาการ และการทดสอบแบบ end-to-end
test_api.py
, test_preprocessing.py
, test_training.py
: การทดสอบหน่วยต่างๆ และการทดสอบการรวมe2e/
): การทดสอบ UI ที่ใช้ Cypress ( ui_tests.spec.js
)load_testing/
): ใช้ Locust ( locustfile.py
) สำหรับการทดสอบโหลด deployment/
: ไฟล์การกำหนดค่าสำหรับการปรับใช้และการมอนิเตอร์
kubernetes/
): การกำหนดค่าการปรับใช้และ Ingress สำหรับการปรับขนาดและการปล่อย Canarymonitoring/
): Prometheus ( prometheus.yml
) และ Grafana ( grafana_dashboard.json
) สำหรับการตรวจสอบประสิทธิภาพและสุขภาพของระบบ โคลนพื้นที่เก็บข้อมูล :
git clone https://github.com/yourusername/LLM-Alignment-Template.git
cd LLM-Alignment-Template
ติดตั้งการพึ่งพา :
pip install -r requirements.txt
cd app/static
npm install
สร้างอิมเมจนักเทียบท่า :
docker-compose up --build
เข้าถึงแอปพลิเคชัน :
http://localhost:5000
kubectl apply -f deployment/kubernetes/deployment.yml
kubectl apply -f deployment/kubernetes/service.yml
kubectl apply -f deployment/kubernetes/hpa.yml
deployment/kubernetes/canary_deployment.yml
เพื่อเผยแพร่เวอร์ชันใหม่อย่างปลอดภัยdeployment/monitoring/
เพื่อเปิดใช้งานแดชบอร์ดการตรวจสอบdocker-compose.logging.yml
สำหรับบันทึกแบบรวมศูนย์ โมดูลการฝึกอบรม ( src/training/transfer_learning.py
) ใช้โมเดลที่ได้รับการฝึกอบรมล่วงหน้า เช่น BERT เพื่อปรับให้เข้ากับงานที่กำหนดเอง ซึ่งช่วยเพิ่มประสิทธิภาพได้อย่างมาก
สคริปต์ data_augmentation.py
( src/data/
) ใช้เทคนิคการเพิ่ม เช่น การแปลกลับ และการถอดความ เพื่อปรับปรุงคุณภาพของข้อมูล
rlhf.py
และ reward_model.py
เพื่อปรับแต่งโมเดลตามความคิดเห็นของมนุษย์feedback.html
) และโมเดลจะฝึกใหม่ด้วย retrain_model.py
สคริปต์ explainability_dashboard.py
ใช้ค่า SHAP เพื่อช่วยให้ผู้ใช้เข้าใจว่าเหตุใดโมเดลจึงคาดการณ์อย่างเจาะจง
tests/
ครอบคลุมฟังก์ชัน API การประมวลผลล่วงหน้า และการฝึกอบรมtests/load_testing/locustfile.py
) เพื่อให้มั่นใจถึงความเสถียรภายใต้โหลด ยินดีบริจาค! กรุณาส่งคำขอดึงหรือปัญหาสำหรับการปรับปรุงหรือคุณสมบัติใหม่
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม
พัฒนาโดย ❤️ โดย Amirsina Torfi