Guida per principianti all'addestramento personalizzato

Questa guida per principianti è un'introduzione all'addestramento personalizzato sulla piattaforma agentica Gemini Enterprise. L'addestramento personalizzato si riferisce all'addestramento di un modello utilizzando un framework ML come TensorFlow, PyTorch o XGBoost.

Obiettivi di apprendimento

Livello di esperienza della piattaforma agentica Gemini Enterprise: principiante

Tempo di lettura stimato: 15 minuti

Argomenti trattati:

  • Vantaggi dell'utilizzo di un servizio gestito per l'addestramento personalizzato.
  • Best practice per il packaging del codice di addestramento.
  • Come inviare e monitorare un job di addestramento.

Perché utilizzare un servizio di formazione gestito?

Immagina di lavorare a un nuovo problema di ML. Apri un notebook, importa i tuoi dati ed esegui l'esperimento. In questo scenario, crei un modello con il framework ML che preferisci ed esegui le celle del notebook per eseguire un ciclo di addestramento. Al termine dell'addestramento, valuti i risultati del modello, apporti modifiche e poi esegui nuovamente l'addestramento. Questo flusso di lavoro è utile per la sperimentazione, ma quando inizi a pensare di creare applicazioni di produzione con il machine learning, potresti scoprire che l'esecuzione manuale delle celle del notebook non è l'opzione più conveniente.

Ad esempio, se il set di dati e il modello sono grandi, potresti provare l'addestramento distribuito. Inoltre, in un ambiente di produzione è improbabile che tu debba addestrare il modello una sola volta. Nel tempo, addestrerai nuovamente il modello per assicurarti che rimanga aggiornato e continui a produrre risultati utili. Quando vuoi automatizzare gli esperimenti su larga scala o eseguire il retraining dei modelli per un'applicazione di produzione, l'utilizzo di un servizio di addestramento ML gestito semplificherà i tuoi flussi di lavoro.

Questa guida fornisce un'introduzione all'addestramento di modelli personalizzati su Gemini Enterprise Agent Platform. Poiché il servizio di addestramento è completamente gestito, la piattaforma Gemini Enterprise Agent esegue automaticamente il provisioning delle risorse di calcolo, esegue l'attività di addestramento e garantisce l'eliminazione delle risorse di calcolo al termine del job di addestramento. Tieni presente che esistono ulteriori personalizzazioni, funzionalità e modi di interagire con il servizio che non sono trattati qui. Questa guida ha lo scopo di fornire una panoramica. Per maggiori dettagli, consulta la documentazione di formazione sulla piattaforma agentica Gemini Enterprise.

Panoramica dell'addestramento personalizzato

L'addestramento di modelli personalizzati sulla piattaforma agentica Gemini Enterprise segue questo flusso di lavoro standard:

  1. Pacchettizza il codice dell'applicazione di addestramento.

  2. Configura e invia il job di addestramento personalizzato.

  3. Monitora il job di addestramento personalizzato.

Pacchettizzazione del codice dell'applicazione di addestramento

L'esecuzione di un job di addestramento personalizzato sulla piattaforma agentica Gemini Enterprise viene eseguita con i container. I container sono pacchetti del codice dell'applicazione, in questo caso il codice di addestramento, insieme a dipendenze come versioni specifiche di librerie necessarie per eseguire il codice. Oltre a semplificare la gestione delle dipendenze, i container possono essere eseguiti virtualmente ovunque, consentendo una maggiore portabilità. Il packaging del codice di addestramento con i relativi parametri e dipendenze in un container per creare un componente portabile è un passaggio importante quando sposti le applicazioni ML dal prototipo alla produzione.

Prima di poter avviare un job di addestramento personalizzato, devi creare un pacchetto della tua applicazione di addestramento. In questo caso, l'applicazione di addestramento si riferisce a un file o a più file che eseguono attività come il caricamento dei dati, il pretrattamento dei dati, la definizione di un modello e l'esecuzione di un ciclo di addestramento. Il servizio di addestramento di Gemini Enterprise Agent Platform esegue il codice che fornisci, quindi spetta interamente a te decidere quali passaggi includere nell'applicazione di addestramento.

La piattaforma agentica Gemini Enterprise fornisce container predefiniti per TensorFlow, PyTorch, XGBoost e Scikit-learn. Questi container vengono aggiornati regolarmente e includono librerie comuni che potresti utilizzare nel codice di addestramento. Puoi scegliere di eseguire il codice di addestramento con uno di questi container o creare un container personalizzato con il codice di addestramento e le dipendenze preinstallate.

Esistono tre opzioni per il packaging del codice sulla piattaforma agentica Gemini Enterprise:

  1. Invia un singolo file Python.
  2. Crea una distribuzione di origine Python.
  3. Utilizza container personalizzati.

File python

Questa opzione è adatta a esperimenti rapidi. Puoi utilizzare questa opzione se tutto il codice necessario per eseguire l'applicazione di addestramento si trova in un file Python e uno dei container di addestramento predefiniti di Gemini Enterprise Agent Platform contiene tutte le librerie necessarie per eseguire l'applicazione. Per un esempio di pacchettizzazione dell'applicazione di addestramento come singolo file Python, consulta il tutorial del blocco note Addestramento personalizzato e inferenza batch.

Distribuzione di origine Python

Puoi creare una distribuzione di origine Python che contenga l'applicazione di addestramento. Archivierai la distribuzione dell'origine con il codice di addestramento e le dipendenze in un bucket Cloud Storage. Per un esempio di pacchettizzazione dell'applicazione di addestramento come distribuzione di origine Python, consulta il tutorial del blocco note Training, tuning and deploying a PyTorch classification model.

Container personalizzato

Questa opzione è utile quando vuoi avere un maggiore controllo sulla tua applicazione o magari vuoi eseguire codice non scritto in Python. In questo caso, devi scrivere un Dockerfile, creare l'immagine personalizzata ed eseguirne il push su Artifact Registry. Per un esempio di containerizzazione dell'applicazione di addestramento, consulta il tutorial del blocco note Profilare le prestazioni dell'addestramento del modello utilizzando Profiler.

Se scegli di creare un pacchetto del codice come distribuzione di origine Python o come container personalizzato, ti consigliamo di strutturare l'applicazione come segue:

training-application-dir/
....setup.py
....Dockerfile
trainer/
....task.py
....model.py
....utils.py

Crea una directory per archiviare tutto il codice dell'applicazione di addestramento, in questo caso, training-application-dir. Questa directory conterrà un file setup.py se utilizzi una distribuzione di codice sorgente Python o un file Dockerfile se utilizzi un container personalizzato.

In entrambi gli scenari, questa directory di livello superiore conterrà anche una sottodirectory trainer, che contiene tutto il codice per eseguire l'addestramento. All'interno di trainer, task.py è l'entry point principale della tua applicazione. Questo file esegue l'addestramento del modello. Puoi scegliere di inserire tutto il codice in questo file, ma per le applicazioni di produzione è probabile che tu abbia file aggiuntivi, ad esempio model.py, data.py, utils.py, per citarne alcuni.

Eseguire un addestramento personalizzato

I job di addestramento sulla piattaforma agentica Gemini Enterprise eseguono automaticamente il provisioning delle risorse di calcolo, eseguono il codice dell'applicazione di addestramento e garantiscono l'eliminazione delle risorse di calcolo al termine del job di addestramento.

Man mano che crei flussi di lavoro più complessi, è probabile che utilizzerai l'SDK Agent Platform per Python per configurare, inviare e monitorare i job di addestramento. Tuttavia, la prima volta che esegui un job di addestramento personalizzato, può essere più facile utilizzare la console Google Cloud .

  1. Nella console Google Cloud , vai alla pagina Training.

    Vai alla formazione

  2. Fai clic su Addestra nuovo modello.

  3. In Metodo di addestramento del modello, seleziona Addestramento personalizzato (avanzato).

    specificare il metodo di addestramento

  4. Nella sezione Container di addestramento, seleziona il container predefinito o personalizzato, a seconda di come hai pacchettizzato l'applicazione.

    specifica il container di addestramento

  5. In Compute e prezzi, specifica l'hardware per il job di addestramento. Per l'addestramento con un nodo singolo, devi configurare solo il pool di worker 0. Se ti interessa eseguire l'addestramento distribuito, devi comprendere gli altri pool di worker. Per saperne di più, consulta la sezione Addestramento distribuito.

    compute di addestramento

La configurazione del contenitore di inferenza è facoltativa. Se vuoi solo addestrare un modello sulla piattaforma agentica Gemini Enterprise e accedere agli artefatti del modello salvati risultanti, puoi saltare questo passaggio. Se vuoi ospitare ed eseguire il deployment del modello risultante sul servizio di inferenza gestito di Gemini Enterprise Agent Platform, devi configurare un container di inferenza. Per saperne di più, consulta Ottenere inferenze da un modello con addestramento personalizzato.

Monitoraggio dei job di addestramento

Puoi monitorare il job di addestramento nella console Google Cloud . Vedrai un elenco di tutti i job eseguiti. Puoi fare clic su un job specifico ed esaminare i log in caso di problemi.

dashboard di addestramento

Notebook

Video