Accelerate documentation

Peluncur

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

Peluncur

Fungsi untuk meluncurkan pelatihan pada proses terdistribusi.

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 )

Parameter

  • function (Callable) β€” Fungsi pelatihan yang akan dieksekusi. Jika fungsi ini menerima argumen, argumen pertama harus berupa indeks dari proses yang dijalankan.
  • args (Tuple) β€” Tuple berisi argumen yang akan diteruskan ke fungsi (fungsi akan menerima *args).
  • num_processes (int, opsional) β€” Jumlah proses yang digunakan untuk pelatihan. Akan secara default menjadi 8 di Colab/Kaggle jika TPU tersedia, atau menjadi jumlah perangkat yang tersedia jika tidak.
  • mixed_precision (str, opsional, default "no") β€” Jika fp16 atau bf16, akan menggunakan pelatihan presisi campuran pada multi-perangkat.
  • use_port (str, opsional, defaultnya "29500") β€” Port yang digunakan untuk berkomunikasi antar proses saat meluncurkan pelatihan multi-perangkat.
  • master_addr (str, opsional, defaultnya "127.0.0.1") β€” Alamat yang digunakan untuk komunikasi antar proses.
  • node_rank (int, opsional, default 0) β€” Rank dari node saat ini.
  • num_nodes (int, opsional, default 1) β€” Jumlah node yang digunakan untuk pelatihan.
  • rdzv_backend (str, opsional, defaultnya "static") β€” Metode rendezvous yang akan digunakan, seperti β€˜static’ (default) atau β€˜c10d’
  • rdzv_endpoint (str, opsional, defaultnya "") β€” Endpoint dari storage sinkronisasi rdzv.
  • rdzv_conf (Dict, opsional, default None) β€” Konfigurasi rendezvous tambahan.
  • rdzv_id (str, opsional, defaultnya "none") β€” ID unik dari eksekusi tugas.
  • max_restarts (int, opsional, default 0) β€” Jumlah maksimum restart yang akan dilakukan agen elastis pada worker sebelum kegagalan.
  • monitor_interval (float, opsional, default 0.1) β€” Interval dalam detik yang digunakan oleh elastic_agent sebagai periode pemantauan worker.
  • log_line_prefix_template (str, opsional, default None) β€” Template prefiks untuk log peluncuran elastis. Tersedia mulai dari PyTorch 2.2.0.

Meluncurkan fungsi pelatihan, menggunakan beberapa proses atau beberapa node jika memungkinkan di lingkungan saat ini (misalnya TPU dengan beberapa core).

Untuk menggunakan fungsi ini, tidak boleh ada satu pun panggilan ke perangkat yang dilakukan dalam sesi notebook sebelum pemanggilan. Jika ada yang telah dilakukan, Anda perlu memulai ulang notebook dan memastikan tidak ada sel yang menggunakan kemampuan perangkat apa pun.

Menetapkan ACCELERATE_DEBUG_MODE="1" di lingkungan Anda akan menjalankan pengujian sebelum peluncuran sebenarnya untuk memastikan bahwa tidak ada panggilan tersebut yang telah dilakukan.

Contoh:

# 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 )

Parameter

  • function (Callable) β€” Fungsi pelatihan yang akan dieksekusi.
  • args (Tuple) β€” Tuple berisi argumen yang akan diteruskan ke fungsi (fungsi akan menerima *args).
  • num_processes (int, opsional, default 2) β€” Jumlah proses yang digunakan untuk pelatihan.

Meluncurkan fungsi pelatihan menggunakan beberapa proses pada CPU untuk keperluan debugging.

Fungsi ini disediakan untuk pengujian dan debugging internal, tetapi tidak ditujukan untuk pelatihan nyata. Fungsi ini hanya akan menggunakan CPU.

Update on GitHub