快速入門#
建立時間: 2021年05月04日 | 最後更新時間: 2023年02月09日
要啟動一個容錯任務,請在所有節點上執行以下命令。
torchrun
--nnodes=NUM_NODES
--nproc-per-node=TRAINERS_PER_NODE
--max-restarts=NUM_ALLOWED_FAILURES
--rdzv-id=JOB_ID
--rdzv-backend=c10d
--rdzv-endpoint=HOST_NODE_ADDR
YOUR_TRAINING_SCRIPT.py (--arg1 ... train script args...)
要啟動一個彈性任務,請在至少 MIN_SIZE 個節點,最多 MAX_SIZE 個節點上執行以下命令。
torchrun
--nnodes=MIN_SIZE:MAX_SIZE
--nproc-per-node=TRAINERS_PER_NODE
--max-restarts=NUM_ALLOWED_FAILURES_OR_MEMBERSHIP_CHANGES
--rdzv-id=JOB_ID
--rdzv-backend=c10d
--rdzv-endpoint=HOST_NODE_ADDR
YOUR_TRAINING_SCRIPT.py (--arg1 ... train script args...)
注意
TorchElastic 將故障視為成員資格變化。當一個節點失敗時,這被視為一次“縮減”事件。當失敗的節點被排程器替換時,這是一次“擴容”事件。因此,對於容錯任務和彈性任務,--max-restarts 用於控制在放棄之前允許的總重啟次數,而無論重啟是由於故障還是縮放事件引起的。
HOST_NODE_ADDR,格式為 <host>[:<port>] (例如 node1.example.com:29400),指定 C10d 協調後端應該例項化和託管的節點和埠。它可以是訓練叢集中的任何節點,但最好選擇一個具有高頻寬的節點。
注意
如果未指定埠號,HOST_NODE_ADDR 預設為 29400。
注意
可以傳遞 --standalone 選項來啟動一個帶有 sidecar 協調後端的單節點任務。當使用 --standalone 選項時,您不必傳遞 --rdzv-id、--rdzv-endpoint 和 --rdzv-backend。
注意
如果 torchrun 不能滿足您的需求,您可以使用我們的 API 直接進行更強大的自定義。首先檢視彈性代理 API。