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, необязательный) — Количество процессов, используемых для обучения. По умолчанию равно 8 в Colab/Kaggle, если доступен TPU, иначе — количеству доступных устройств.
  • 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") — Уникальный идентификатор запуска задания.
  • max_restarts (int, необязательный, по умолчанию 0) — Максимальное количество перезапусков, которые эластичный агент выполнит на рабочих узлах перед сбоем.
  • monitor_interval (float, необязательный, по умолчанию 0.1) — Интервал в секундах, который используется elastic_agent в качестве периода мониторинга рабочих процессов.
  • log_line_prefix_template (str, необязательный, по умолчанию None) — Шаблон префикса для логов запуска elastic. Доступен начиная с 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