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") — 사용할 rendezvous 방법입니다. 예를 들어 ‘static’(기본값) 또는 ‘c10d’
  • rdzv_endpoint (str, 선택 사항, 기본값 "") — rdzv 동기화 저장소의 엔드포인트입니다.
  • 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