Implementazione del machine learning

Last reviewed 2023-08-23 UTC

Questo documento nel framework dell'architettura Google Cloud illustra alcuni dei principi fondamentali e delle best practice per l'analisi dei dati in Google Cloud. Scoprirai alcuni dei principali servizi di AI e machine learning (ML) e come possono essere utili durante le varie fasi del ciclo di vita di AI e ML. Queste best practice ti aiutano a soddisfare le tue esigenze di AI e ML e a creare la progettazione del tuo sistema. Questo documento presuppone la conoscenza di concetti AI e ML di base.

Per semplificare il processo di sviluppo e ridurre al minimo l'overhead quando crei modelli ML su Google Cloud, prendi in considerazione il massimo livello di astrazione adatto al tuo caso d'uso. Il livello di astrazione è definito come la quantità di complessità con cui un sistema viene visualizzato o programmato. Più alto è il livello di astrazione, minore è il dettaglio disponibile per lo spettatore.

Per selezionare i servizi IA e ML di Google in base alle tue esigenze aziendali, utilizza la seguente tabella:

Utente tipo Servizi Google
Utenti aziendali Soluzioni standard come Contact Center AI Insights, Document AI, Discovery AI e API Cloud Healthcare.
Sviluppatori con esperienza di ML minima Le API preaddestrate eseguono attività percettive comuni come visione artificiale, video e linguaggio naturale. Queste API sono supportate da modelli preaddestrati e forniscono rilevatori predefiniti. Sono pronte per l'uso, senza alcuna esperienza in materia di ML o di sviluppo di modelli. Le API preaddestrate includono: API Vision, API Video, API Natural Language, API Speech-to-Text, API Text-to-Speech e API Cloud Translation.
IA generativa per sviluppatori Vertex AI Agent Builder consente agli sviluppatori di utilizzare le sue funzionalità predefinite per creare ed eseguire il deployment di chatbot in pochi minuti e motori di ricerca in ore. Gli sviluppatori che vogliono combinare più funzionalità nei flussi di lavoro aziendali possono utilizzare l'API Gen App Builder per l'integrazione diretta.
Sviluppatori e data scientist AutoML consente lo sviluppo di modelli personalizzati con i tuoi dati immagine, video, di testo o tabulari. AutoML accelera lo sviluppo dei modelli con la ricerca automatica nella raccolta di modelli di Google per ottenere l'architettura dei modelli con le migliori prestazioni, in modo da non dover creare il modello. AutoML gestisce automaticamente le attività più comuni, come la scelta di un'architettura del modello, l'ottimizzazione degli iperparametri e il provisioning delle macchine per l'addestramento e la gestione.
Data scientist e ML engineer Gli strumenti per modelli personalizzati di Vertex AI consentono di addestrare e gestire modelli personalizzati e rendere operativi il flusso di lavoro ML. Puoi anche eseguire il tuo carico di lavoro ML su un computing autogestito come le VM di Compute Engine.
Data scientist e machine learning engineer Il supporto dell'IA generativa su Vertex AI (noto anche come genai) fornisce l'accesso ai grandi modelli di IA generativa di Google per consentirti di testare, ottimizzare ed eseguire il deployment dei modelli nelle tue applicazioni basate sull'IA.
Data engineer, data scientist e analisti di dati che hanno familiarità con le interfacce SQL BigQuery ML ti consente di sviluppare modelli basati su SQL sulla base dei dati archiviati in BigQuery.

Servizi chiavi

La tabella seguente fornisce una panoramica generale dei servizi AI e ML:

Servizio Google Description
Cloud Storage e BigQuery Offri opzioni di archiviazione flessibili per dati e artefatti di machine learning.
BigQuery ML Consente di creare modelli di machine learning direttamente da dati ospitati in BigQuery.
Pub/Sub, Dataflow,
Cloud Data Fusion e Dataproc
Supporta l'importazione e l'elaborazione dei dati in batch e in tempo reale. Per ulteriori informazioni, consulta Analisi di dati.
Vertex AI Offre a data scientist e machine learning engineer un'unica piattaforma per creare, addestrare, testare, monitorare, ottimizzare ed eseguire il deployment di modelli ML per qualsiasi attività, dall'AI generativa alle MLOps.

Gli strumenti includono quanto segue:
Agent Builder di Vertex AI Consente di creare chatbot e motori di ricerca per i siti web e per l'utilizzo nei dati aziendali.
  • L'IA conversazionale su Vertex AI Agent Builder può aiutare a reinventare le interazioni di clienti e dipendenti con chatbot e assistenti digitali basati sull'IA generativa. Ad esempio, con questi strumenti puoi fornire più di semplici informazioni abilitando le transazioni dall'interno dell'esperienza di chat.
  • Enterprise Search su Vertex AI Agent Builder consente alle aziende di creare esperienze di ricerca per clienti e dipendenti sui loro siti web pubblici o privati. Oltre a fornire risultati di ricerca multimodali di alta qualità, Enterprise Search può anche riassumere i risultati e fornire le citazioni corrispondenti con lAI generativa.
IA generativa su Vertex AI Consente di accedere ai modelli di IA generativa di grandi dimensioni di Google in modo da testarli, ottimizzarli ed eseguirne il deployment per l'uso nelle applicazioni basate sull'IA. L'IA generativa su Vertex AI è nota anche come genai.
  • I modelli di AI generativa, noti anche come modelli di base, sono classificati in base al tipo di contenuti per cui sono progettati. Questi contenuti includono testi e chat, immagini, codici e incorporamenti di testo.
  • Vertex AI Studio consente di prototipare e testare rapidamente modelli di IA generativa nella console Google Cloud. Puoi testare i prompt di esempio, progettare i tuoi prompt e personalizzare i modelli di base per gestire attività che soddisfano le esigenze della tua applicazione.
  • Ottimizzazione dei modelli: consente di personalizzare i modelli di base per casi d'uso specifici ottimizzandoli utilizzando un set di dati di esempi di input-output.
  • Model Garden fornisce modelli di base di livello enterprise, modelli specifici per le attività e API.
API preaddestrate
AutoML Fornisce strumenti per modelli personalizzati per creare, eseguire il deployment e scalare i modelli ML. Gli sviluppatori possono caricare i propri dati e usare il servizio AutoML applicabile per creare un modello.
  • AutoML Image: esegue la classificazione delle immagini e il rilevamento di oggetti sui dati delle immagini.
  • AutoML Video: esegue il rilevamento degli oggetti, la classificazione e il riconoscimento delle azioni sui dati video.
  • AutoML Text: esegue la classificazione dei linguaggi, l'estrazione delle entità e l'analisi del sentiment sui dati di testo.
  • AutoML Translation: rileva e traduce tra coppie di lingue.
  • Tabulare AutoML: consente di creare un modello di regressione, classificazione o previsione. Destinato ai dati strutturati.
AI infrastructure Consente di utilizzare acceleratori di AI per elaborare carichi di lavoro ML su larga scala. Questi acceleratori consentono di addestrare e ottenere inferenze da modelli di deep learning e da modelli di machine learning in modo conveniente.

Le GPU possono essere utili per l'inferenza economica e per l'addestramento con scale up o scale out per i modelli di deep learning. Le Tensor Processing Unit (TPU) sono ASIC personalizzati per addestrare ed eseguire reti neurali profonde.
Dialogflow Fornisce agenti virtuali che offrono un'esperienza di conversazione.
Contact Center AI Fornisce un'esperienza di contact center automatizzata e ricca di insight con la funzionalità Agent Assist per agenti umani.
Document AI Offre una comprensione dei documenti su larga scala per documenti in generale e per tipi di documenti specifici, come quelli relativi al prestito e all'approvvigionamento.
Lending DocAI Automatizza l'elaborazione di documenti relativi ai mutui. Riduce i tempi di elaborazione e semplifica l'acquisizione dei dati supportando al contempo i requisiti normativi e di conformità.
Procurement DocAI Automatizza l'acquisizione dei dati di approvvigionamento su larga scala trasformando documenti non strutturati (come fatture e ricevute) in dati strutturati per aumentare l'efficienza operativa, migliorare l'esperienza del cliente e informare i processi decisionali.
Suggerimenti Fornisce consigli personalizzati sui prodotti.
AI Healthcare Natural Language Consente di rivedere e analizzare documenti medici.
API Media Translation Consente la traduzione del parlato in tempo reale dai dati audio.

Trattamento dati

Applica le seguenti best practice per il trattamento dei dati al tuo ambiente.

Assicurati che i dati soddisfino i requisiti di ML

I dati utilizzati per il machine learning devono soddisfare determinati requisiti di base, indipendentemente dal tipo di dati. Questi requisiti includono la capacità dei dati di prevedere il target, la coerenza nella granularità tra i dati utilizzati per l'addestramento e quelli utilizzati per la previsione e i dati etichettati con precisione per l'addestramento. I dati dovrebbero inoltre essere sufficienti in termini di volume. Per scoprire di più, consulta Trattamento dati.

Archivia i dati tabulari in BigQuery

Se utilizzi dati tabulari, valuta la possibilità di archiviare tutti i dati in BigQuery e di utilizzare l'API BigQuery Storage per leggerne i dati. Per semplificare l'interazione con l'API, utilizza uno dei seguenti strumenti aggiuntivi, a seconda di dove vuoi leggere i dati:

Il tipo di dati di input determina inoltre gli strumenti disponibili per lo sviluppo del modello. Le API preaddestrate, AutoML e BigQuery ML possono fornire ambienti di sviluppo più convenienti ed efficienti in termini di tempo per determinati casi d'uso di immagini, video, testo e dati strutturati.

Assicurati di avere dati sufficienti a sviluppare un modello di ML

Per sviluppare un modello di ML utile, devi avere abbastanza dati. Per prevedere una categoria, il numero consigliato di esempi per ogni categoria è dieci volte il numero di caratteristiche. Più categorie vuoi prevedere, più dati avrai bisogno. I set di dati non bilanciati richiedono ancora più dati. Se non hai a disposizione un volume sufficiente di dati etichettati, prendi in considerazione l'apprendimento semi-supervisionato.

Le dimensioni del set di dati influiscono anche sull'addestramento e sulla pubblicazione: se disponi di un set di dati di piccole dimensioni, puoi addestrarlo direttamente all'interno di un'istanza Notebooks; se disponi di set di dati più grandi che richiedono l'addestramento distribuito, utilizza il servizio di addestramento personalizzato Vertex AI. Se vuoi che Google addestra il modello per i tuoi dati, utilizza AutoML.

Prepara i dati per il consumo

Una buona preparazione dei dati può accelerare lo sviluppo del modello. Quando configuri la tua pipeline di dati, assicurati che possa elaborare dati sia in batch che in flussi, in modo da ottenere risultati coerenti da entrambi i tipi di dati.

Sviluppo e addestramento di modelli

Applica le seguenti best practice per lo sviluppo e l'addestramento di modelli al tuo ambiente.

Scegli lo sviluppo di modelli gestiti o con addestramento personalizzato

Quando crei il tuo modello, considera il massimo livello di astrazione possibile. Quando possibile, usa AutoML per gestire le attività di sviluppo e addestramento. Per i modelli con addestramento personalizzato, scegli opzioni gestite per scalabilità e flessibilità, anziché opzioni autogestite. Per scoprire di più sulle opzioni di sviluppo dei modelli, consulta Utilizzare gli strumenti e i prodotti consigliati.

Prendi in considerazione il servizio di addestramento Vertex AI anziché l'addestramento autogestito sulle VM di Compute Engine o i container Deep Learning VM. Per un ambiente JupyterLab, prendi in considerazione Vertex AI Workbench, che fornisce ambienti JupyterLab gestiti e gestiti dall'utente. Per ulteriori informazioni, consulta Sviluppo del machine learning e Addestramento operativo.

Usa container predefiniti o personalizzati per i modelli con addestramento personalizzato

Per i modelli con addestramento personalizzato su Vertex AI, puoi utilizzare container predefiniti o personalizzati a seconda del framework e della versione del framework di machine learning. I container predefiniti sono disponibili per le applicazioni di addestramento Python create per versioni specifiche di TensorFlow, scikit-learn, PyTorch e XGBoost.

In alternativa, puoi scegliere di creare un container personalizzato per il job di addestramento. Ad esempio, utilizza un container personalizzato se vuoi addestrare il modello con un framework ML Python non disponibile in un container predefinito, oppure se vuoi eseguire l'addestramento con un linguaggio di programmazione diverso da Python. Nel tuo container personalizzato, preinstalla l'applicazione di addestramento e tutte le sue dipendenze su un'immagine che esegue il job di addestramento.

Considera i requisiti di addestramento distribuito

Considera i tuoi requisiti di addestramento distribuito. Alcuni framework di ML, come TensorFlow e PyTorch, consentono di eseguire codice di addestramento identico su più macchine. Questi framework coordinano automaticamente la divisione del lavoro in base alle variabili di ambiente impostate su ogni macchina. Altri framework potrebbero richiedere un'ulteriore personalizzazione.

Passaggi successivi

Per saperne di più su AI e machine learning, consulta quanto segue:

Esplora altre categorie nel framework dell'architettura come affidabilità, eccellenza operativa e sicurezza, privacy e conformità.