Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Distributed Training

O treinamento distribuído divide o treinamento de modelos entre várias GPUs ou máquinas usando paralelismo de dados, em shards, de tensores ou de pipeline. Abrange DDP, FSDP e escalabilidade.

O treino distribuído reparte o trabalho de treinar um modelo por vários processadores, normalmente GPUs ou TPUs numa máquina, ou num cluster na nuvem ou local, para concluir o treino mais depressa ou permitir treinar um modelo cuja dimensão excede a memória de um único dispositivo. Os dispositivos trocam gradientes, ativações ou fragmentos de parâmetros através de interligações rápidas, usando bibliotecas de comunicação como NVIDIA NCCL. É assim que se treinam os modernos modelos de base e grandes modelos de linguagem, e também permite acelerar o treino quotidiano de deteção de objetos em estações de trabalho com várias GPUs.

Como funciona o treino distribuído#

O paralelismo de dados é a estratégia mais comum. Cada GPU mantém uma réplica completa do modelo, processa a sua própria parte de cada lote de dados de treino e participa numa operação all-reduce que calcula a média dos gradientes, para que cada réplica aplique a mesma atualização de descida do gradiente. O DistributedDataParallel (DDP) do PyTorch sobrepõe essa comunicação à passagem para trás. O tamanho global do lote corresponde ao lote por GPU multiplicado pelo número de GPUs, pelo que normalmente é necessário escalar a taxa de aprendizagem de acordo com esse valor: Goyal et al. treinaram o ResNet-50 com ImageNet em uma hora, usando 256 GPUs e um lote de 8,192 imagens, com uma regra de escalonamento linear e uma fase de aquecimento, alcançando cerca de 90% de eficiência de escalonamento entre 8 e 256 GPUs.

O paralelismo de dados com fragmentação reduz o custo de memória dessas réplicas. O ZeRO e o Fully Sharded Data Parallel (FSDP) do PyTorch dividem os parâmetros, os gradientes e os estados do otimizador entre GPUs e reúnem os pesos completos de cada camada apenas durante o respetivo cálculo, reduzindo a memória necessária por GPU à medida que se acrescentam GPUs.

O paralelismo de modelos divide a própria rede neural. O paralelismo de tensores divide multiplicações de matrizes individuais entre GPUs; o paralelismo de pipeline atribui camadas consecutivas a GPUs diferentes e encaminha micro-lotes por elas; o paralelismo de contexto divide sequências longas; e o paralelismo de especialistas coloca os especialistas de um modelo de mistura de especialistas em GPUs diferentes. Estruturas de trabalho como o Megatron-LM combinam estas técnicas com o paralelismo de dados para treinar modelos com centenas de milhares de milhões de parâmetros.

Treino com várias GPUs na prática#

A comunicação é o principal custo adicional: o tráfego all-reduce aumenta com o tamanho do modelo, por isso GPUs conectadas por NVLink dentro de um nó escalam melhor do que nós conectados por redes mais lentas. As estatísticas de normalização em lote são calculadas por GPU, a menos que as camadas sejam convertidas para normalização em lote sincronizada, o que importa quando a parte do lote de cada GPU é pequena. O Ultralytics YOLO26 executa o treinamento com várias GPUs por meio de DDP: passar vários IDs de dispositivos inicia um processo por GPU com torch.distributed.run, usando o backend NCCL no CUDA, e divide igualmente entre as GPUs o valor de batch.

from ultralytics import YOLO

# Carrega um modelo YOLO26 pré-treinado
model = YOLO("yolo26n.pt")

# Treina nas GPUs 0 e 1 com DDP; batch=32 dá 16 imagens por passo a cada GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=32, device=[0, 1])

Aplicações no mundo real#

  • Grandes modelos de linguagem: A Meta treinou o Llama 3 405B com até 16K GPUs H100, combinando paralelismo de tensores, pipeline, contexto e dados no que os autores chamam de paralelismo 4D.
  • Veículos autónomos: As equipas de perceção treinam modelos de deteção e segmentação com grandes arquivos de gravações de câmaras, lidar e radar de frotas de veículos, algo que só é viável em grandes clusters de GPUs.
  • Análise de imagens médicas: Os volumes de TC e RM 3D de alta resolução exigem demasiada memória para uma única GPU, e distribuir os lotes ou os fragmentos do modelo por várias GPUs permite treinar volumes e modelos maiores.
  • Aprendizagem federada: A aprendizagem federada também treina em vários dispositivos, mas os dados permanecem nos telemóveis, hospitais ou outros clientes por motivos de privacidade, e apenas as atualizações do modelo são enviadas para um servidor central. O treino distribuído reúne os dados num único cluster para maximizar a velocidade.
  • Aprendizagem dividida: A aprendizagem dividida separa um modelo entre um cliente e um servidor para que os dados em bruto nunca saiam do cliente, trocando privacidade por comunicação adicional.
  • Acumulação de gradientes: A acumulação de gradientes soma os gradientes de vários lotes pequenos antes de uma atualização, reproduzindo a matemática de um lote grande numa única GPU, à custa de tempo; o paralelismo de dados, por sua vez, calcula esses lotes simultaneamente em várias GPUs.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina