Abbattere i silos di dati: creare, distribuire e servire modelli su vasta scala con Snowflake ML

Nonostante gli sforzi di molti team ML, la maggior parte dei modelli non arriva mai in produzione a causa di strumenti eterogenei, che spesso portano a dati e pipeline ML frammentati e a una gestione complessa dell’infrastruttura. Snowflake si impegna continuamente a rendere più facile e veloce per i clienti portare in produzione modelli avanzati. Nel 2024 abbiamo lanciato oltre 200 feature AI, tra cui una suite completa di feature ML end-to-end in Snowflake ML, la nostra serie integrata di funzionalità per lo sviluppo, l’inferenza e l’operazionalizzazione di modelli di machine learning. Siamo entusiasti di continuare quest’anno annunciando che le seguenti funzionalità per i flussi di lavoro ML basati su GPU sono ora in GA per i workload di produzione:
Sviluppo: Snowflake Notebooks on Container Runtime, ora disponibile per tutti i clienti in AWS e in public preview in Azure, ottimizza il caricamento dei dati e distribuisce l’addestramento dei modelli e il tuning degli iperparametri su più CPU o GPU in un ambiente container completamente gestito che viene eseguito all’interno del perimetro di sicurezza Snowflake con accesso istantaneo e sicuro ai dati. Snowflake ML ora supporta anche la possibilità di generare e utilizzare dati sintetici, ora in public preview.
Inferenza: Il Model Serving in Snowpark Container Services, ora disponibile per tutti i clienti sia in AWS che in Azure, offre un’inferenza distribuita semplice e performante con CPU o GPU per qualsiasi modello, indipendentemente dal luogo in cui è stato addestrato.
Monitoraggio: ML Observability, ora disponibile per tutti i clienti in tutte le regioni, fornisce strumenti integrati per monitorare e impostare avvisi su metriche di qualità come prestazioni e drift per i modelli eseguiti in o che memorizzano l’inferenza in Snowflake.
Governance: Gli oggetti e i flussi di lavoro ML sono completamente integrati con le funzionalità di governance di Snowflake Horizon, inclusi Data Lineage e ML Lineage, ora disponibili per tutti i clienti.
Da novembre 2024 a gennaio 2025, oltre 4.000 clienti hanno utilizzato le funzionalità AI di Snowflake ogni settimana. Uno di questi clienti è Scene+, un grande programma di fidelizzazione in Canada che utilizza Snowflake ML per semplificare e migliorare i propri workload di machine learning.
“Snowflake ML ha rappresentato un punto di svolta per portare i modelli ML di Scene+ in produzione. Abbiamo eliminato ogni spostamento di dati tra piattaforme diverse, ridotto i tempi di progetto e abbassato i costi utilizzando le funzionalità end-to-end di Snowflake ML, tra cui notebook, feature store, model registry e ML observability. Costruendo e implementando più di 30 modelli in Snowflake ML, Scene+ ha ridotto i tempi di produzione di oltre il 60% e i costi di oltre il 35%."
Chris Kuusela

Sviluppo
Snowflake Notebooks on Container Runtime è appositamente concepito per lo sviluppo ML su vasta scala, senza alcuna gestione o configurazione dell’infrastruttura con prestazioni di addestramento competitive.
Per l’addestramento utilizzando impostazioni predefinite pronte all’uso per i notebook Snowflake in Container Runtime, i nostri benchmark mostrano che XGBoost distribuito su Snowflake è oltre due volte più veloce per i dati tabellari rispetto a una soluzione Spark gestita e a un servizio cloud concorrente. Per i dati immagine, l’esecuzione di PyTorch distribuito su Snowflake ML anche con impostazioni standard ha prodotto un’elaborazione oltre 10 volte più veloce per un data set di 50.000 immagini rispetto alla stessa soluzione Spark gestita. Utilizzando Snowflake ML, i data scientist e i ML engineer dedicano molto meno tempo all’infrastruttura e alla scalabilità e possono dedicare più tempo allo sviluppo e all’ottimizzazione dei propri modelli ML e concentrarsi sul rapido impatto aziendale.

In pochi clic, Container Runtime elimina la gestione dell’infrastruttura e velocizza l’addestramento ML fornendo:
Una semplice configurazione notebook di selezione di un pool di calcolo che consente ai data scientist di scegliere tra pool di CPU o GPU in base alle esigenze dei loro task di addestramento. Tutti gli account dei clienti ricevono il provisioning automatico per accedere ai pool di calcolo CPU e GPU predefiniti che vengono utilizzati solo durante una sessione notebook attiva e sospesi automaticamente quando sono inattivi. Maggiori dettagli nella documentazione.
Un set di immagini preinstallate con le librerie e i framework più recenti e diffusi (PyTorch, XGBoost, LightGBM, scikit-learn e molti altri) che supportano lo sviluppo ML, consentendo ai data scientist di utilizzare un notebook Snowflake per dedicarsi direttamente al proprio lavoro.
Accesso sicuro a repository open source tramite pip e possibilità di inserire qualsiasi modello da hub come Hugging Face (vedere esempio qui).
API ottimizzate che offrono materializzazione efficiente delle tabelle Snowflake sotto forma di panda o DataFrame PyTorch. I dati vengono caricati in modo efficiente in parallelo ed evidenziati nel notebook come DataFrame parallelizzando tra più CPU o GPU. Maggiori dettagli nella documentazione.
API di model training e ottimizzazione degli iperparametri distribuite che estendono le familiari interfacce open source fornite da XGBoost, LightGBM e PyTorch, ma distribuiscono l’elaborazione su più CPU o GPU senza bisogno di orchestrare l’infrastruttura sottostante (vedere l’esempio qui).
Molte aziende stanno già utilizzando Container Runtime per creare casi d’uso ML avanzati a costi contenuti con facile accesso alle GPU. Tra i clienti figurano CHG Healthcare, Keysight Technologies e Avios.
CHG Healthcare
CHG Healthcare, un’azienda di personale sanitario con oltre 45 anni di esperienza nel settore, utilizza l’intelligenza artificiale e il machine learning per potenziare le sue soluzioni per il personale di 700.000 operatori sanitari in rappresentanza di 130 specialità mediche. CHG crea e produce i propri modelli ML end-to-end in Snowflake ML.
“L’utilizzo di GPU di Snowflake Notebooks in Container Runtime si è rivelato la soluzione più conveniente per le nostre esigenze di machine learning”, afferma Andrew Christensen, Data Scientist di CHG Healthcare. "Abbiamo apprezzato la possibilità di sfruttare l'elaborazione parallela di Snowflake con qualsiasi libreria open source in Snowflake ML, ottenendo flessibilità e maggiore efficienza per i nostri flussi di lavoro".
Keysight Technologies
Keysight Technologies è un provider leader di soluzioni di progettazione e test elettronici. Con oltre 5,5 miliardi di dollari di ricavi globali e oltre 33.000 clienti in 13 settori, Keysight detiene oltre 3800 brevetti per le sue innovazioni. Keysight crea modelli di vendita e previsione scalabili in Snowflake ML con Container Runtime.
"Dopo aver provato Snowflake Notebooks on Container Runtime, possiamo dire che l'esperienza è stata straordinaria", ha dichiarato Krishna Moleyar, Analytics and Automation for IT Global Applications, Keysight Technologies. “L’infrastruttura container flessibile supportata dall’elaborazione distribuita su CPU e GPU, il caricamento ottimizzato dei dati e la perfetta integrazione con [Snowflake] Model Registry hanno migliorato l’efficienza del nostro flusso di lavoro.”
Avios
Avios, leader nei premi per i viaggi con oltre 40 milioni di membri e 1.500 partner, utilizza Snowflake Notebooks on Container Runtime per eseguire analisi approfondite e analisi dei dati con la flessibilità richiesta dall’azienda.
“Ho apprezzato molto l’uso dei notebook Snowflake su Container Runtime per la flessibilità e la velocità che offrono”, afferma Olivia Brooker, Data Scientist di Avios. “Sono in grado di eseguire il mio codice senza preoccuparmi del timeout o della dimenticanza delle variabili. Abilitando l’integrazione PyPI, ho anche il vantaggio aggiuntivo di utilizzare una più ampia gamma di pacchetti Python, rendendo più flessibili le mie attività di analisi e data science.”
Per creare modelli mantenendo la privacy dei data set sensibili o per generare facilmente nuovi dati che arricchiscano l’addestramento, Snowflake supporta anche la generazione di dati sintetici facili e sicuri (public preview). Si tratta di una potente funzionalità che consente ai data scientist di creare pipeline e modelli a partire dai dati senza compromettere attributi sensibili e senza attendere lunghi e complessi processi di approvazione. Il data set sintetico ha le stesse caratteristiche del data set di origine, ad esempio nome, numero e tipo di dati delle colonne, e un numero uguale o inferiore di righe.
Modelli in produzione
Indipendentemente da dove viene creato il modello, Snowflake ML consente di eseguire facilmente l’inferenza su scala di produzione e gestire il ciclo di vita del modello con funzionalità di sicurezza e governance integrate. Dopo aver effettuato il login a Snowflake Model Registry, un modello può essere servito in modo trasparente per l’inferenza distribuita utilizzando Model Serving in Snowpark Container Services (SPCS). Con questa funzionalità, i workload di inferenza possono sfruttare i cluster di calcolo delle GPU, eseguire modelli di grandi dimensioni come Hugging Face embedding o altri modelli transformer e utilizzare qualsiasi package Python da repository open source o privati. Puoi anche distribuire modelli a un endpoint API REST per consentire alle tue applicazioni di invocare l’inferenza del modello per le applicazioni a bassa latenza (l’endpoint online è in revisione pubblica). Con model registry e soluzioni per l’inferenza, ora gli utenti possono utilizzare facilmente qualsiasi modello ML addestrato all’interno o all’esterno di Snowflake, utilizzando uno dei modelli integrati o la custom model API per integrare qualsiasi altro tipo di modello, compresi le pipeline di pre- e post-elaborazione e i modelli partizionati, per eseguire l’inferenza distribuita scalabile in virtual warehouse o in SPCS a seconda delle esigenze dei workload.

Jahez Group, un’azienda di food delivery online con sede in Arabia Saudita, utilizza il model serving in SPCS per produrre modelli che ottimizzano la logistica e massimizzano la soddisfazione dei clienti garantendo le consegne ai clienti entro 30 minuti dall’ordine.
"Il Model Serving in Snowpark Container Services ha enormemente aiutato il nostro ciclo di iterazione tra le versioni dei modelli, consentendo aggiornamenti rapidi e riducendo i ritardi nella distribuzione", ha affermato Marwan AlShehri, Senior Data Engineer di Jahez Group. "Grazie al supporto per le funzionalità di scalabilità automatica, la produzione di modelli è più semplice che mai. L’incredibile supporto del team Snowflake ci ha aiutati a ottenere l’inferenza online in meno di un secondo per le previsioni in tempo reale nel nostro caso d’uso del tempo stimato di arrivo. Questo ci ha consentito di migliorare l’assegnazione degli ordini dei corrieri e ottimizzare il processo di consegna, riducendo i costi e aumentando l’efficienza.”
Monitoraggio e avvisi
In produzione, il comportamento del modello può cambiare nel tempo a causa di una comprensione incompleta del mondo nei dati di training, deriva dei dati di input e problemi di qualità dei dati. I cambiamenti nei dati o nell’ambiente possono avere un fortissimo impatto sulla qualità del modello.
L’osservabilità ML Snowflake fornisce la possibilità di monitorare le prestazioni dei modelli, la deriva del punteggio del modello e la deriva del valore delle feature quando i log delle inferenze/previsioni sono memorizzati all’interno di una tabella Snowflake, indipendentemente dal luogo in cui il modello è stato addestrato o distribuito. I risultati del monitoraggio possono essere interrogati utilizzando API Python o SQL e visualizzati dall’interfaccia utente collegata al model registry, con la possibilità di impostare facilmente avvisi sulle soglie personalizzate.

Storio Group, leader europeo di prodotti e regali fotografici personalizzati con oltre 11 milioni di clienti, produce modelli con feature MLOps integrate in Snowflake, tra cui l’osservabilità ML.
"In Storio, abbiamo creato una piattaforma MLOps utilizzabile, scalabile e ben governata, passando in pochi mesi dall'ideazione alla produzione in Snowflake ML", afferma Dennis Verheijden, Senior ML Engineer di Storio Group. "Combinando la nuova feature ML Observability con le feature Snowflake esistenti, come Dynamic Tables e ML Lineage, siamo stati in grado di automatizzare l'osservabilità dei modelli addestrati sulla nostra piattaforma. Il risultato è che per ogni modello implementato abbiamo dashboard automatizzate che delineano la valutazione e il confronto live dei modelli e la deriva delle feature nel tempo. In questo modo i data scientist possono concentrarsi sulla creazione di valore, scaricando sulla piattaforma l’implementazione dell’osservabilità e del monitoraggio.”
Governance sottostante
Snowflake ML si integra completamente con Snowflake Horizon Catalog, la soluzione di data governance e discovery integrata che include funzionalità di conformità, sicurezza, privacy e collaborazione. Tutti i dati, le feature e i modelli in Snowflake sono governati da controlli degli accessi basati sui ruoli (RBAC) tra cloud, che consentono alle organizzazioni di gestire l’accesso su vasta scala, limitando l’accesso riservato ai ruoli aziendali appropriati. Snowflake Model Management si basa su questa solida base di data governance e offre modi flessibili e sicuri di gestire il ciclo di vita del modello in produzione.
Per tenere traccia dell’intero lineage e della cronologia degli accessi e dei log per i dati e gli artefatti ML, Snowflake Data Lineage e ML Lineage aiuta a visualizzare facilmente il flusso di dati dall’origine alla destinazione finale. Il grafo di lineage supporta completamente tutti gli oggetti ML creati in Snowflake (feature, data set e modelli) permettendo la tracciabilità completa delle pipeline ML, facilitando la conformità normativa e l’audit, oltre alla riproducibilità e alla maggiore robustezza dei workload ML.

Come iniziare
Con questi ultimi annunci, disponibili per tutti i clienti, i data scientist e i ML engineer possono tranquillamente scalare orizzontalmente i flussi di lavoro in produzione in Snowflake ML.
Le seguenti risorse sono il modo più semplice per iniziare a utilizzare queste nuove funzionalità:
Sviluppo: Prova questa introduzione a Container Runtime che ti guiderà nella creazione di un notebook e nella creazione di un semplice modello ML, e segui questo video per principianti.
Inferenza: Inizia con questo esempio di generazione di embedding con una panoramica video complementare.
Monitoraggio: Segui questo quickstart per iniziare con l’ML Observability e guarda una demo guidata da esperti qui.
Per ulteriori casi d’uso avanzati, consulta le seguenti soluzioni: