Accelerate documentation
Запуск
Запуск
Функции для запуска обучения на распределённых процессах.
notebook_launcher
accelerate.notebook_launcher
< source >( 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"в вашем окружении запускает тест перед фактическим запуском, чтобы убедиться, что ни один из этих вызовов не был выполнен.
debug_launcher
accelerate.debug_launcher
< source >( functionargs = ()num_processes = 2 )
Запускает функцию обучения с использованием нескольких процессов на CPU для отладки.
Эта функция предназначена для внутреннего тестирования и отладки, но не для реальных обучений. Она будет использовать только CPU.