Explore como o treinamento distribuído dimensiona as cargas de trabalho de IA em várias GPUs. Aprenda a acelerar o treinamento Ultralytics com DDP para obter resultados mais rápidos e precisos.
O treinamento distribuído é um método de aprendizado de máquina em que a carga de trabalho do treinamento de um modelo é dividida entre vários processadores ou máquinas. Essa abordagem é essencial para lidar com conjuntos de dados em grande escala e arquiteturas de redes neurais complexas que, de outra forma, levariam um tempo impraticável para serem treinadas em um único dispositivo. Ao aproveitar o poder computacional combinado de várias unidades de processamento gráfico (GPUs) ou Unidades Tensor (TPUs), o treinamento distribuído acelera significativamente o ciclo de desenvolvimento, permitindo que pesquisadores e engenheiros iterem mais rapidamente e alcancem maior precisão em seus modelos.
A ideia central por trás do treinamento distribuído é a paralelização. Em vez de processar os dados sequencialmente em um chip, a tarefa é dividida em partes menores que são processadas simultaneamente. Existem duas estratégias principais para alcançar isso:
O treino distribuído transformou as indústrias, tornando possível resolver problemas que antes eram computacionalmente inviáveis.
O ultralytics A biblioteca facilita a implementação do treinamento Distributed Data Parallel (DDP).
Você pode dimensionar o seu treinamento de última geração
YOLO26 modelos em várias GPUs, bastando especificar os
índices dos dispositivos nos seus argumentos de treino.
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])
É útil distinguir o treino distribuído de termos semelhantes no ecossistema de aprendizagem automática para compreender as suas funções específicas:
Gerenciar a infraestrutura para treinamento distribuído pode ser complexo. As plataformas modernas simplificam isso, oferecendo ambientes gerenciados. Por exemplo, a Ultralytics permite que os utilizadores gerenciem conjuntos de dados e iniciem execuções de treinamento que podem ser implementadas em ambientes de nuvem ou clusters locais. Essa integração otimiza o fluxo de trabalho, desde a anotação de dados até a implementação final do modelo, garantindo que a expansão para várias GPUs seja o mais integrada possível. Da mesma forma, provedores de nuvem como Google Vertex AI e Amazon SageMaker fornecem infraestrutura robusta para executar trabalhos de treinamento distribuídos em escala empresarial.