Accelerate documentation
Trình xử lý Kwargs
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
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ố.
DistributedDataParallelKwargs
lớp 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> )
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ố.
ProfileKwargs
lớp 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 )
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,repeatvàskip_first. Trình hồ sơ sẽ bỏ quaskip_firstbước đầu tiên, sau đó chờ trongwaitbước, sau đó thực hiện làm nóng trongwarmupbước tiếp theo, sau đó ghi lại hoạt động trongactivebước tiếp theo và sau đó lặp lại chu kỳ bắt đầu vớiwaitbướ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_SAVEtrong 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])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
< source >( 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ố.
InitProcessGroupKwargs
lớp accelerate.InitProcessGroupKwargs
< source >( 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.
KwargsHandler
Mixin nội bộ triển khai phương thức to_kwargs() cho một dataclass.
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.