
Felafax هو إطار للتدريب المستمر وضبط LLMs Open Source باستخدام وقت تشغيل XLA . نحن نعتني بإعداد وقت التشغيل اللازم ونوفر دفتر Jupyter Out-of-Ofbox للبدء للتو.
هدفنا في Felafax هو بناء Infra لتسهيل تشغيل أعباء عمل AI على الأجهزة غير Nvidia (TPU ، Tradium AWS ، AMD GPUs ، و Intel GPUS).
أضف مجموعة البيانات الخاصة بك ، انقر فوق "Run All" ، وسوف تعمل على مورد TPU مجاني على Google Colab!
| Felafax يدعم | أجهزة الكمبيوتر المحمولة المجانية |
|---|---|
| لاما 3.1 (1 ب ، 3 ب) |
LLAMA-3.1 تنفيذ JAX
Llama-3/3.1 Pytorch XLA
ابدأ في صياغة النماذج الخاصة بك باستخدام Felafax CLI في بعض الخطوات البسيطة.
ابدأ بتثبيت CLI.
pip install pipx
pipx install felafax-cliثم ، قم بتوليد رمز مصادقة:
أخيرًا ، قم بإصدار جلسة CLI الخاصة بك باستخدام الرمز المميز الخاص بك:
felafax-cli auth login --token < your_token > أولاً ، قم بإنشاء ملف تكوين افتراضي للضبط. يقوم هذا الأمر بإنشاء ملف config.yml في الدليل الحالي مع قيم الفائقة الافتراضية.
felafax-cli tune init-configثانياً ، قم بتحديث ملف التكوين باستخدام مقاييس HyperParameters الخاصة بك:
مقابض Huggingface:
خط أنابيب مجموعة البيانات والمعاملات التدريبية:
batch_size ، max_seq_length لاستخدامها في مجموعة بيانات الضبط.null إذا كنت تريد أن تعمل Trainig عبر مجموعة بيانات كاملة. إذا تم تعيين Num_steps على رقم ، فسيتوقف التدريب بعد عدد الخطوات المحددة.learning_rate و lora_rank لاستخدامه في الضبط.eval_interval هو عدد الخطوات بين التقييمات.قم بتشغيل الأمر المتابعة للاطلاع على قائمة النماذج الأساسية التي يمكنك ضبطها ، فنحن ندعم جميع المتغيرات Llama-3.1 حتى الآن.
felafax-cli tune start --help الآن ، يمكنك بدء عملية الضبط باستخدام نموذجك المحدد من القائمة أعلاه واسم مجموعة البيانات من HuggingFace (مثل yahma/alpaca-cleaned ):
felafax-cli tune start --model < your_selected_model > --config ./config.yml --hf-dataset-id < your_hf_dataset_name >مثال على الأمر لتبدأ:
felafax-cli tune start --model llama3-2-1b --config ./config.yml --hf-dataset-id yahma/alpaca-cleanedبعد أن تبدأ مهمة التثبيت ، تهتم Felafax Cli بدور TPU ، وتشغيل التدريب ، ويقوم بتحميل النموذج المضبوط إلى مركز Huggingface.
يمكنك دفق سجلات الوقت الفعلي لمراقبة تقدم وظيفتك في التكييف:
# Use `<job_name>` with the job namethat you get after starting the fine-tuning.
felafax-cli tune logs --job-id < job_name > -fبعد اكتمال الضبط ، يمكنك سرد جميع النماذج التي تم ضبطها بشكل جيد:
felafax-cli model listيمكنك بدء جلسة طرفية تفاعلية للدردشة مع طرازك المعروف:
# Replace `<model_id>` with model id from `model list` command you ran above.
felafax-cli model chat --model-id < model_id > تم تقسيم CLI إلى ثلاث مجموعات أوامر رئيسية:
tune : لبدء/التوقف عن وظائف صقلها.model : لإدارة النماذج الدقيقة والتفاعل معها.files : لتحميل/عرض ملفاتك. استخدم علامة --help لاكتشاف المزيد عن أي مجموعة أوامر:
felafax-cli tune --helpلقد صرفنا مؤخرًا طراز LLAMA3.1 405B على وحدات معالجة الرسومات 8XAMD MI300X باستخدام JAX بدلاً من Pytorch. سمحت لنا واجهات برمجة تطبيقات Jax المتقدمة لتحقيق أداء رائع. تحقق من منشور المدونة الخاص بنا للتعرف على الإعداد والحيل التي استخدمناها.
لقد فعلنا صياغة Lora مع جميع الأوزان النموذجية ومعلمات Lora في دقة BFLOAT16 ، ومع رتبة Lora 8 و Lora Alpha من 16:
يمكن العثور على استخدامات استخدام GPU ورسوم استخدام VRAM أدناه. ومع ذلك ، ما زلنا بحاجة إلى حساب استخدام النموذج التقليدي (MFU). ملاحظة: لم نتمكن من تشغيل النسخة المبللة من طراز 405B بسبب قيود البنية التحتية و VRAM (نحتاج إلى التحقيق في هذا الأمر بشكل أكبر). تم تنفيذ تشغيل التدريب بأكمله في وضع Jax Ceager ، لذلك هناك إمكانات كبيرة لتحسين الأداء.


إذا كان لديك أي أسئلة ، فيرجى الاتصال بنا على [email protected].