Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Распределенное обучение

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

Распределенное обучение — это метод машинного обучения, при котором нагрузка по обучению модели распределяется между несколькими процессорами или машинами. Этот подход необходим для обработки крупных наборов данных и сложных архитектур нейронных сетей , обучение которых на одном устройстве заняло бы нереально много времени. Используя совокупную вычислительную мощность нескольких графических процессоров (GPU) или Tensor (TPU) распределенное обучение значительно ускоряет цикл разработки, позволяя исследователям и инженерам быстрее выполнять итерации и достигать более высокой точности своих моделей.

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

Основная идея распределенного обучения заключается в параллелизации. Вместо последовательной обработки данных на одном чипе, задача разделяется на более мелкие части, которые обрабатываются одновременно. Существует две основные стратегии для достижения этого:

Применение в реальном мире

Распределенное обучение преобразовало отрасли, сделав возможным решение задач, которые ранее были невыполнимыми с точки зрения вычислений.

  • Автономное вождение: для разработки безопасных автономных транспортных средств необходимо проанализировать петабайты видео- и сенсорных данных. Инженеры-автомобилестроители используют большие распределенные кластеры для обучения моделей зрения для семантической сегментации и обнаружения полос движения в реальном времени . Такой огромный масштаб гарантирует, что ИИ в автомобильных системах может надежно реагировать на различные дорожные условия.
  • Медицинская визуализация: в секторе здравоохранения анализ высокоразрешающих 3D-сканов, таких как МРТ, требует значительных объемов памяти и вычислительной мощности. Распределенное обучение позволяет исследователям создавать высокопроизводительные диагностические инструменты для обнаружения опухолей и других критически важных задач. Используя такие фреймворки, как NVIDIA , больницы могут обучать модели на разнообразных наборах данных без возникновения узких мест в памяти, улучшая результаты применения ИИ в здравоохранении.

Использование распределенного обучения с Ultralytics

Сайт ultralytics библиотека упрощает реализацию распределенного параллельного обучения данных (DDP). Вы можете масштабировать обучение по последнему слову техники YOLO26 модели на нескольких графических процессорах, просто указав индексы устройств в аргументах обучения.

from ultralytics import YOLO

# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")

# Train the model using two GPUs (device 0 and 1)
# The library automatically handles the DDP communication backend
results = model.train(data="coco8.yaml", epochs=100, device=[0, 1])

Связанные концепции и сравнения

Полезно отличать распределенное обучение от схожих терминов в экосистеме машинного обучения, чтобы понять их конкретные роли:

  • В отличие от федеративного обучения: хотя и то, и другое предполагает использование нескольких устройств, их цели различаются. При распределенном обучении данные обычно централизуются в высокопроизводительном кластере для максимального увеличения скорости. В отличие от этого, федеративное обучение сохраняет децентрализацию данных на пользовательских устройствах (таких как смартфоны) для приоритезации конфиденциальности данных, обновляя глобальную модель без передачи исходных данных из источника.
  • Vs. Высокопроизводительные вычисления (HPC): HPC — это обширная область, которая включает в себя супервычисления для научных симуляций, таких как прогнозирование погоды. Распределенное обучение — это конкретное применение HPC, применяемое к алгоритмам оптимизации в глубоком обучении. Оно часто опирается на специализированные библиотеки коммуникаций, такие как NVIDIA , чтобы минимизировать задержку между графическими процессорами.

Масштабирование с помощью облачных платформ

Управление инфраструктурой для распределенного обучения может быть сложной задачей. Современные платформы упрощают эту задачу, предлагая управляемые среды. Например, Ultralytics позволяет пользователям управлять наборами данных и запускать процессы обучения, которые могут быть развернуты в облачных средах или локальных кластерах. Эта интеграция оптимизирует рабочий процесс от аннотирования данных до окончательного развертывания модели, обеспечивая максимально плавное масштабирование до нескольких графических процессоров. Аналогичным образом, облачные провайдеры, такие как Google Vertex AI и Amazon SageMaker, предоставляют надежную инфраструктуру для выполнения распределенных задач обучения в масштабах предприятия.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас