Guida introduttiva alle inferenze

Questa guida per principianti è un'introduzione alla generazione di inferenze da modelli personalizzati sulla piattaforma agentica Gemini Enterprise.

Obiettivi di apprendimento

Livello di esperienza con la piattaforma agentica Gemini Enterprise: principiante

Tempo di lettura stimato: 15 minuti

Cosa imparerai:

  • Vantaggi dell'utilizzo di un servizio di inferenza gestito.
  • Come funzionano le inferenze batch nella piattaforma agentica Gemini Enterprise.
  • Come funzionano le inferenze online nella piattaforma agentica.

Perché utilizzare un servizio di inferenza gestito?

Supponiamo che ti sia stato chiesto di creare un modello che prende come input un'immagine di una pianta e ne prevede la specie. Potresti iniziare addestrando un modello in un blocco note, provando diversi iperparametri e architetture. Quando hai un modello addestrato, puoi chiamare il metodo predict nel framework ML che preferisci e testare la qualità del modello.

Questo flusso di lavoro è ideale per la sperimentazione, ma quando vuoi utilizzare il modello per ottenere inferenze su molti dati o ottenere inferenze a bassa latenza al volo, avrai bisogno di qualcosa di più di un blocco note. Ad esempio, supponiamo che tu stia cercando di misurare la biodiversità di un particolare ecosistema e, anziché far identificare e contare manualmente le specie vegetali in natura, vuoi utilizzare questo modello ML per classificare grandi batch di immagini. Se utilizzi un blocco note, potresti riscontrare vincoli di memoria. Inoltre, ottenere inferenze per tutti questi dati è probabilmente un job a lunga esecuzione che potrebbe scadere nel blocco note.

Oppure, se volessi utilizzare questo modello in un'applicazione in cui gli utenti possono caricare immagini di piante e identificarle immediatamente? Avrai bisogno di un posto in cui ospitare il modello al di fuori di un blocco note che la tua applicazione può chiamare per un'inferenza. Inoltre, è improbabile che il traffico verso il tuo modello sia costante, quindi avrai bisogno di un servizio che possa scalare automaticamente quando necessario.

In tutti questi casi, un servizio di inferenza gestito ridurrà le difficoltà di hosting e utilizzo dei tuoi modelli ML. Questa guida fornisce un'introduzione alla generazione di inferenze da modelli ML sulla piattaforma agentica Gemini Enterprise. Tieni presente che esistono personalizzazioni, funzionalità e modi aggiuntivi per interfacciarsi con il servizio che non sono trattati qui. Questa guida ha lo scopo di fornire una panoramica. Per ulteriori informazioni, consulta la documentazione relativa alle inferenze della piattaforma agentica Gemini Enterprise.

Panoramica del servizio di inferenza gestito

La piattaforma agentica supporta le inferenze batch e online.

L'inferenza batch è una richiesta asincrona. È una buona soluzione quando non hai bisogno di una risposta immediata e vuoi elaborare i dati accumulati in un'unica richiesta. Nell'esempio discusso nell'introduzione, questo sarebbe il caso d'uso della caratterizzazione della biodiversità.

Se vuoi ottenere inferenze a bassa latenza dai dati passati al tuo modello al volo, puoi utilizzare l'inferenza online. Nell'esempio discusso nell'introduzione, questo sarebbe il caso d'uso in cui vuoi incorporare il tuo modello in un'app che aiuti gli utenti a identificare immediatamente le specie vegetali.

Caricare il modello in Vertex AI Model Registry

Per utilizzare il servizio di inferenza, il primo passo è caricare il modello ML addestrato in Gemini Enterprise Agent Platform Model Registry. Si tratta di un registro in cui puoi gestire il ciclo di vita dei tuoi modelli.

Creare una risorsa modello

Quando addestri i modelli con il servizio di addestramento personalizzato della piattaforma agentica Gemini Enterprise, puoi importare automaticamente il modello nel registro al termine del job di addestramento. Se hai saltato questo passaggio o hai addestrato il modello al di fuori della piattaforma agentica Gemini Enterprise, puoi caricarlo manualmente utilizzando la Google Cloud console o l'SDK Vertex AI Python puntando a una località Cloud Storage con gli artefatti del modello salvati. Il formato di questi artefatti del modello potrebbe essere savedmodel.pb, model.joblib e così via, a seconda del framework ML che utilizzi.

Il caricamento degli artefatti in Vertex AI Model Registry crea una risorsa Model, visibile nella Google Cloud console:

risorsa del modello

Selezionare un container

Quando importi un modello in Vertex AI Model Registry, devi associarlo a un container per la piattaforma agentica Gemini Enterprise per gestire le richieste di inferenza.

Container predefiniti

La piattaforma agentica Gemini Enterprise fornisce container predefiniti che puoi utilizzare per le inferenze. I container predefiniti sono organizzati per framework ML e versione del framework e forniscono server di inferenza HTTP che puoi utilizzare per gestire le inferenze con una configurazione minima. Eseguono solo l'operazione di inferenza del framework di machine learning, quindi se devi pre-elaborare i dati, devi farlo prima di effettuare la richiesta di inferenza. Allo stesso modo, qualsiasi post-elaborazione deve avvenire dopo aver eseguito la richiesta di inferenza. Per un esempio di utilizzo di un container predefinito, consulta il blocco note Serving PyTorch image models with prebuilt containers on Agent Platform.

Container personalizzati

Se il tuo caso d'uso richiede librerie non incluse nei container predefiniti o se hai trasformazioni di dati personalizzate che vuoi eseguire come parte della richiesta di inferenza, puoi utilizzare un container personalizzato che crei e invii ad Artifact Registry. Sebbene i container personalizzati consentano una maggiore personalizzazione, il container deve eseguire un server HTTP. Nello specifico, il container deve ascoltare e rispondere ai controlli di attività, ai controlli di integrità e alle richieste di inferenza. Nella maggior parte dei casi, l'opzione consigliata e più semplice è utilizzare un container predefinito, se possibile. Per un esempio di utilizzo di un container personalizzato, consulta il blocco note PyTorch Image Classification Single GPU using Vertex Training with Custom Container.

Routine di inferenza personalizzate

Se il tuo caso d'uso richiede trasformazioni di pre-elaborazione e post-elaborazione personalizzate, e non vuoi il sovraccarico di creazione e manutenzione di un container personalizzato, puoi utilizzare routine di inferenza personalizzate. Con le routine di inferenza personalizzate, puoi fornire le trasformazioni dei dati come codice Python e, dietro le quinte, l'SDK Vertex AI Python creerà un container personalizzato che puoi testare localmente ed eseguire il deployment sulla piattaforma agentica Gemini Enterprise. Per un esempio di utilizzo delle routine di inferenza personalizzate, consulta il blocco note Custom inference routines with Sklearn.

Ottenere inferenze batch

Una volta che il modello si trova in Vertex AI Model Registry, puoi inviare un job di inferenza batch dalla Google Cloud console o dall'SDK Vertex AI per Python. Specificherai la posizione dei dati di origine, nonché la posizione in Cloud Storage o BigQuery in cui vuoi salvare i risultati. Puoi anche specificare il tipo di macchina su cui vuoi eseguire questo job e gli eventuali acceleratori facoltativi. Poiché il servizio di inferenza è completamente gestito, la piattaforma agentica Gemini Enterprise esegue automaticamente il provisioning delle risorse di calcolo, esegue l'attività di inferenza e si assicura che le risorse di calcolo vengano eliminate al termine del job di inferenza. Lo stato dei job di inferenza batch può essere monitorato nella Google Cloud console.

stato dell'inferenza batch

Ottenere inferenze online

Se vuoi ottenere inferenze online, devi eseguire un passaggio aggiuntivo: eseguire il deployment del modello su un endpoint della piattaforma agentica Gemini Enterprise. In questo modo, gli artefatti del modello vengono associati alle risorse fisiche per la gestione a bassa latenza e viene creata una DeployedModelrisorsa.

inferenza online

Una volta eseguito il deployment del modello su un endpoint, questo accetta le richieste come qualsiasi altro endpoint REST, il che significa che puoi chiamarlo da una funzione Cloud Run, un chatbot, un'app web e così via. Tieni presente che puoi eseguire il deployment di più modelli in un singolo endpoint, suddividendo il traffico tra di essi. Questa funzionalità è utile, ad esempio, se vuoi implementare una nuova versione del modello, ma non vuoi indirizzare immediatamente tutto il traffico al nuovo modello. Puoi anche eseguire il deployment dello stesso modello su più endpoint.

Risorse per ottenere inferenze da modelli personalizzati sulla piattaforma agentica

Per scoprire di più sull'hosting e sulla gestione dei modelli sulla piattaforma agentica, consulta le seguenti risorse o il repository GitHub Agent Platform Samples.