Accelerate documentation

ランチャー

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.15.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ランチャー

分散プロセスでトレーニングを開始するための関数。

notebook_launcher

accelerate.notebook_launcher

< >

( functionargs = ()num_processes = Nonemixed_precision = 'no'use_port = '29500'master_addr = '127.0.0.1'node_rank = 0num_nodes = 1rdzv_backend = 'static'rdzv_endpoint = ''rdzv_conf = Nonerdzv_id = 'none'max_restarts = 0monitor_interval = 0.1log_line_prefix_template = None )

パラメータ

  • function (Callable) — 実行する学習関数です。引数を受け取る場合は、最初の引数として実行されるプロセスのインデックスを渡す必要があります。
  • args (Tuple) — 関数に渡す引数のタプル(*argsとして受け取られます)。
  • num_processes (int, 任意) — 学習に使用するプロセス数です。TPU が利用可能な場合、Colab/Kaggle ではデフォルトで 8 になります。それ以外の場合は、利用可能なデバイスの数になります。
  • mixed_precision (str、任意、デフォルトは"no") — fp16またはbf16の場合、マルチデバイスでの混合精度トレーニングを使用します。
  • use_port (str、任意、デフォルトは "29500") — マルチデバイス学習を起動する際に、プロセス間の通信に使用するポートです。
  • master_addr (str、任意、デフォルトは"127.0.0.1") — プロセス間の通信に使用するアドレス。
  • node_rank (int、任意、デフォルトは 0) — 現在のノードのランクです。
  • num_nodes (int, 任意, デフォルトは 1) — 学習に使用するノードの数。
  • rdzv_backend (str、任意、デフォルトは"static") — 使用するレンデブー(合流)メソッドです。例えば、デフォルトの‘static’や‘c10d’などがあります。
  • rdzv_endpoint (str、省略可能、デフォルトは"") — rdzv sync. storage のエンドポイント。
  • rdzv_conf (Dict、任意、デフォルトはNone) — 追加のrendezvous設定。
  • rdzv_id (str、省略可能、デフォルトは"none") — ジョブの一意な実行 ID。
  • max_restarts (int、任意、デフォルトは 0) — elastic agent が失敗する前にワーカーに対して実行する再起動の最大回数。
  • monitor_interval (float、任意、デフォルトは 0.1) — elastic_agent がワーカーを監視する周期として使用する間隔(秒)。
  • log_line_prefix_template (str、省略可能、デフォルトはNone) — Elastic launch のログ用のプレフィックステンプレートです。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

< >

( functionargs = ()num_processes = 2 )

パラメータ

  • function (Callable) — 実行する学習関数。
  • args (Tuple) — 関数に渡す引数のタプル(*argsとして受け取られます)。
  • num_processes (int, 任意、デフォルトは 2) — 学習に使用するプロセスの数。

デバッグ目的で、CPU上で複数のプロセスを使用してトレーニング関数を起動します。

この関数は内部のテストおよびデバッグ用に提供されていますが、実際のトレーニングには使用しないでください。CPUのみを使用します。

Update on GitHub