Accelerate documentation

معالجات معاملات Kwargs

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

and get access to the augmented documentation experience

to get started

معالجات معاملات Kwargs

يمكن تمرير الكائنات التالية إلى Accelerator الرئيسي لتخصيص طريقة إنشاء بعض كائنات PyTorch المتعلقة بالتدريب الموزّع أو الدقة المختلطة.

AutocastKwargs

فئة accelerate.AutocastKwargs

< >

( enabled: bool = Truecache_enabled: bool | None = None )

استخدم هذا الكائن في Accelerator لديك لتخصيص كيفية عمل torch.autocast. يُرجى الرجوع إلى توثيق هذا context manager لمزيد من المعلومات حول كل حجة.

مثال:

from accelerate import Accelerator
from accelerate.utils import AutocastKwargs

kwargs = AutocastKwargs(cache_enabled=True)
accelerator = Accelerator(kwargs_handlers=[kwargs])

DistributedDataParallelKwargs

فئة accelerate.DistributedDataParallelKwargs

< >

( 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. يُرجى الرجوع إلى توثيق هذا الغلاف لمزيد من المعلومات حول كل حجة.

مثال:

from accelerate import Accelerator
from accelerate.utils import DistributedDataParallelKwargs

kwargs = DistributedDataParallelKwargs(find_unused_parameters=True)
accelerator = Accelerator(kwargs_handlers=[kwargs])

ProfileKwargs

class accelerate.ProfileKwargs

< >

( 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])

بناء

< >

( ) → torch.profiler.profile

يعيد

torch.profiler.profile

كائن المُحلِّل.

أنشئ كائن مُحلِّل (profiler) بالتكوين الحالي.

GradScalerKwargs

فئة accelerate.GradScalerKwargs

< >

( 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 لمزيد من المعلومات حول كل حجة.

مثال:

from accelerate import Accelerator
from accelerate.utils import GradScalerKwargs

kwargs = GradScalerKwargs(backoff_factor=0.25)
accelerator = Accelerator(kwargs_handlers=[kwargs])

InitProcessGroupKwargs

فئة accelerate.InitProcessGroupKwargs

< >

( backend: str | None = 'nccl'init_method: str | None = Nonetimeout: datetime.timedelta | None = None )

استخدم هذا الكائن في Accelerator لديك لتخصيص تهيئة العمليات الموزعة. يرجى الرجوع إلى توثيق هذه method لمزيد من المعلومات حول كل حجة.

ملاحظة: إذا تم تعيين timeout إلى None، فسيكون الافتراضي معتمدًا على كيفية تعيين backend.

from datetime import timedelta
from accelerate import Accelerator
from accelerate.utils import InitProcessGroupKwargs

kwargs = InitProcessGroupKwargs(timeout=timedelta(seconds=800))
accelerator = Accelerator(kwargs_handlers=[kwargs])

KwargsHandler

فئة accelerate.utils.KwargsHandler

< >

( )

مزيج داخلي (Internal mixin) يطبّق طريقة to_kwargs() لفئة البيانات (dataclass).

to_kwargs

< >

( )

يعيد قاموسًا يحتوي على السمات التي تختلف قيمها عن الافتراضي لهذه الفئة.

Update on GitHub