Transformers documentation

DeepSpeed

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

and get access to the augmented documentation experience

to get started

DeepSpeed

DeepSpeed، المدعوم بواسطة Zero Redundancy Optimizer (ZeRO)، هو مكتبة تحسين لتدريب نماذج ضخمة جداً وتجهيزها على وحدة معالجة رسومية (GPU). يتوفر في عدة مراحل ZeRO، حيث توفر كل مرحلة ذاكرة GPU أكثر بشكل تدريجي من خلال تقسيم حالة المُحسِّن (optimizer state) والتدرجات (gradients) والمعلمات (parameters)، وتمكين التفريغ (offloading) إلى وحدة المعالجة المركزية (CPU) أو NVMe. يتم دمج DeepSpeed مع فئة Trainer، ويتم التعامل مع معظم الإعداد تلقائياً من أجلك.

ومع ذلك، إذا كنت ترغب في استخدام DeepSpeed دون Trainer، فإن Transformers يوفر فئة HfDeepSpeedConfig.

تعرّف على المزيد حول استخدام DeepSpeed مع Trainer في دليل DeepSpeed.

HfDeepSpeedConfig

فئة transformers.integrations.HfDeepSpeedConfig

< >

( config_file_or_dict )

المعاملات

  • config_file_or_dict (Union[str, Dict]) — مسار ملف إعدادات DeepSpeed أو قاموس.

تحتوي هذه الكائن على قاموس إعدادات DeepSpeed ويمكن الاستعلام عنه بسرعة عن أشياء مثل مرحلة zero.

يُخزَّن weakref لهذا الكائن في متغيرات الوحدة العامة (globals) حتى يمكن الوصول إلى الإعداد (config) من المناطق التي لا يتوفر فيها كائن Trainer مثلًا (مثل from_pretrained و_get_resized_embeddings). لذلك من المهم أن يبقى هذا الكائن حيًا طالما أن البرنامج لا يزال قيد التشغيل.

يستخدم Trainer الفئة الفرعية HfTrainerDeepSpeedConfig بدلاً من ذلك. تحتوي هذه الفئة الفرعية على منطق لمزامنة الإعدادات مع قيم TrainingArguments عن طريق استبدال قيم العناوين الوهمية الخاصة: "auto". بدون هذا المنطق الخاص، لا يتم تعديل إعدادات DeepSpeed بأي شكل من الأشكال.

Update on GitHub