加速文档

启动器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验

开始

启动器

用于在分布式进程上启动训练的函数。

notebook_launcher

accelerate.notebook_launcher

< >

( 函数 参数 = () 进程数 = None 混合精度 = 'no' 使用端口 = '29500' 主节点地址 = '127.0.0.1' 节点排名 = 0 节点数量 = 1 Rendezvous 后端 = 'static' Rendezvous 端点 = '' Rendezvous 配置 = None Rendezvous ID = 'none' 最大重启次数 = 0 监控间隔 = 0.1 日志行前缀模板 = None )

参数

  • function (Callable) — 要执行的训练函数。如果它接受参数,则第一个参数应该是运行的进程索引。
  • args (Tuple) — 传递给函数的参数元组(它将接收*args)。
  • num_processes (int, 可选) — 用于训练的进程数。如果 TPU 可用,则在 Colab/Kaggle 中默认为 8,否则默认为可用 GPU 的数量。
  • mixed_precision (str, 可选,默认为 "no") — 如果为 fp16bf16,则将在多 GPU 上使用混合精度训练。
  • use_port (str, 可选,默认为 "29500") — 启动多 GPU 训练时,用于进程间通信的端口。
  • master_addr (str, 可选,默认为 "127.0.0.1") — 用于进程间通信的地址。
  • node_rank (int, 可选,默认为 0) — 当前节点的排名。
  • rdzv_backend (str可选,默认为 "static") — 使用的 rendezvous 方法,例如 'static'(默认)或 'c10d'
  • rdzv_endpoint (str可选,默认为 "") — rdzv 同步存储的端点。
  • rdzv_conf (Dict可选,默认为 None) — 额外的 rendezvous 配置。
  • rdzv_id (str可选,默认为 "none") — 作业的唯一运行 ID。
  • max_restarts (int可选,默认为 0) — 在失败之前,弹性代理将在工作进程上执行的最大重启次数。
  • monitor_interval (float可选,默认为 0.1) — 弹性代理用作监视工作进程周期的间隔(以秒为单位)。
  • log_line_prefix_template (str可选,默认为 None) — 弹性启动日志的前缀模板。 可从 PyTorch 2.2.0 开始使用。

在当前环境中(例如,具有多个内核的 TPU)如果可能,使用多个进程或多个节点启动训练函数。

要使用此函数,在调用之前,笔记本会话中绝对不能进行任何对 CUDA 设备的调用。 如果已进行了任何调用,则需要重新启动笔记本并确保没有任何单元格使用任何 CUDA 功能。

在您的环境中设置 ACCELERATE_DEBUG_MODE="1" 将在真正启动之前运行测试,以确保没有进行任何此类调用。

示例

# Assume this is defined in a Jupyter Notebook on an instance with two GPUs
from accelerate import notebook_launcher


def train(*args):
    # Your training function here
    ...


notebook_launcher(train, args=(arg1, arg2), num_processes=2, mixed_precision="fp16")

debug_launcher

accelerate.debug_launcher

< >

( 函数 参数 = () 进程数 = 2 )

参数

  • function (Callable) — 要执行的训练函数。
  • num_processes (int可选,默认为 2) — 用于训练的进程数。

使用 CPU 上的多个进程启动训练函数以进行调试。

此函数用于内部测试和调试,但不适用于实际训练。它只会使用 CPU。

< > 在 GitHub 上更新