I clienti si aspettano risposte istantanee in ogni interazione, che si tratti di una raccomandazione elaborata in millisecondi, di un addebito fraudolento bloccato prima che venga autorizzato o di un risultato di ricerca che appare immediato all'utente. Su larga scala, l'offerta di queste esperienze dipende da sistemi di erogazione di modelli che rimangono veloci, stabili e prevedibili anche con un carico sostenuto e irregolare.
Con l'aumento del traffico fino a decine o centinaia di migliaia di richieste al secondo, molti team si trovano ad affrontare la stessa serie di sfide. La latenza diventa incostante, i costi dell'infrastruttura aumentano e i sistemi richiedono una messa a punto costante per gestire picchi e cali della domanda. Diventa anche più difficile diagnosticare gli errori man mano che vengono integrati più componenti, distogliendo i team dal miglioramento dei modelli e concentrandoli invece sul mantenimento dei sistemi di produzione.
Questo post spiega come il Model Serving di Databricks supporta carichi di lavoro in tempo reale con QPS elevato e delinea le best practice concrete che puoi applicare per ottenere bassa latenza, throughput elevato e prestazioni prevedibili in produzione.
Databricks Model Serving fornisce un'infrastruttura di serving completamente gestita e scalabile direttamente all'interno della tua lakehouse Databricks. È sufficiente prendere un modello esistente nel registro dei modelli, distribuirlo e ottenere un endpoint REST su un'infrastruttura gestita altamente scalabile e ottimizzata per il traffico a QPS elevato.
Databricks Model Serving è ottimizzato per carichi di lavoro mission-critical a QPS elevato:
Il Model Serving di Databricks consente al nostro team di implementare modelli di machine learning con l'affidabilità e la scalabilità necessarie per le applicazioni in tempo reale. È progettato per gestire carichi di lavoro con QPS elevato, massimizzando al contempo l'utilizzo dell'hardware. Inoltre, Databricks fornisce una soluzione di negozio di funzionalità SOTA con ricerche superveloci necessarie per tali carichi di lavoro. Con queste funzionalità, i nostri ingegneri di ML possono concentrarsi su ciò che conta: perfezionare le prestazioni del modello e migliorare l'esperienza utente. — Bojan Babic, Ingegnere di ricerca, You.com
Una volta gettate queste basi, il passo successivo è ottimizzare gli endpoint, i modelli e le applicazioni client per ottenere costantemente un throughput elevato e una bassa latenza, specialmente con l'aumento del traffico. Le seguenti best practice supportano implementazioni reali per i clienti che eseguono da milioni a miliardi di inferenze ogni giorno.
Consulta la nostra guida alle best practice per maggiori dettagli.
Un primo passo fondamentale per garantire che il livello di rete sia ottimizzato per un throughput/QPS elevato e una bassa latenza. Model Serving esegue questa operazione per te tramite endpoint ottimizzati per il routing. Quando si abilita l'ottimizzazione del percorso su un endpoint, Databricks Model Serving ottimizza la rete e il routing per le richieste di inferenza, consentendo una comunicazione più rapida e diretta tra il client e il modello. Ciò riduce significativamente il tempo necessario affinché una richiesta raggiunga il modello ed è particolarmente utile per applicazioni a bassa latenza come i sistemi di raccomandazione, la ricerca e il rilevamento di frodi.
In scenari a throughput elevato, ridurre la complessità del modello, scaricare l'elaborazione dall'endpoint di serving e scegliere i target di concorrenza giusti aiuta il tuo endpoint a Scale verso volumi di richieste elevati con la giusta quantità di compute necessaria. In questo modo i tuoi endpoint sono efficienti in termini di costi, ma possono comunque essere scalati per raggiungere gli obiettivi di prestazione.
Con il Model Serving di Databricks, possiamo gestire carichi di lavoro ad alto QPS come la personalizzazione e i consigli in tempo reale. Offre ai nostri brand la Scale e la velocità necessarie per fornire esperienze di contenuti su misura ai nostri milioni di lettori. — Oscar Celma, SVP of Data Science e Analitiche di prodotto di Conde Nast
L'ottimizzazione del codice lato client garantisce che le richieste vengano elaborate rapidamente e che le istanze di compute dell'endpoint siano completamente utilizzate, consentendo di ottenere un migliore throughput QPS, risparmi sui costi e una minore latenza.
Inviare richieste in batch quando si chiamano gli endpoint di Model Serving di Databricks
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Produto
12 giugno 2024/11 min di lettura
IA
7 gennaio 2025/8 min di lettura

