Accelerate documentation
معالجات معاملات Kwargs
معالجات معاملات Kwargs
يمكن تمرير الكائنات التالية إلى Accelerator الرئيسي لتخصيص طريقة إنشاء بعض كائنات PyTorch المتعلقة بالتدريب الموزّع أو الدقة المختلطة.
AutocastKwargs
استخدم هذا الكائن في Accelerator لديك لتخصيص كيفية عمل torch.autocast. يُرجى الرجوع إلى
توثيق هذا context manager لمزيد من
المعلومات حول كل حجة.
DistributedDataParallelKwargs
فئة accelerate.DistributedDataParallelKwargs
< source >( dim: int = 0broadcast_buffers: bool = Truebucket_cap_mb: int = 25find_unused_parameters: bool = Falsecheck_reduction: bool = Falsegradient_as_bucket_view: bool = Falsestatic_graph: bool = Falsecomm_hook: DDPCommunicationHookType = <DDPCommunicationHookType.NO: 'no'>comm_wrapper: typing.Literal[<DDPCommunicationHookType.NO: 'no'>, <DDPCommunicationHookType.FP16: 'fp16'>, <DDPCommunicationHookType.BF16: 'bf16'>] = <DDPCommunicationHookType.NO: 'no'>comm_state_option: dict = <factory> )
استخدم هذا الكائن في Accelerator لديك لتخصيص كيفية تغليف نموذجك في torch.nn.parallel.DistributedDataParallel. يُرجى الرجوع إلى توثيق هذا الغلاف لمزيد من المعلومات حول كل حجة.
ProfileKwargs
class accelerate.ProfileKwargs
< source >( activities: list[typing.Literal['cpu', 'xpu', 'mtia', 'cuda', 'hpu']] | None = Noneschedule_option: dict[str, int] | None = Noneon_trace_ready: typing.Callable | None = Nonerecord_shapes: bool = Falseprofile_memory: bool = Falsewith_stack: bool = Falsewith_flops: bool = Falsewith_modules: bool = Falseoutput_trace_dir: str | None = None )
المعاملات
- activities (
List[str]، اختياري، الافتراضيNone) — قائمة مجموعات النشاطات المستخدمة في التحليل. يجب أن تكون واحدة من"cpu"،"xpu"،"mtia"، “hpu” أو"cuda". - schedule_option (
Dict[str, int]، اختياري، القيمة الافتراضيةNone) — خيار الجدولة المستخدم لمحلل الأداء. المفاتيح المتاحة هيwaitوwarmupوactiveوrepeatوskip_first. سيتخطى محلل الأداء أولskip_firstخطوات، ثم ينتظر لمدةwaitخطوات، ثم يقوم بعملية الإحماء للخطوات التاليةwarmup، ثم يقوم بالتسجيل النشط للخطوات التاليةactive، ثم يعيد الدورة بدءًا من خطواتwait. يتم تحديد عدد الدورات الاختياري بواسطة معاملrepeat، حيث يعني القيمة صفرًا أن الدورات ستستمر حتى انتهاء التحليل. - on_trace_ready (
Callable، اختياري، الافتراضيNone) — دالة قابلة للاستدعاء تُستدعى في كل خطوة عندما يعيد الجدولProfilerAction.RECORD_AND_SAVEأثناء التحليل. - record_shapes (
bool، اختياري، الافتراضيFalse) — حفظ معلومات حول أشكال مدخلات المشغّل. - profile_memory (
bool، اختياري، الافتراضيFalse) — تتبع تخصيص/إلغاء تخصيص ذاكرة المصفوفات - with_stack (
bool، اختياري، الافتراضيFalse) — تسجيل معلومات المصدر (الملف ورقم السطر) للعمليات. - with_flops (
bool، اختياري، الافتراضيFalse) — استخدام معادلة لتقدير FLOPS للمشغّلات المحددة - with_modules (
bool، اختياري، الافتراضيFalse) — تسجيل تسلسل وحدات (بما في ذلك أسماء الدوال) المقابلة لـ callstack الخاص بالعملية. - output_trace_dir (
str, اختياري، الافتراضيNone) — يصدّر التتبع المجمّع بصيغة Chrome JSON. يستخدم Chrome عرض ‘chrome://tracing’ لعرض ملف json. الافتراضي هو None، مما يعني أن التحليل لا يخزّن ملفات json.
استخدم هذا الكائن في Accelerator لديك لتخصيص تهيئة أداة التحليل. يُرجى الرجوع إلى توثيق هذا context manager للحصول على مزيد من المعلومات حول كل حجة.
مثال:
from accelerate import Accelerator
from accelerate.utils import ProfileKwargs
kwargs = ProfileKwargs(activities=["cpu", "cuda"])
accelerator = Accelerator(kwargs_handlers=[kwargs])أنشئ كائن مُحلِّل (profiler) بالتكوين الحالي.
GradScalerKwargs
فئة accelerate.GradScalerKwargs
< source >( init_scale: float = 65536.0growth_factor: float = 2.0backoff_factor: float = 0.5growth_interval: int = 2000enabled: bool = True )
استخدم هذا الكائن في Accelerator الخاص بك لتخصيص سلوك الدقة المختلطة، وتحديداً كيفية إنشاء torch.amp.GradScaler أو torch.cuda.amp.GradScaler المستخدم. يُرجى الرجوع إلى توثيق هذا scaler لمزيد من المعلومات حول كل حجة.
InitProcessGroupKwargs
فئة accelerate.InitProcessGroupKwargs
< source >( backend: str | None = 'nccl'init_method: str | None = Nonetimeout: datetime.timedelta | None = None )
استخدم هذا الكائن في Accelerator لديك لتخصيص تهيئة العمليات الموزعة. يرجى الرجوع إلى توثيق هذه method لمزيد من المعلومات حول كل حجة.
ملاحظة: إذا تم تعيين timeout إلى None، فسيكون الافتراضي معتمدًا على كيفية تعيين backend.
KwargsHandler
مزيج داخلي (Internal mixin) يطبّق طريقة to_kwargs() لفئة البيانات (dataclass).
يعيد قاموسًا يحتوي على السمات التي تختلف قيمها عن الافتراضي لهذه الفئة.