الشكل 1: نظرة عامة على مشروع محاذاة LLM. ألق نظرة على: أرخايف:2308.05374
لا يعد قالب محاذاة LLM مجرد أداة شاملة لمحاذاة نماذج اللغات الكبيرة (LLMs)، ولكنه يعمل أيضًا كقالب قوي لإنشاء تطبيق محاذاة LLM الخاص بك. مستوحى من قوالب المشاريع مثل قالب مشروع PyTorch ، تم تصميم هذا المستودع لتوفير مجموعة كاملة من الوظائف، ليكون بمثابة نقطة بداية لتخصيص وتوسيع احتياجات محاذاة LLM الخاصة بك. سواء كنت باحثًا أو مطورًا أو عالم بيانات، فإن هذا القالب يوفر أساسًا متينًا لإنشاء ونشر LLMs بكفاءة ومصممة لتتوافق مع القيم والأهداف الإنسانية.
يوفر قالب محاذاة LLM مجموعة كاملة من الوظائف، بما في ذلك التدريب والضبط الدقيق والنشر ومراقبة LLMs باستخدام التعلم المعزز من الملاحظات البشرية (RLHF). يدمج هذا المشروع أيضًا مقاييس التقييم لضمان الاستخدام الأخلاقي والفعال لنماذج اللغة. توفر الواجهة تجربة سهلة الاستخدام لإدارة التوافق وتصور مقاييس التدريب والنشر على نطاق واسع.
app/
: يحتوي على رمز API وواجهة المستخدم.
auth.py
و feedback.py
و ui.py
: نقاط نهاية واجهة برمجة التطبيقات لتفاعل المستخدم وجمع التعليقات وإدارة الواجهة العامة.app.js
و chart.js
) وCSS ( styles.css
) ووثائق Swagger API ( swagger.json
).chat.html
و feedback.html
و index.html
) لعرض واجهة المستخدم. src/
: المنطق الأساسي والأدوات المساعدة للمعالجة المسبقة والتدريب.
preprocessing/
):preprocess_data.py
: يجمع بين مجموعات البيانات الأصلية والمعززة ويطبق تنظيف النص.tokenization.py
: يعالج الترميز.training/
):fine_tuning.py
و transfer_learning.py
و retrain_model.py
: نصوص برمجية لنماذج التدريب وإعادة التدريب.rlhf.py
, reward_model.py
: نصوص برمجية للتدريب على نماذج المكافآت باستخدام RLHF.utils/
): الأدوات المساعدة الشائعة ( config.py
, logging.py
, validation.py
). dashboards/
: لوحات معلومات الأداء وقابلية الشرح للمراقبة ورؤى النماذج.
performance_dashboard.py
: يعرض مقاييس التدريب وفقدان التحقق من الصحة والدقة.explainability_dashboard.py
: تصور قيم SHAP لتوفير نظرة ثاقبة لقرارات النموذج. tests/
: اختبارات الوحدة والتكامل والاختبارات الشاملة.
test_api.py
و test_preprocessing.py
و test_training.py
: اختبارات الوحدة والتكامل المختلفة.e2e/
): اختبارات واجهة المستخدم المستندة إلى السرو ( ui_tests.spec.js
).load_testing/
): يستخدم Locust ( locustfile.py
) لاختبار التحميل. deployment/
: ملفات التكوين للنشر والمراقبة.
kubernetes/
): تكوينات النشر والدخول للتوسع وإصدارات الكناري.monitoring/
): 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/
، وتغطي وظائف واجهة برمجة التطبيقات والمعالجة المسبقة والتدريب.tests/load_testing/locustfile.py
) لضمان الاستقرار تحت الحمل. المساهمات هي موضع ترحيب! يرجى إرسال طلبات السحب أو المشكلات الخاصة بالتحسينات أو الميزات الجديدة.
هذا المشروع مرخص بموجب ترخيص MIT. راجع ملف الترخيص لمزيد من المعلومات.
تم تطويره بواسطة ❤️ بواسطة أميرسينا تورفي