Come funziona SageMaker Smart Sifting - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come funziona SageMaker Smart Sifting

L’obiettivo di SageMaker Smart Sifting è quello di esaminare i dati di addestramento durante il processo di addestramento e fornire al modello solo campioni più informativi. Durante l’addestramento tipico con PyTorch, i dati vengono inviati iterativamente in batch al ciclo di addestramento e ai dispositivi di accelerazione (come GPU o chip Trainium) da PyTorch DataLoader. La funzionalità SageMaker Smart Sifting viene implementata in questa fase di caricamento dei dati ed è quindi indipendente da qualsiasi pre-elaborazione dei dati a monte nella pipeline di formazione. SageMaker Smart Sifting utilizza il modello e la relativa funzione di perdita specificata dall’utente per eseguire un passaggio avanti valutativo di ogni campione di dati durante il caricamento. I campioni che restituiscono valori a bassa perdita hanno un impatto minore sull’apprendimento del modello e sono quindi esclusi dall’addestramento, perché è già semplice per il modello effettuare una previsione corretta su di essi con un alto livello di certezza. Nel frattempo, i campioni con perdite relativamente elevate devono ancora essere appresi dal modello, quindi vengono mantenuti per l’addestramento. Un input chiave che è possibile impostare per SageMaker Smart Sifting è la proporzione di dati da escludere. Ad esempio, impostando la proporzione al 25%, i campioni distribuiti nel quartile inferiore della distribuzione di perdita (prelevati da un numero di campioni precedenti specificato dall’utente) sono esclusi dall’addestramento. I campioni ad alta perdita vengono accumulati in un batch di dati perfezionato. Il batch di dati perfezionati viene inviato al ciclo di addestramento (passaggio avanti e indietro) e il modello apprende e si addestra in base al batch di dati perfezionato.

Il diagramma seguente mostra una panoramica della progettazione dell’algoritmo di SageMaker Smart Sifting.

Diagramma dell’architettura che mostra il funzionamento di SageMaker Smart Sifting durante l’addestramento, man mano che i dati vengono caricati.

In breve, SageMaker Smart Sifting opera durante l’addestramento, man mano che i dati vengono caricati. L’algoritmo di SageMaker Smart Sifting esegue il calcolo di perdita sui batch ed elimina i dati non migliorativi prima del passaggio avanti e indietro di ogni iterazione. Il batch di dati perfezionato viene quindi utilizzato per il passaggio avanti e indietro.

Nota

La funzionalità di smart sifting dei dati su SageMaker AI utilizza passaggi avanti aggiuntivi per analizzare e filtrare i dati di addestramento. A loro volta, si verificano meno passaggi indietro, poiché i dati con un impatto minore vengono esclusi dal job di addestramento. Per questo motivo, i modelli con passaggi indietro lunghi o costosi ottengono i maggiori vantaggi in termini di efficienza quando utilizzano la funzionalità di smart sifting. Al contrario, se il passaggio avanti del modello richiede più tempo rispetto al passaggio indietro, l’overhead potrebbe aumentare il tempo totale di addestramento. Per misurare il tempo impiegato per ogni passaggio, è possibile eseguire un job di addestramento pilota e raccogliere log del tempo impiegato nei processi. Prendi in considerazione anche l’utilizzo di SageMaker Profiler che fornisce strumenti di profilazione e un’applicazione per l’interfaccia utente. Per ulteriori informazioni, consulta Amazon SageMaker Profiler.

SageMaker Smart Sifting funziona per i job di addestramento basati su PyTorch con la classica parallelizzazione dei dati distribuita, che crea repliche dei modelli su ogni worker di GPU ed esegue AllReduce. Funziona con PyTorch DDP e la libreria Distributed Data Parallel di SageMaker AI.