Prodotto e tecnologia

Snowpark Container Services: distribuire ed eseguire in modo sicuro AI generativa e app full-stack in Snowflake

Snowpark Container Services: distribuire ed eseguire in modo sicuro AI generativa e app full-stack in Snowflake

I container sono l’approccio moderno alla pacchettizzazione del codice in qualsiasi linguaggio: garantiscono portabilità e uniformità in tutti gli ambienti, in particolare per sofisticati modelli AI/ML e app full-stack ad alta intensità di dati. Questi tipi di data product moderni spesso elaborano quantità enormi di dati proprietari. La creazione, lo sviluppo e l’esecuzione di questi workload su vasta scala sono spesso operazioni complesse, che costringono sviluppatori e data scientist a dedicare più tempo alla gestione della capacità di calcolo e dei cluster per queste applicazioni invece di concentrarsi sul problema aziendale. Inoltre, poiché le app full-stack e i LLM non possono essere eseguiti direttamente dove risiedono i dati governati, gestire la sicurezza dei dati utilizzati in questi scenari diventa molto difficile, se non quasi impossibile. 

Per consentire di portare in modo semplice e sicuro le app full-stack, i LLM e altri sofisticati data product dove si trovano i dati, abbiamo introdotto Snowpark Container Services, attualmente in private preview. Questa nuova opzione runtime di Snowpark consente agli sviluppatori di distribuire, gestire e scalare facilmente workload containerizzati (processi, servizi e funzioni dei servizi) tramite l’infrastruttura Snowflake, sicura e gestita, con opzioni hardware configurabili, come le GPU. 

Questo nuovo runtime libera gli utenti dalla necessità di occuparsi di complesse operazioni di gestione e manutenzione della capacità di calcolo e dei cluster per i container. Eseguendo i container in Snowflake, non è necessario spostare i dati governati fuori da Snowflake (esponendoli a ulteriori rischi per la sicurezza) per poterli utilizzare all’interno di app e modelli AI/ML sofisticati, sia sviluppati internamente che offerti da provider terzi come app native Snowflake installabili dal Marketplace Snowflake. 

Panoramica di Snowpark Container Services

Hardware e linguaggi di programmazione flessibili

I container creati e pacchettizzati dagli sviluppatori utilizzando i propri strumenti preferiti possono includere codice in qualsiasi linguaggio di programmazione, come C/C++, Node.js, Python, R, React e altri, e possono essere eseguiti utilizzando opzioni hardware configurabili, comprese le GPU. Questa flessibilità in termini di hardware e linguaggi di programmazione espande ulteriormente le possibilità di eseguire i workload di AI/ML e app sui dati in Snowflake grazie a Snowpark.

Ad esempio, i team di data science possono accelerare l’esecuzione delle librerie Python di machine learning (ML) utilizzate nei processi di addestramento e inferenza. Possono inoltre eseguire AI generative ad alta intensità di elaborazione, come i Large Language Model (LLM). Gli sviluppatori di app possono creare e distribuire interfacce utente front-end utilizzando React e altri diffusi framework per lo sviluppo web. I data engineer possono eseguire logica ottimizzata, tipicamente scritta in C/C++, nello stesso motore che esegue le operazioni SQL o Python DataFrame.

Con il lancio di Snowpark nel 2020, Snowflake ha introdotto un modo sicuro per distribuire ed elaborare codice Python, Java e Scala in Snowflake attraverso una serie di librerie e runtime, tra cui funzioni definite dall’utente (UDF) e stored procedure. Snowpark Container Services è un altro modo per realizzare la visione di Snowpark di offrire agli sviluppatori un modo affidabile, potente e familiare per elaborare facilmente codice diverso dal SQL all’interno dei dati governati Snowflake. Come tutto il framework Snowpark, è possibile accedere e integrare il codice e la logica da qualsiasi esperienza Snowflake. Gli utenti possono scrivere query in SQL, Python, Java o Scala per interrogare i dati tramite container eseguiti in Snowpark Container Services.

Servizi unificati e completamente gestiti

Snowpark Container Services offre un’esperienza semplice e unificata per il ciclo di vita end-to-end delle applicazioni e dei modelli AI/ML containerizzati. Altre soluzioni richiedono di creare manualmente un registro dei container, un servizio di gestione degli stessi e un servizio di elaborazione, oltre a gestire i propri strumenti separati per l’osservabilità, la connettività dei dati, la sicurezza e così via. 

In linea con la filosofia di Snowflake di offrire una piattaforma che funziona in modo impeccabile, Snowpark Container Services elimina la necessità di gestire la capacità di calcolo e i cluster per accelerare lo sviluppo e il lancio delle data app. In questo modo, Snowpark Container Services semplifica e potenzia al massimo l’hosting e il serving dei container per gli sviluppatori, che devono solo fornire i container e lasciare che Snowflake provveda al serving e all’hosting su vasta scala, senza bisogno di imparare tutti i complessi dettagli di Kubernetes. 

Per ampliare l’accesso ai container, gli sviluppatori hanno l’opzione di utilizzare SQL, CLI o Python come interfaccia di programmazione. Per supportare un’ampia gamma di workload, Snowpark Container Services offre tre opzioni di esecuzione:

  • Processi: processi con vincoli temporali, attivati manualmente secondo necessità o in un processo programmato. Alcuni esempi comuni sono le immagini dei container utilizzate per avviare l’addestramento ML sulle GPU o un passaggio in una pipeline di dati che può eseguire qualsiasi linguaggio, framework o libreria all’interno di un container. 
  • Funzioni dei servizi: processi con vincoli temporali che ricevono un input, eseguono un’azione e possono essere attivati ripetutamente da un evento supportato dai tuoi container. 
  • Servizi: processi di lunga durata con endpoint di ingresso protetti, che tipicamente ospitano il front-end di un’applicazione o un’API e devono sempre essere disponibili per le richieste on demand. 

Portare sofisticati software e app di terze parti dove si trovano i dati

Gli sviluppatori possono utilizzare Snowpark Container Services all’interno di un’app nativa Snowflake per distribuire sofisticate app che verranno interamente eseguite all’interno dell’account Snowflake dell’utente finale. Per i clienti Snowflake, questo significa che possono installare ed eseguire in sicurezza prodotti all’avanguardia come hosted notebook e LLM all’interno del proprio account Snowflake senza compromettere la proprietà intellettuale del provider. 

  • Hex. I team di data science possono accelerare le attività utilizzando Snowpark Container Services per implementare Hex, una piattaforma di analisi e data science collaborativa, per interrogare ed elaborare i propri dati con SQL, R e Python ed utilizzare le GPU per l’addestramento ML, garantendo al contempo che i dati non escano mai dall’account Snowflake dell’utente. Guarda il video dimostrativo e iscriviti alla lista d’attesa per Hex in Snowflake. 
  • Provider di LLM. Le aziende possono portare modelli AI all’avanguardia all’interno dei propri account Snowflake come app native Snowflake, garantendo la protezione completa tanto della proprietà intellettuale del provider quanto dei dati dell’utente. Per chi utilizza un provider come AI21 Labs, Reka o il framework NVIDIA NeMo (parte della piattaforma software NVIDIA AI Enterprise), i pesi dei LLM e altre proprietà intellettuali non vengono esposti all’utente dell’app, poiché la logica contenuta nell’app nativa Snowflake non è accessibile. A loro volta, poiché i LLM vengono eseguiti all’interno dell’account dell’utente finale, i dati aziendali governati utilizzati per il tuning o altre interazioni con i LLM non vengono mai esposti allo sviluppatore. Guarda queste funzioni in azione nella demo presentata nella sessione di apertura del Summit Snowflake 2023. 

Questo nuovo runtime Snowpark espande e rafforza ulteriormente l’ecosistema di partner Snowpark Accelerated e sfrutta la potente piattaforma Snowflake per migliorare l’esperienza dei team tecnici e aziendali con applicazioni e servizi integrati dei nostri partner che portano l’elaborazione dove si trovano i dati governati.

  • Alteryx. Crea un flusso di lavoro in Alteryx Designer scegliendo tra più di 160 strumenti con o senza codice per risolvere un problema di analisi avanzato come creare un modello per prevedere la domanda. Carica il flusso di lavoro sulla piattaforma Alteryx Analytics Cloud ed esegui la logica in Snowpark Container Services.
  • Astronomer. Usa Apache Airflow per orchestrare in modo più efficiente pipeline di dati potenti e complesse, come pianificazione avanzata, avvisi, monitoraggio, logica di diramazione e ripetizione complessa e altro ancora, portando il codice dove si trovano i dati ed evitando la gestione delle dipendenze e le limitazioni della capacità di calcolo.
  • Dataiku. Distribuisci modelli addestrati in Dataiku in Snowpark Container Services come servizi di inferenza scalabili. Con una web app, Dataiku può inserire funzioni nel modello e ricevere immediatamente previsioni da Snowpark Container Services.
  • NVIDIA. Le GPU NVIDIA faranno da layer di infrastruttura accelerato per Snowpark Container Services, abilitando una capacità di calcolo più efficiente, performante e conveniente per i clienti di Snowflake.
  • SAS. Usa SAS® Viya® per lo sviluppo e l’addestramento decisionale dei modelli con i dati contenuti in Snowflake pubblicando il modello campione in Snowpark Container Services tramite SAS Container Runtime, un container conforme a OCI che consente la prototipazione rapida e facilita il deployment. 

Esistono molte altre soluzioni dei partner integrate con Snowpark Container Services, tra cui database destinati a scopi specifici (RelationalAI, Pinecone, CARTO), ML e MLOps (H2O.ai, Kumo AI, Weights & Biases) e applicazioni complete (Amplitude). 

Il futuro di Snowpark Container Services

Snowpark Container Services apre le porte a una nuova era nello sviluppo delle app, in cui non esistono limiti a ciò che puoi portare in Snowflake. Ma abbiamo molti altri progetti per questo nuovo runtime di Snowpark, come ad esempio offrire app native Snowflake con immagini dei container tramite il Marketplace Snowflake.

Per ricevere tutti gli aggiornamenti su Snowpark Container Services, iscriviti qui

Condividi articolo

Subscribe to our blog newsletter

Get the best, coolest and latest delivered to your inbox each week

Inizia la tua provagratuita di 30 giorni

Prova Snowflake gratis per 30 giorni e scopri come l’AI Data Cloud aiuta a eliminare la complessità, i costi e i vincoli tipici di altre soluzioni.