Accelerate 文档
启动器
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
启动器
用于在分布式进程上启动训练的函数。
notebook_launcher
accelerate.notebook_launcher
< source >( function args = () num_processes = None mixed_precision = 'no' use_port = '29500' master_addr = '127.0.0.1' node_rank = 0 num_nodes = 1 rdzv_backend = 'static' rdzv_endpoint = '' rdzv_conf = None rdzv_id = 'none' max_restarts = 0 monitor_interval = 0.1 log_line_prefix_template = None )
参数
- function (
Callable
) — 要执行的训练函数。如果它接受参数,第一个参数应该是运行进程的索引。 - args (
Tuple
) — 传递给函数的参数元组(它将接收 `*args`)。 - num_processes (
int
, optional) — 用于训练的进程数。如果 TPU 可用,在 Colab/Kaggle 中默认为 8,否则为可用设备数。 - mixed_precision (
str
, optional, 默认为"no"
) — 如果是fp16
或bf16
,将在多设备上使用混合精度训练。 - use_port (
str
, optional, 默认为"29500"
) — 启动多设备训练时,用于进程间通信的端口。 - master_addr (
str
, optional, 默认为"127.0.0.1"
) — 用于进程间通信的地址。 - node_rank (
int
, optional, 默认为 0) — 当前节点的排名。 - num_nodes (
int
, optional, 默认为 1) — 用于训练的节点数。 - rdzv_backend (
str
, optional, 默认为"static"
) — 使用的集合点(rendezvous)方法,例如‘static’(默认值)或‘c10d’ - rdzv_endpoint (
str
, optional, 默认为""
) — rdzv 同步存储的端点。 - rdzv_conf (
Dict
, optional, 默认为None
) — 额外的集合点(rendezvous)配置。 - rdzv_id (
str
, optional, 默认为"none"
) — 作业的唯一运行 ID。 - max_restarts (
int
, optional, 默认为 0) — 弹性代理在失败前对工作节点执行的最大重启次数。 - monitor_interval (
float
, optional, 默认为 0.1) — 弹性代理用作监视工作节点周期的间隔时间(秒)。 - log_line_prefix_template (
str
, optional, 默认为None
) — 弹性启动日志记录的前缀模板。从 PyTorch 2.2.0 开始可用。
在当前环境可能的情况下(例如,具有多个核心的 TPU),使用多个进程或多个节点启动训练函数。
要使用此函数,在调用之前,笔记本会话中绝对不能对设备进行任何调用。如果已经进行了任何调用,您将需要重新启动笔记本,并确保没有任何单元格使用任何设备功能。
在您的环境中设置 ACCELERATE_DEBUG_MODE="1"
将在真正启动前运行测试,以确保没有进行任何此类调用。
debug_launcher
accelerate.debug_launcher
< source >( function args = () num_processes = 2 )
为了调试目的,在 CPU 上使用多个进程启动训练函数。
此函数用于内部测试和调试,不适用于实际训练。它将只使用 CPU。