Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Distributed Training

Распределённое обучение распределяет обучение модели между несколькими GPU или машинами с помощью параллелизма по данным, шардам, тензорам или конвейеру. Рассматриваются DDP, FSDP и масштабирование.

Распределенное обучение распределяет работу по обучению одной модели между несколькими процессорами — обычно GPU или TPU на одной машине либо в облаке или локальном кластере. Это позволяет быстрее завершить обучение или вообще обучить модель, которая не помещается в память одного устройства. Устройства обмениваются градиентами, активациями или фрагментами параметров через высокоскоростные соединения с помощью библиотек для обмена данными, таких как NVIDIA NCCL. Так обучают современные фундаментальные модели и большие языковые модели; распределенное обучение также ускоряет обычное обучение моделей обнаружения объектов на рабочих станциях с несколькими GPU.

Как работает распределённое обучение#

Параллелизм по данным — наиболее распространенная стратегия. Каждый GPU хранит полную копию модели, обрабатывает свою часть каждого пакета обучающих данных и участвует в операции all-reduce, которая усредняет градиенты, чтобы каждая копия применяла одинаковое обновление методом градиентного спуска. DistributedDataParallel (DDP) в PyTorch выполняет этот обмен параллельно с обратным проходом. Общий размер пакета равен размеру пакета на один GPU, умноженному на количество GPU, поэтому скорость обучения обычно нужно масштабировать соответствующим образом: Goyal и соавторы обучили ResNet-50 на ImageNet за один час на 256 GPU с пакетом из 8,192 изображений, используя линейное масштабирование и фазу разогрева. Эффективность масштабирования с 8 до 256 GPU составила около 90%.

Параллелизм по данным с разделением на фрагменты снижает затраты памяти на копии модели. ZeRO и Fully Sharded Data Parallel (FSDP) в PyTorch распределяют параметры, градиенты и состояния оптимизатора между GPU и собирают полные веса каждого слоя только на время его вычисления. Поэтому при добавлении GPU необходимый объем памяти на каждом GPU уменьшается.

Параллелизм по модели разделяет саму нейронную сеть. Тензорный параллелизм распределяет отдельные матричные умножения между GPU, конвейерный параллелизм назначает последовательные слои разным GPU и передает между ними микропакеты, контекстный параллелизм разделяет длинные последовательности, а параллелизм экспертов размещает экспертов модели смеси экспертов на разных GPU. Такие платформы, как Megatron-LM, сочетают эти методы с параллелизмом по данным, чтобы обучать модели с сотнями миллиардов параметров.

Практика обучения на нескольких GPU#

Основные накладные расходы связаны с коммуникацией: трафик all-reduce растёт вместе с размером модели, поэтому GPU, соединённые NVLink внутри одного узла, масштабируются лучше, чем узлы, связанные более медленными сетями. Статистики пакетной нормализации рассчитываются отдельно для каждого GPU, если слои не преобразованы в синхронизированную пакетную нормализацию; это важно, когда доля пакета на каждом GPU мала. Ultralytics YOLO26 поддерживает обучение на нескольких GPU через DDP: передача нескольких ID устройств запускает по одному процессу на GPU с помощью torch.distributed.run, использует бэкенд NCCL в CUDA и равномерно распределяет между GPU значение batch.

from ultralytics import YOLO

# Загрузи предварительно обученную модель YOLO26
model = YOLO("yolo26n.pt")

# Обучай на GPU 0 и 1 с DDP; при batch=32 каждый GPU обрабатывает по 16 изображений на шаг
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=32, device=[0, 1])

Примеры применения в реальных условиях#

  • Большие языковые модели: Meta обучила Llama 3 405B на 16K GPU H100, объединив тензорный, конвейерный, контекстный параллелизм и параллелизм по данным в то, что авторы называют 4D-параллелизмом.
  • Автономные транспортные средства: команды, занимающиеся восприятием, обучают модели обнаружения и сегментации на обширных архивах записей с камер, лидаров и радаров автопарков. Для этого нужны крупные кластеры GPU.
  • Анализ медицинских изображений: трехмерные снимки КТ и МРТ высокого разрешения перегружают память одного GPU. Распределение пакетов или фрагментов модели между GPU позволяет обучать модели на более объемных снимках.
  • Федеративное обучение: федеративное обучение тоже выполняется на множестве устройств, но ради конфиденциальности данные остаются на телефонах, в больницах или у других клиентов, а на центральный сервер передаются только обновления модели. При распределенном обучении данные собираются в одном кластере, чтобы максимизировать скорость.
  • Разделенное обучение: разделенное обучение делит модель между клиентом и сервером, чтобы исходные данные не покидали клиента; за конфиденциальность приходится платить дополнительным обменом данными.
  • Накопление градиентов: накопление градиентов суммирует градиенты нескольких небольших пакетов перед одним обновлением. Так на одном GPU можно получить те же вычисления, что и для большого пакета, но это занимает больше времени. При параллелизме по данным эти пакеты обрабатываются одновременно на нескольких GPU.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения