Gambar 1: Tinjauan Proyek Penyelarasan LLM. Lihatlah: arXiv:2308.05374
Templat Penyelarasan LLM bukan hanya alat komprehensif untuk menyelaraskan model bahasa besar (LLM), tetapi juga berfungsi sebagai templat yang kuat untuk membangun aplikasi penyelarasan LLM Anda sendiri. Terinspirasi oleh templat proyek seperti PyTorch Project Template , repositori ini dirancang untuk menyediakan fungsionalitas lengkap, bertindak sebagai titik awal untuk menyesuaikan dan memperluas kebutuhan penyelarasan LLM Anda sendiri. Baik Anda seorang peneliti, pengembang, atau ilmuwan data, templat ini memberikan dasar yang kuat untuk membuat dan menerapkan LLM secara efisien yang disesuaikan agar selaras dengan nilai dan tujuan kemanusiaan.
Templat Penyelarasan LLM menyediakan serangkaian fungsi lengkap, termasuk pelatihan, penyesuaian, penerapan, dan pemantauan LLM menggunakan Pembelajaran Penguatan dari Umpan Balik Manusia (RLHF). Proyek ini juga mengintegrasikan metrik evaluasi untuk memastikan penggunaan model bahasa yang etis dan efektif. Antarmukanya menawarkan pengalaman yang mudah digunakan untuk mengelola penyelarasan, memvisualisasikan metrik pelatihan, dan penerapan dalam skala besar.
app/
: Berisi kode API dan UI.
auth.py
, feedback.py
, ui.py
: Titik akhir API untuk interaksi pengguna, pengumpulan umpan balik, dan manajemen antarmuka umum.app.js
, chart.js
), CSS ( styles.css
), dan dokumentasi Swagger API ( swagger.json
).chat.html
, feedback.html
, index.html
) untuk rendering UI. src/
: Logika inti dan utilitas untuk prapemrosesan dan pelatihan.
preprocessing/
):preprocess_data.py
: Menggabungkan kumpulan data asli dan tambahan serta menerapkan pembersihan teks.tokenization.py
: Menangani tokenisasi.training/
):fine_tuning.py
, transfer_learning.py
, retrain_model.py
: Skrip untuk model pelatihan dan pelatihan ulang.rlhf.py
, reward_model.py
: Skrip untuk pelatihan model reward menggunakan RLHF.utils/
): Utilitas umum ( config.py
, logging.py
, validation.py
). dashboards/
: Dasbor kinerja dan penjelasan untuk pemantauan dan wawasan model.
performance_dashboard.py
: Menampilkan metrik pelatihan, kehilangan validasi, dan akurasi.explainability_dashboard.py
: Memvisualisasikan nilai SHAP untuk memberikan wawasan tentang keputusan model. tests/
: Pengujian unit, integrasi, dan ujung ke ujung.
test_api.py
, test_preprocessing.py
, test_training.py
: Berbagai pengujian unit dan integrasi.e2e/
): Tes UI berbasis Cypress ( ui_tests.spec.js
).load_testing/
): Menggunakan Locust ( locustfile.py
) untuk pengujian beban. deployment/
: File konfigurasi untuk penerapan dan pemantauan.
kubernetes/
): Konfigurasi Deployment dan Ingress untuk penskalaan dan rilis canary.monitoring/
): Prometheus ( prometheus.yml
) dan Grafana ( grafana_dashboard.json
) untuk pemantauan kinerja dan kesehatan sistem. Kloning Repositori :
git clone https://github.com/yourusername/LLM-Alignment-Template.git
cd LLM-Alignment-Template
Instal Dependensi :
pip install -r requirements.txt
cd app/static
npm install
Bangun Gambar Docker :
docker-compose up --build
Akses Aplikasi :
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
untuk meluncurkan versi baru dengan aman.deployment/monitoring/
untuk mengaktifkan dasbor pemantauan.docker-compose.logging.yml
untuk log terpusat. Modul pelatihan ( src/training/transfer_learning.py
) menggunakan model terlatih seperti BERT untuk beradaptasi dengan tugas khusus, sehingga memberikan peningkatan kinerja yang signifikan.
Skrip data_augmentation.py
( src/data/
) menerapkan teknik augmentasi seperti terjemahan balik dan parafrase untuk meningkatkan kualitas data.
rlhf.py
dan reward_model.py
untuk menyempurnakan model berdasarkan masukan manusia.feedback.html
), dan model berlatih ulang dengan retrain_model.py
. explainability_dashboard.py
menggunakan nilai SHAP untuk membantu pengguna memahami alasan suatu model membuat prediksi tertentu.
tests/
, mencakup fungsi API, prapemrosesan, dan pelatihan.tests/load_testing/locustfile.py
) untuk memastikan stabilitas saat memuat. Kontribusi dipersilahkan! Silakan kirimkan permintaan penarikan atau masalah untuk perbaikan atau fitur baru.
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LISENSI untuk informasi lebih lanjut.
Dikembangkan dengan ❤️ oleh Amirsina Torfi