Axolotl هي أداة مفتوحة المصدر مصممة خصيصًا لتبسيط عمليات التدريب اللاحق المختلفة لنماذج الذكاء الاصطناعي. يشير التدريب اللاحق إلى أي تعديلات أو تدريب إضافي يتم إجراؤه على نموذج مُدرَّب مسبقًا، بما في ذلك الضبط الدقيق للنموذج بأكمله، والضبط الفعال للمعلمات (مثل LoRA و QLoRA)، والضبط الدقيق الخاضع للإشراف (SFT)، وضبط التعليمات، وتقنيات المحاذاة. تدعم هذه الأداة العديد من هياكل النماذج وتكوينات التدريب، مما يتيح للمستخدمين البدء بسهولة في استخدام هذه التقنيات التدريبية المتقدمة.
pip3 install -U packaging==23.2 setuptools==75.8.0 wheel ninja
pip3 install --no-build-isolation axolotl[flash-attn,deepspeed]
# تنزيل ملفات التكوين النموذجية
axolotl fetch examples
axolotl fetch deepspeed_configs # اختياري
git clone https://github.com/axolotl-ai-cloud/axolotl.git
cd axolotl
pip3 install -U packaging setuptools wheel ninja
pip3 install --no-build-isolation -e '.[flash-attn,deepspeed]'
docker run --gpus '"all"' --rm -it axolotlai/axolotl:main-latest
الحصول على تكوين نموذجي:
axolotl fetch examples
تدريب النموذج:
axolotl train examples/llama-3/lora-1b.yml
تكوين مخصص: قم بتعديل المعلمات في ملف تكوين YAML حسب الحاجة.
يستخدم Axolotl ملفات تكوين YAML للتحكم في عملية التدريب بأكملها، بما في ذلك:
النموذج | fp16/fp32 | LoRA | QLoRA | GPTQ | Flash Attn | xformers |
---|---|---|---|---|---|---|
LLaMA | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Mistral | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Mixtral-MoE | ✅ | ✅ | ✅ | ❓ | ❓ | ❓ |
Pythia | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Falcon | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Qwen | ✅ | ✅ | ✅ | ❓ | ❓ | ❓ |
Gemma | ✅ | ✅ | ✅ | ❓ | ❓ | ✅ |
✅: مدعوم ❌: غير مدعوم ❓: لم يتم اختباره