Scopri come la formazione distribuita scala i carichi di lavoro dell'IA su più GPU. Impara ad accelerare la formazione Ultralytics con DDP per ottenere risultati più rapidi e accurati.
L'addestramento distribuito è un metodo di apprendimento automatico in cui il carico di lavoro necessario per addestrare un modello viene suddiviso tra più processori o macchine. Questo approccio è essenziale per gestire set di dati su larga scala e architetture di reti neurali complesse che altrimenti richiederebbero un tempo eccessivo per essere addestrate su un singolo dispositivo. Sfruttando la potenza di calcolo combinata di più unità di elaborazione grafica (GPU) o unità Tensor (TPU), l'addestramento distribuito accelera significativamente il ciclo di sviluppo, consentendo a ricercatori e ingegneri di iterare più rapidamente e ottenere una maggiore precisione nei loro modelli.
L'idea alla base dell'addestramento distribuito è la parallelizzazione. Invece di elaborare i dati in modo sequenziale su un unico chip, il compito viene suddiviso in blocchi più piccoli che vengono elaborati simultaneamente. Esistono due strategie principali per ottenere questo risultato:
La formazione distribuita ha trasformato i settori rendendo possibile risolvere problemi che prima erano computazionalmente irrealizzabili.
Il ultralytics La libreria semplifica l'implementazione dell'addestramento Distributed Data Parallel (DDP).
È possibile scalare l'addestramento delle più avanzate
YOLO26 modelli su più GPU semplicemente specificando gli
indici dei dispositivi negli argomenti di addestramento.
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])
È utile distinguere l'addestramento distribuito da termini simili nell'ecosistema dell'apprendimento automatico per comprenderne i ruoli specifici:
La gestione dell'infrastruttura per la formazione distribuita può essere complessa. Le piattaforme moderne semplificano questo processo offrendo ambienti gestiti. Ad esempio, la Ultralytics consente agli utenti di gestire set di dati e avviare cicli di formazione che possono essere implementati in ambienti cloud o cluster locali. Questa integrazione semplifica il flusso di lavoro dall' annotazione dei dati all'implementazione finale del modello, garantendo che il passaggio a più GPU sia il più fluido possibile. Allo stesso modo, i fornitori di servizi cloud come Google Vertex AI e Amazon SageMaker forniscono un'infrastruttura robusta per l'esecuzione di attività di formazione distribuite su scala aziendale.