TRL documentation

تكامل DeepSpeed

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.18.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

تكامل DeepSpeed

يدعم TRL التدريب باستخدام DeepSpeed، وهي مكتبة تنفّذ تقنيات تحسين متقدمة للتدريب. وتشمل هذه التقنيات تقسيم حالة المُحسِّن، والتفريغ، وتقسيم التدرّجات، وغيرها.

تدمج DeepSpeed محسّن Zero Redundancy Optimizer (ZeRO) الذي يتيح لك توسيع حجم النموذج بشكل متناسب مع عدد الأجهزة مع الحفاظ على كفاءة عالية مستدامة.

ZeRO Stages

التثبيت

للاستخدام DeepSpeed مع TRL، قم بتثبيته باستخدام الأمر التالي:

pip install deepspeed

تشغيل سكربتات التدريب مع DeepSpeed

لا يلزم إجراء أي تعديلات على سكربت التدريب الخاص بك. يتم تفعيل DeepSpeed من خلال حُجج التدريب، تمامًا كما هو الحال مع أي Trainer: اضبط deepspeed على مسار ملف إعدادات DeepSpeed، ثم أطلق التدريب باستخدام torchrun.

training_args = SFTConfig(..., deepspeed="<DEEPSPEED_CONFIG_FILE.json>")
torchrun --nproc_per_node 8 train.py

تأخذ السكربتات التي تحلل حُججها باستخدام TrlParser، مثل تلك الموجودة خلف واجهة trl السطرية، هذه الحُجج من سطر الأوامر:

trl sft ... --deepspeed <DEEPSPEED_CONFIG_FILE.json>

نوفر ملفات إعداد DeepSpeed جاهزة للاستخدام في مجلد examples/deepspeed_configs. على سبيل المثال، لتشغيل التدريب مع ZeRO Stage 2:

trl sft ... --deepspeed examples/deepspeed_configs/zero2.json

القيم المُعيّنة على "auto" في هذه الملفات (حجم الدفعة، تراكم التدرّجات، الدقّة، …) تُستكمل من حُجج التدريب.

موارد إضافية

راجع وثائق DeepSpeed في 🤗 Transformers لمزيد من المعلومات حول تكامل DeepSpeed.

Update on GitHub