Accelerate documentation

Handler 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

Handler Kwargs

Objek-objek berikut dapat diteruskan ke Accelerator utama untuk menyesuaikan cara beberapa objek PyTorch yang terkait dengan pelatihan terdistribusi atau presisi campuran dibuat.

AutocastKwargs

kelas accelerate.AutocastKwargs

< >

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

Gunakan objek ini di Accelerator Anda untuk menyesuaikan perilaku torch.autocast. Silakan merujuk ke dokumentasi context manager ini untuk informasi lebih lanjut tentang setiap argumen.

Contoh:

from accelerate import Accelerator
from accelerate.utils import AutocastKwargs

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

DistributedDataParallelKwargs

kelas 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> )

Gunakan objek ini di Accelerator Anda untuk menyesuaikan cara model Anda dibungkus dalam torch.nn.parallel.DistributedDataParallel. Silakan merujuk ke dokumentasi wrapper ini untuk informasi lebih lanjut tentang setiap argumen.

Contoh:

from accelerate import Accelerator
from accelerate.utils import DistributedDataParallelKwargs

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

ProfileKwargs

kelas 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 )

Parameter

  • activities (List[str], opsional, default ke None) — Daftar grup aktivitas yang akan digunakan dalam profiling. Harus salah satu dari "cpu", "xpu", "mtia", “hpu” atau "cuda".
  • schedule_option (Dict[str, int], opsional, default ke None) — Opsi jadwal yang digunakan untuk profiler. Kunci yang tersedia adalah wait, warmup, active, repeat dan skip_first. Profiler akan melewati skip_first langkah pertama, kemudian menunggu selama wait langkah, kemudian melakukan warmup untuk warmup langkah berikutnya, kemudian melakukan perekaman aktif untuk active langkah berikutnya dan kemudian mengulang siklus dimulai dengan wait langkah. Jumlah siklus opsional ditentukan dengan parameter repeat, nilai nol berarti siklus akan terus berlanjut sampai profiling selesai.
  • on_trace_ready (Callable, opsional, default None) — Callable yang dipanggil pada setiap langkah ketika schedule mengembalikan ProfilerAction.RECORD_AND_SAVE selama profiling.
  • record_shapes (bool, opsional, default False) — Simpan informasi tentang bentuk input operator.
  • profile_memory (bool, opsional, default False) — Lacak alokasi/dealokasi memori tensor
  • with_stack (bool, opsional, default False) — Merekam informasi sumber (file dan nomor baris) untuk ops.
  • with_flops (bool, opsional, default False) — Gunakan rumus untuk memperkirakan FLOPS dari operator tertentu
  • with_modules (bool, opsional, default False) — Catat hierarki modul (termasuk nama fungsi) yang sesuai dengan callstack dari op.
  • output_trace_dir (str, opsional, default None) — Mengekspor trace yang dikumpulkan dalam format JSON Chrome. Chrome menggunakan tampilan ‘chrome://tracing’ untuk file json. Defaultnya None, yang berarti profiling tidak menyimpan file json.

Gunakan objek ini di Accelerator Anda untuk menyesuaikan inisialisasi profiler. Silakan merujuk ke dokumentasi context manager ini untuk informasi lebih lanjut tentang setiap argumen.

Contoh:

from accelerate import Accelerator
from accelerate.utils import ProfileKwargs

kwargs = ProfileKwargs(activities=["cpu", "cuda"])
accelerator = Accelerator(kwargs_handlers=[kwargs])

build

< >

( ) → torch.profiler.profile

Mengembalikan

torch.profiler.profile

Objek profiler.

Bangun objek profiler dengan konfigurasi saat ini.

GradScalerKwargs

kelas accelerate.GradScalerKwargs

< >

( init_scale: float = 65536.0growth_factor: float = 2.0backoff_factor: float = 0.5growth_interval: int = 2000enabled: bool = True )

Gunakan objek ini di Accelerator Anda untuk menyesuaikan perilaku presisi campuran, khususnya bagaimana torch.amp.GradScaler atau torch.cuda.amp.GradScaler yang digunakan dibuat. Silakan merujuk ke dokumentasi scaler ini untuk informasi lebih lanjut tentang setiap argumen.

Contoh:

from accelerate import Accelerator
from accelerate.utils import GradScalerKwargs

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

InitProcessGroupKwargs

kelas accelerate.InitProcessGroupKwargs

< >

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

Gunakan objek ini di Accelerator Anda untuk menyesuaikan inisialisasi proses terdistribusi. Silakan merujuk ke dokumentasi metode ini untuk informasi lebih lanjut tentang setiap argumen.

Catatan: Jika timeout diatur ke None, nilai default akan didasarkan pada pengaturan 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

kelas accelerate.utils.KwargsHandler

< >

( )

Mixin internal yang mengimplementasikan metode to_kwargs() untuk dataclass.

to_kwargs

< >

( )

Mengembalikan kamus yang berisi atribut dengan nilai yang berbeda dari nilai bawaan kelas ini.

Update on GitHub