Accelerate documentation

Trình xử lý 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

Trình xử lý Kwargs

Các đối tượng sau có thể được truyền vào Accelerator chính để tùy chỉnh cách tạo một số đối tượng PyTorch liên quan đến huấn luyện phân tán hoặc độ chính xác hỗn hợp.

AutocastKwargs

lớp accelerate.AutocastKwargs

< >

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

Sử dụng đối tượng này trong Accelerator của bạn để tùy chỉnh cách torch.autocast hoạt động. Vui lòng tham khảo tài liệu của context manager này để biết thêm thông tin về từng tham số.

Ví dụ:

from accelerate import Accelerator
from accelerate.utils import AutocastKwargs

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

DistributedDataParallelKwargs

lớp 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> )

Sử dụng đối tượng này trong Accelerator của bạn để tùy chỉnh cách mô hình của bạn được bọc trong torch.nn.parallel.DistributedDataParallel. Vui lòng tham khảo tài liệu của wrapper này để biết thêm thông tin về từng đối số.

Ví dụ:

from accelerate import Accelerator
from accelerate.utils import DistributedDataParallelKwargs

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

ProfileKwargs

lớp 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 )

Tham số

  • activities (List[str], tùy chọn, mặc định là None) — Danh sách các nhóm hoạt động để sử dụng trong profiling. Phải là một trong "cpu", "xpu", "mtia", “hpu” hoặc "cuda".
  • schedule_option (Dict[str, int], tuỳ chọn, mặc định là None) — Tùy chọn lịch trình để sử dụng cho trình hồ sơ. Các khóa khả dụng là wait, warmup, active, repeat và skip_first. Trình hồ sơ sẽ bỏ qua skip_first bước đầu tiên, sau đó chờ trong wait bước, sau đó thực hiện làm nóng trong warmup bước tiếp theo, sau đó ghi lại hoạt động trong active bước tiếp theo và sau đó lặp lại chu kỳ bắt đầu với wait bước. Số chu kỳ tùy chọn được chỉ định bằng tham số repeat, giá trị bằng không có nghĩa là các chu kỳ sẽ tiếp tục cho đến khi việc tạo hồ sơ hoàn tất.
  • on_trace_ready (Callable, tùy chọn, mặc định là None) — Callable được gọi ở mỗi bước khi schedule trả về ProfilerAction.RECORD_AND_SAVE trong quá trình profiling.
  • record_shapes (bool, tùy chọn, mặc định là False) — Lưu thông tin về hình dạng đầu vào của toán tử.
  • profile_memory (bool, tùy chọn, mặc định là False) — Theo dõi việc cấp phát/giải phóng bộ nhớ tensor
  • with_stack (bool, tùy chọn, mặc định là False) — Ghi lại thông tin nguồn (tên tệp và số dòng) cho các op.
  • with_flops (bool, tuỳ chọn, mặc định là False) — Sử dụng công thức để ước tính FLOPS của các toán tử cụ thể
  • with_modules (bool, tùy chọn, mặc định là False) — Ghi lại hệ thống phân cấp module (bao gồm tên hàm) tương ứng với callstack của op.
  • output_trace_dir (str, tùy chọn, mặc định là None) — Xuất trace đã thu thập ở định dạng JSON của Chrome. Chrome sử dụng ‘chrome://tracing’ để xem tệp json. Mặc định là None, có nghĩa là profiling không lưu các tệp json.

Sử dụng đối tượng này trong Accelerator của bạn để tùy chỉnh việc khởi tạo trình phân tích hiệu năng. Vui lòng tham khảo tài liệu của context manager này để biết thêm thông tin về từng đối số.

Ví dụ:

from accelerate import Accelerator
from accelerate.utils import ProfileKwargs

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

build

< >

( ) → torch.profiler.profile

Trả về

torch.profiler.profile

Đối tượng profiler.

Xây dựng một đối tượng profiler với cấu hình hiện tại.

GradScalerKwargs

lớp accelerate.GradScalerKwargs

< >

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

Sử dụng đối tượng này trong Accelerator của bạn để tùy chỉnh hành vi của độ chính xác hỗn hợp, cụ thể là cách tạo ra torch.amp.GradScaler hoặc torch.cuda.amp.GradScaler được sử dụng. Vui lòng tham khảo tài liệu của scaler này để biết thêm thông tin về từng đối số.

Ví dụ:

from accelerate import Accelerator
from accelerate.utils import GradScalerKwargs

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

InitProcessGroupKwargs

lớp accelerate.InitProcessGroupKwargs

< >

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

Sử dụng đối tượng này trong Accelerator của bạn để tùy chỉnh việc khởi tạo các tiến trình phân tán. Vui lòng tham khảo tài liệu của phương thức này để biết thêm thông tin về từng đối số.

Lưu ý: Nếu timeout được đặt thành None, giá trị mặc định sẽ dựa trên cách backend được cấu hình.

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

lớp accelerate.utils.KwargsHandler

< >

( )

Mixin nội bộ triển khai phương thức to_kwargs() cho một dataclass.

to_kwargs

< >

( )

Trả về một từ điển chứa các thuộc tính có giá trị khác với giá trị mặc định của lớp này.

Update on GitHub