Ottimizzazione dell'inferenza per i modelli Amazon SageMaker AI - 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à.

Ottimizzazione dell'inferenza per i modelli Amazon SageMaker AI

Con Amazon SageMaker AI, puoi migliorare le prestazioni dei tuoi modelli di intelligenza artificiale generativa applicando tecniche di ottimizzazione dell'inferenza. Ottimizzando i modelli, puoi ottenere un miglior rapporto qualità-prezzo per il tuo caso d'uso. Quando ottimizzate un modello, scegliete quale delle tecniche di ottimizzazione supportate applicare, tra cui la quantizzazione, la decodifica speculativa e la compilazione. Dopo aver ottimizzato il modello, puoi eseguire una valutazione per visualizzare le metriche prestazionali relative a latenza, velocità effettiva e prezzo.

Per molti modelli, l' SageMaker intelligenza artificiale fornisce anche diverse versioni preottimizzate, ognuna delle quali soddisfa le diverse esigenze delle applicazioni in termini di latenza e velocità effettiva. Per tali modelli, puoi implementare una delle versioni ottimizzate senza prima ottimizzare tu stesso il modello.

Tecniche di ottimizzazione

Amazon SageMaker AI supporta le seguenti tecniche di ottimizzazione.

Compilazione

La compilazione ottimizza il modello per le migliori prestazioni disponibili sul tipo di hardware scelto senza perdita di precisione. È possibile applicare la compilazione di modelli LLMs per ottimizzare l'hardware accelerato, come le istanze GPU, le istanze AWS Trainium o le istanze Inferentia. AWS

Quando ottimizzi un modello con la compilazione, trai vantaggio dalla compilazione. ahead-of-time Riduci i tempi di implementazione del modello e la latenza di auto-scaling perché i pesi del modello non just-in-time richiedono la compilazione quando il modello viene distribuito su una nuova istanza.

Se scegli di compilare il tuo modello per un'istanza GPU, SageMaker AI utilizza la libreria Tensorrt-LLM per eseguire la compilazione. Se scegli di compilare il modello per un'istanza AWS Trainium o AWS Inferentia, AI utilizza l'SDK Neuron per eseguire la compilazione. SageMaker AWS

Quantizzazione

La quantizzazione è una tecnica per ridurre i requisiti hardware di un modello utilizzando un tipo di dati meno preciso per i pesi e le attivazioni. Dopo aver ottimizzato un modello con la quantizzazione, è possibile ospitarlo su piattaforme meno costose e più disponibili. GPUs Tuttavia, il modello quantizzato potrebbe essere meno preciso del modello sorgente ottimizzato.

I formati di dati supportati dall' SageMaker IA per la quantizzazione variano da modello a modello. I formati supportati includono i seguenti:

  • INT4-AWQ: formato di dati a 4 bit. La quantizzazione del peso con riconoscimento dell'attivazione (AWQ) è una tecnica di quantizzazione efficiente, accurata, a basso numero di bit e basata esclusivamente LLMs sul peso.

  • FP8 — 8-bit Floating Point () è un formato a bassa precisione per numeri in virgola mobile. FP8 Bilancia l'efficienza della memoria e la precisione del modello rappresentando valori con un minor numero di bit rispetto al formato a virgola mobile standard. FP16

  • INT8- SmoothQuant — Un formato di dati a 8 bit. SmoothQuant è un metodo di quantizzazione a precisione mista che scala le attivazioni e i pesi congiuntamente bilanciandone gli intervalli dinamici.

Decodifica speculativa

La decodifica speculativa è una tecnica per accelerare il processo di decodifica di grandi dimensioni. LLMs Ottimizza i modelli per la latenza senza compromettere la qualità del testo generato.

Questa tecnica utilizza un modello più piccolo ma più veloce chiamato modello bozza. Il modello bozza genera token candidati, che vengono poi convalidati dal modello target più grande ma più lento. Ad ogni iterazione, la bozza del modello genera più token candidati. Il modello di destinazione verifica i token e, se rileva che un determinato token non è accettabile, lo rifiuta e lo rigenera. Quindi, il modello target verifica i token e ne genera una piccola quantità.

Il modello di bozza è notevolmente più veloce del modello di destinazione. Genera rapidamente tutti i token e quindi ne invia in batch al modello di destinazione per la verifica. Il modello target li valuta tutti in parallelo, il che accelera la risposta finale.

SageMaker L'intelligenza artificiale offre una bozza di modello predefinita che puoi utilizzare, quindi non devi crearne uno tuo. Se preferisci utilizzare il tuo modello di bozza personalizzato, l' SageMaker intelligenza artificiale supporta anche questa opzione.

Caricamento rapido del modello

La tecnica di caricamento rapido del modello prepara un LLM in modo che l' SageMaker IA possa caricarlo su un'istanza ML più rapidamente.

Per preparare il modello, l' SageMaker intelligenza artificiale lo suddivide in anticipo dividendolo in porzioni che possono risiedere ciascuna su una GPU separata per l'inferenza distribuita. Inoltre, l' SageMaker intelligenza artificiale memorizza i pesi del modello in blocchi di dimensioni uguali che l'IA può caricare contemporaneamente sull'istanza. SageMaker

Quando l' SageMaker intelligenza artificiale carica il modello ottimizzato sull'istanza, trasmette i pesi del modello direttamente da Amazon S3 GPUs all'istanza. Trasmettendo in streaming i pesi, l' SageMaker intelligenza artificiale omette diversi passaggi che normalmente sono necessari in termini di tempo. Questi passaggi includono il download degli artefatti del modello da Amazon S3 su disco, il caricamento degli artefatti del modello nella memoria dell'host e lo sharding del modello sull'host prima di caricare definitivamente gli shard su. GPUs

Dopo aver ottimizzato il modello per un caricamento più rapido, puoi distribuirlo più rapidamente su un endpoint di intelligenza artificiale. SageMaker Inoltre, se si configura l'endpoint per utilizzare la scalabilità automatica, questa si ridimensiona più rapidamente per adattarsi all'aumento del traffico.