Accelerate 文件

啟動器

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

啟動器

用於在分散式程序上啟動訓練的函式。

notebook_launcher

accelerate.notebook_launcher

< >

( 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") — 如果是 fp16bf16,將在多裝置上使用混合精度訓練。
  • 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" 將在真正啟動前執行測試,以確保沒有進行任何此類呼叫。

示例

# Assume this is defined in a Jupyter Notebook on an instance with two devices
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

< >

( function args = () num_processes = 2 )

引數

  • function (Callable) — 要執行的訓練函式。
  • args (Tuple) — 傳遞給函式的引數元組(它將接收 `*args`)。
  • num_processes (int, optional, 預設為 2) — 用於訓練的程序數。

為了除錯目的,在 CPU 上使用多個程序啟動訓練函式。

此函式用於內部測試和除錯,不適用於實際訓練。它將只使用 CPU。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.