Well-Architected Framework: prospettiva IA e ML

Last reviewed 2025-02-14 UTC

Questo documento del Google Cloud Framework Well-Architected descrive principi e consigli per aiutarti a progettare, creare e gestire i carichi di lavoro di AI e ML in Google Cloud modo da soddisfare i tuoi obiettivi operativi, di sicurezza, affidabilità, costi e prestazioni.

Il pubblico di destinazione di questo documento include responsabili delle decisioni, architetti, amministratori, sviluppatori e operatori che progettano, creano, implementano e gestiscono i carichi di lavoro di IA e ML in Google Cloud.

Le pagine seguenti descrivono principi e consigli specifici per l'IA e l'apprendimento automatico, per ogni pilastro del framework Well-Architected:

Collaboratori

Autori:

Altri collaboratori:

Prospettiva di IA e ML: eccellenza operativa

Questo documento del framework di progettazione ben strutturata: prospettiva di IA e ML fornisce una panoramica dei principi e dei consigli per aiutarti a creare e gestire sistemi di IA e ML affidabili su Google Cloud. Questi consigli ti aiutano a configurare elementi fondamentali come osservabilità, automazione e scalabilità. I consigli di questo documento sono in linea con il pilastro dell'eccellenza operativa del Google Cloud Well-Architected Framework.

L'eccellenza operativa nel dominio dell'IA e del ML è la capacità di eseguire facilmente il deployment, gestire e governare le complesse pipeline e i sistemi di IA e ML che supportano gli obiettivi strategici della tua organizzazione. L'eccellenza operativa ti consente di rispondere in modo efficiente ai cambiamenti, ridurre la complessità operativa e garantire che le operazioni rimangano in linea con gli obiettivi commerciali.

Creare una base solida per lo sviluppo del modello

Stabilisci una base solida per semplificare lo sviluppo del modello, dalla definizione del problema al deployment. Una base di questo tipo garantisce che le tue soluzioni di IA siano basate su componenti e scelte affidabili ed efficienti. Questo tipo di base ti consente di rilasciare modifiche e miglioramenti in modo rapido e semplice.

Prendi in considerazione i seguenti consigli:

  • Definisci il problema che il sistema di IA risolve e il risultato che vuoi ottenere.
  • Identifica e raccogli i dati pertinenti necessari per addestrare e valutare i tuoi modelli. Poi, pulisci e pre-elabora i dati non elaborati. Implementa controlli di convalida dei dati per garantire la qualità e l'integrità dei dati.
  • Scegli l'approccio di ML appropriato per l'attività. Quando progetti la struttura e i parametri del modello, tieni conto della complessità e dei requisiti di calcolo del modello.
  • Adotta un sistema di controllo della versione per codice, modello e dati.

Automatizzare il ciclo di vita dello sviluppo del modello

Dalla preparazione e dall'addestramento dei dati al deployment e al monitoraggio, l'automazione ti aiuta a migliorare la qualità e l'efficienza delle tue operazioni. L'automazione consente lo sviluppo e il deployment dei modelli in modo semplice, ripetibile e senza errori. L'automazione riduce al minimo l'intervento manuale, velocizza i cicli di rilascio e garantisce la consistenza tra gli ambienti.

Prendi in considerazione i seguenti consigli:

  • Utilizza un sistema di orchestrazione delle pipeline gestite per orchestrare e automatizzare il flusso di lavoro di ML. La pipeline deve gestire i passaggi principali del ciclo di vita di sviluppo: preparazione, addestramento, deployment e valutazione.
  • Implementa le pipeline CI/CD per il ciclo di vita dello sviluppo del modello. Queste pipeline devono automatizzare la creazione, il test e il deployment dei modelli. Le pipeline devono includere anche l'addestramento continuo per addestrare nuovamente i modelli su nuovi dati, se necessario.
  • Implementa approcci di rilascio graduale come deployment canary o test A/B per rilasci sicuri e controllati dei modelli.

Implementare l'osservabilità

Quando implementi l'osservabilità, puoi ottenere informazioni approfondite sulle prestazioni del modello, sulla deriva dei dati e sullo stato di salute del sistema. Implementa meccanismi di monitoraggio, invio di avvisi e registrazione continui per identificare proattivamente i problemi, attivare risposte tempestive e garantire la continuità operativa.

Prendi in considerazione i seguenti consigli:

  • Implementa il monitoraggio delle prestazioni permanente e automatico per i tuoi modelli. Utilizza le metriche e i criteri di successo per la valutazione continua del modello dopo il deployment.
  • Monitora gli endpoint e l'infrastruttura di deployment per garantire la disponibilità del servizio.
  • Configura avvisi personalizzati in base a soglie e anomalie specifiche per l'attività per assicurarti che i problemi vengano identificati e risolti in modo tempestivo.
  • Utilizza tecniche di IA spiegabile per comprendere e interpretare gli output del modello.

Creare una cultura dell'eccellenza operativa

L'eccellenza operativa si basa su persone, cultura e pratiche professionali. Il successo del tuo team e della tua attività dipende dall'efficacia con cui la tua organizzazione implementa metodologie che consentono lo sviluppo affidabile e rapido delle funzionalità di IA.

Prendi in considerazione i seguenti consigli:

  • Promuovi l'automazione e la standardizzazione come metodologie di sviluppo di base. Semplifica i flussi di lavoro e gestisci il ciclo di vita del ML in modo efficiente utilizzando le tecniche MLOps. Automatizza le attività per liberare tempo per l'innovazione e standardizza le procedure per garantire coerenza e semplificare la risoluzione dei problemi.
  • Dai la priorità all'apprendimento e al miglioramento continui. Promuovere opportunità di apprendimento che i membri del team possono utilizzare per migliorare le proprie competenze e rimanere al passo con gli sviluppi di AI e ML. Incoraggia la sperimentazione e svolgi regolarmente analisi di retrospettiva per identificare le aree di miglioramento.
  • Coltiva una cultura di responsabilità e proprietà. Definisci ruoli chiari in modo che tutti comprendano i propri contributi. Consenti ai team di prendere decisioni entro limiti prestabiliti e monitorare l'avanzamento utilizzando metriche trasparenti.
  • Incorporare l'etica e la sicurezza dell'IA nella cultura. Dai la priorità ai sistemi responsabili integrando considerazioni etiche in ogni fase del ciclo di vita dell'IA. Stabilisci principi etici chiari e promuovi discussioni aperte su questioni legate all'etica.

Progettare per la scalabilità

Progetta le tue soluzioni di IA per gestire i crescenti volumi di dati e le richieste degli utenti. Utilizza un'infrastruttura scalabile in modo che i tuoi modelli possano adattarsi e funzionare in modo ottimale man mano che il progetto si espande.

Prendi in considerazione i seguenti consigli:

  • Pianifica la capacità e le quote. Anticipa la crescita futura e pianifica la capacità dell'infrastruttura e le quote di risorse di conseguenza.
  • Preparati per gli eventi di picco. Assicurati che il tuo sistema possa gestire picchi improvvisi di traffico o di carico di lavoro durante gli eventi di picco.
  • Eseguire lo scaling delle applicazioni di IA per la produzione. Progetta la scalabilità orizzontale per gestire gli aumenti del carico di lavoro. Utilizza framework come Ray su Vertex AI per eseguire in parallelo le attività su più macchine.
  • Utilizza i servizi gestiti, se opportuno. Utilizza servizi che ti aiutano a scalare riducendo al minimo l'overhead operativo e la complessità degli interventi manuali.

Collaboratori

Autori:

Altri collaboratori:

Prospettiva di IA e ML: sicurezza

Questo documento del framework Well-Architected: prospettiva IA e ML fornisce una panoramica di principi e consigli per garantire che i tuoi implementazioni di IA e ML soddisfino i requisiti di sicurezza e conformità della tua organizzazione. I consigli contenuti in questo documento sono in linea con il pilastro della sicurezza del Google Cloud Well-Architected Framework.

Il deployment sicuro dei carichi di lavoro di IA e ML è un requisito fondamentale, in particolare negli ambienti aziendali. Per soddisfare questo requisito, devi adottare un approccio alla sicurezza olistico che parta dalla concettualizzazione iniziale delle tue soluzioni di IA e ML e si estenda allo sviluppo, al deployment e alle operazioni in corso. Google Cloud offre strumenti e servizi solidi progettati per aiutarti a proteggere i tuoi carichi di lavoro di IA e ML.

Definisci obiettivi e requisiti chiari

È più facile integrare i controlli di sicurezza e conformità richiesti all'inizio del processo di progettazione e sviluppo rispetto ad aggiungerli dopo lo sviluppo. Fin dall'inizio del processo di progettazione e sviluppo, prendi decisioni appropriate per il tuo ambiente di rischio specifico e per le tue priorità aziendali specifiche.

Prendi in considerazione i seguenti consigli:

  • Identifica i potenziali vettori di attacco e adotta fin dall'inizio una prospettiva di sicurezza e conformità. Durante la progettazione e l'evoluzione dei tuoi sistemi di IA, tieni traccia della superficie di attacco, dei potenziali rischi e delle obbligazioni che potresti dover affrontare.
  • Allinea le tue iniziative di sicurezza per l'IA e l'apprendimento automatico ai tuoi obiettivi commerciali e assicurati che la sicurezza sia parte integrante della tua strategia complessiva. Comprendi gli effetti delle tue scelte di sicurezza sui tuoi obiettivi commerciali principali.

Mantieni i dati al sicuro ed evita la perdita o la gestione errata

I dati sono una risorsa preziosa e sensibile che deve essere protetta. La sicurezza dei dati ti aiuta a mantenere la fiducia degli utenti, a supportare i tuoi obiettivi commerciali e a soddisfare i tuoi requisiti di conformità.

Prendi in considerazione i seguenti consigli:

  • Non raccogliere, conservare o utilizzare dati non strettamente necessari per i tuoi scopi commerciali. Se possibile, utilizza dati sintetici o completamente anonimizzati.
  • Monitora la raccolta, lo stoccaggio e la trasformazione dei dati. Gestisci i log per tutte le attività di accesso e manipolazione dei dati. I log ti aiutano a controllare l'accesso ai dati, a rilevare tentativi di accesso non autorizzati e a impedire accessi indesiderati.
  • Implementa diversi livelli di accesso (ad esempio senza accesso, sola lettura o scrittura) in base ai ruoli utente. Assicurati che le autorizzazioni vengano assegnate in base al principio del privilegio minimo. Gli utenti devono disporre solo delle autorizzazioni minime necessarie per svolgere le attività del loro ruolo.
  • Implementa misure come crittografia, perimetri sicuri e limitazioni sul movimento dei dati. Queste misure ti aiutano a prevenire l'esfiltrazione e la perdita di dati.
  • Proteggi i tuoi sistemi di addestramento ML dall'inquinamento dei dati.

Mantieni le pipeline di AI sicure e resistenti alla manomissione

Il codice di IA e ML e le pipeline definite dal codice sono asset critici. Il codice non protetto può essere manomesso, il che può comportare fughe di dati, mancata conformità e interruzione di attività aziendali critiche. Mantenere al sicuro il codice di IA e ML contribuisce a garantire l'integrità e il valore dei modelli e degli output dei modelli.

Prendi in considerazione i seguenti consigli:

  • Utilizza pratiche di codifica sicura, come la gestione delle dipendenze o la convalida e la sanitizzazione degli input, durante lo sviluppo del modello per evitare vulnerabilità.
  • Proteggi il codice della pipeline e gli elementi del modello, come file, pesi del modello e specifiche di implementazione, da accessi non autorizzati. Implementa livelli di accesso diversi per ogni elemento in base ai ruoli e alle esigenze degli utenti.
  • Applica la concatenazione e il monitoraggio delle esecuzioni delle pipeline e degli asset. Questa applicazione ti aiuta a soddisfare i requisiti di conformità ed evitare di compromettere i sistemi di produzione.

Esegui il deployment su sistemi sicuri con strumenti e elementi sicuri

Assicurati che il codice e i modelli vengano eseguiti in un ambiente sicuro con un sistema di controllo dell'accesso solido con garanzie di sicurezza per gli strumenti e gli elementi di cui viene eseguito il deployment nell'ambiente.

Prendi in considerazione i seguenti consigli:

  • Addestrare ed eseguire il deployment dei modelli in un ambiente sicuro con controlli di accesso appropriati e protezione contro l'uso o la manipolazione non autorizzati.
  • Segui le linee guida standard Supply-chain Levels for Software Artifacts (SLSA) per gli elementi specifici dell'IA, come modelli e pacchetti software.
  • Preferisci utilizzare immagini container predefinite convalidate progettate appositamente per i workload di IA.

Proteggere e monitorare gli input

I sistemi di IA hanno bisogno di input per fare previsioni, generare contenuti o automatizzare le azioni. Alcuni input potrebbero comportare rischi o essere utilizzati come vettori di attacco che devono essere rilevati e sottoposti a sanificazione. Rilevare tempestivamente potenziali input dannosi ti aiuta a mantenere i tuoi sistemi di IA sicuri e operativi come previsto.

Prendi in considerazione i seguenti consigli:

  • Implementa pratiche sicure per sviluppare e gestire i prompt per i sistemi di AI generativa e assicurati che i prompt vengano sottoposti a screening per rilevare intenti dannosi.
  • Monitora gli input ai sistemi predittivi o generativi per evitare problemi come endpoint sovraccaricati o prompt che i sistemi non sono progettati per gestire.
  • Assicurati che solo gli utenti previsti di un sistema di cui è stato eseguito il deployment possano utilizzarlo.

Monitora, valuta e preparati a rispondere ai risultati

I sistemi di IA generano valore perché producono output che migliorano, ottimizzano o automatizzano il processo decisionale umano. Per mantenere l'integrità e l'affidabilità delle applicazioni e dei sistemi di IA, devi assicurarti che gli output siano sicuri e rientrino nei parametri previsti. Inoltre, devi avere un piano per rispondere agli incidenti.

Prendi in considerazione i seguenti consigli:

  • Monitora gli output dei tuoi modelli di IA e ML in produzione e identifica eventuali problemi di prestazioni, sicurezza e conformità.
  • Valuta le prestazioni del modello implementando metriche e misure di sicurezza solide, ad esempio identificando risposte generative estranee all'ambito o output estremi nei modelli predittivi. Raccogli il feedback degli utenti sul rendimento del modello.
  • Implementa procedure di avviso e risposta agli incidenti efficaci per risolvere eventuali potenziali problemi.

Collaboratori

Autori:

Altri collaboratori:

Prospettiva di IA e ML: affidabilità

Questo documento del framework Well-Architected: prospettiva IA e ML fornisce una panoramica dei principi e dei consigli per progettare e gestire sistemi di IA e ML affidabili su Google Cloud. Spiega come integrare pratiche di affidabilità e osservabilità avanzate nei blueprint di architettura. I consigli contenuti in questo documento sono in linea con il pilastro dell'affidabilità del Google Cloud Well-Architected Framework.

Nel panorama in rapida evoluzione dell'IA e del ML, sistemi affidabili sono essenziali per garantire la soddisfazione dei clienti e raggiungere gli obiettivi commerciali. Hai bisogno di sistemi di IA e ML robusti, affidabili e adattabili per soddisfare le esigenze specifiche sia del ML predittivo sia dell'IA generativa. Per gestire le complessità del MLOps, dall'evoluzione al deployment e al miglioramento continuo, devi utilizzare un approccio incentrato sull'affidabilità. Google Cloud offre un'infrastruttura di AI specifica in linea con i principi di Site Reliability Engineering (SRE) e fornisce una base solida per sistemi di AI e ML affidabili.

Assicurati che l'infrastruttura sia scalabile e ad alta disponibilità

Progettando l'architettura in base a scalabilità e disponibilità, consenti alle tue applicazioni di gestire livelli diversi di domanda senza interruzioni del servizio o degradamento delle prestazioni. Ciò significa che i tuoi servizi di IA sono ancora disponibili per gli utenti durante le interruzioni dell'infrastruttura e quando il traffico è molto elevato.

Prendi in considerazione i seguenti consigli:

  • Progetta i tuoi sistemi di IA con funzionalità di scalabilità automatica e dinamica per gestire le fluttuazioni della domanda. In questo modo, puoi garantire un rendimento ottimale anche durante i picchi di traffico.
  • Gestisci le risorse in modo proattivo e anticipa le esigenze future tramite test di carico e monitoraggio delle prestazioni. Utilizza dati storici e analisi predittive per prendere decisioni consapevoli sull'allocazione delle risorse.
  • Progetta in funzione dell'alta disponibilità e della tolleranza di errore adottando gli archetipi di deployment multizona e multiregione in Google Cloud e implementando ridondanza e replica.
  • Distribuisci il traffico in entrata su più istanze di servizi e endpoint di AI e ML. Il bilanciamento del carico contribuisce a evitare il sovraccarico di singole istanze e a garantire prestazioni e disponibilità coerenti.

Utilizza un'architettura modulare e a basso accoppiamento

Per rendere i sistemi di IA resilienti ai guasti dei singoli componenti, utilizza un'architettura modulare. Ad esempio, progetta i componenti di elaborazione e convalida dei dati come moduli separati. Quando un determinato componente non funziona, l'architettura modulare consente di ridurre al minimo i tempi di riposo e consente ai team di sviluppare e implementare le correzioni più rapidamente.

Prendi in considerazione i seguenti consigli:

  • Separa il sistema di AI e ML in piccoli moduli o componenti autocontenuti. Questo approccio favorisce la riutilizzabilità del codice, semplifica i test e la manutenzione e ti consente di sviluppare e implementare i singoli componenti in modo indipendente.
  • Progetta i moduli a basso accoppiamento con interfacce ben definite. Questo approccio riduce al minimo le dipendenze e ti consente di apportare aggiornamenti e modifiche indipendenti senza influire sull'intero sistema.
  • Pianifica la riduzione controllata. Quando un componente si guasta, le altre parti del sistema devono continuare a fornire un livello adeguato di funzionalità.
  • Utilizza le API per creare confini chiari tra i moduli e per nascondere i dettagli di implementazione a livello di modulo. Questo approccio ti consente di aggiornare o sostituire singoli componenti senza influire sulle interazioni con altre parti del sistema.

Creare una piattaforma MLOps automatizzata

Con una piattaforma MLOps automatizzata, le fasi e gli output del ciclo di vita del modello sono più affidabili. Promuovendo la coerenza, il disaccoppiamento e la modularità e esprimendo le operazioni e l'infrastruttura come codice, rimuovi i passaggi manuali fragili e gestisci sistemi di IA e ML più robusti e affidabili.

Prendi in considerazione i seguenti consigli:

  • Automatizza il ciclo di vita dello sviluppo del modello, dalla preparazione e convalida dei dati all'addestramento, alla valutazione, al deployment e al monitoraggio dei modelli.
  • Gestisci la tua infrastruttura come codice (IaC). Questo approccio consente un controllo efficiente delle versioni, rollback rapidi se necessario e deployment ripetibili.
  • Verifica che i modelli si comportino come previsto con dati pertinenti. Automatizza il monitoraggio delle prestazioni dei tuoi modelli e crea avvisi appropriati per le uscite impreviste.
  • Convalida gli input e gli output delle pipeline di AI e ML. Ad esempio, convalida dati, configurazioni, argomenti dei comandi, file e previsioni. Configura gli avvisi per valori imprevisti o non consentiti.
  • Adotta una strategia di controllo della versione gestita per gli endpoint del modello. Questo tipo di strategia consente rilasci incrementali e un rapido recupero in caso di problemi.

Mantieni la fiducia e il controllo tramite la governance dei dati e dei modelli

L'affidabilità dei sistemi di AI e ML dipende dalle funzionalità di attendibilità e governance dei tuoi dati e modelli. Gli output dell'IA possono non soddisfare le aspettative in modo silenzioso. Ad esempio, gli output potrebbero essere formalmente coerenti, ma essere scorretti o indesiderati. Implementando la tracciabilità e una governance solida, puoi assicurarti che gli output siano affidabili e attendibili.

Prendi in considerazione i seguenti consigli:

  • Utilizza un catalogo di dati e modelli per monitorare e gestire efficacemente le tue risorse. Per facilitare il monitoraggio e i controlli, mantieni un registro completo delle versioni dei dati e dei modelli durante tutto il ciclo di vita.
  • Implementa controlli di accesso rigorosi e procedure di controllo per proteggere i modelli e i dati sensibili.
  • Risolvi il problema critico del bias nell'IA, in particolare nelle applicazioni di IA generativa. Per conquistare la fiducia, cerca di ottenere trasparenza e spiegabilità nei risultati del modello.
  • Automatizza la generazione di statistiche sulle funzionalità e implementa il rilevamento di anomalie per identificare in modo proattivo i problemi relativi ai dati. Per garantire l'affidabilità del modello, stabilisci meccanismi per rilevare e mitigare l'impatto delle variazioni nelle distribuzioni dei dati.

Implementa pratiche di affidabilità e osservabilità olistiche per l'AI e l'ML

Per migliorare continuamente le operazioni di IA, devi definire obiettivi di affidabilità significativi e misurare i progressi. L'osservabilità è un elemento fondamentale di sistemi affidabili. L'osservabilità ti consente di gestire le operazioni in corso e gli eventi critici. L'osservabilità ben implementata ti aiuta a creare e mantenere un servizio affidabile per i tuoi utenti.

Prendi in considerazione i seguenti consigli:

  • Monitora le metriche dell'infrastruttura per i processori (CPU, GPU e TPU) e per altre risorse come l'utilizzo della memoria, la latenza della rete e l'utilizzo del disco. Esegui test di carico e monitoraggio delle prestazioni. Utilizza i risultati e le metriche dei test del monitoraggio per gestire la scalabilità e la capacità dei tuoi sistemi di IA e ML.
  • Stabilisci obiettivi di affidabilità e monitora le metriche delle applicazioni. Misura le metriche come velocità effettiva e latenza per le applicazioni IA che crei. Monitora i pattern di utilizzo delle tue applicazioni e degli endpoint esposti.
  • Definisci metriche specifiche del modello, come indicatori di accuratezza o sicurezza, per valutare l'affidabilità del modello. Monitora queste metriche nel tempo per identificare eventuali deviazioni o degradi. Per un controllo della versione e un'automazione efficaci, definisci le configurazioni di monitoraggio come codice.
  • Definisci e monitora le metriche a livello di attività per comprendere l'impatto dei tuoi modelli e dell'affidabilità sui risultati aziendali. Per misurare l'affidabilità dei tuoi servizi di AI e ML, ti consigliamo di adottare l'approccio SRE e di definire gli obiettivi del livello di servizio (SLO).

Collaboratori

Autori:

Altri collaboratori:

Prospettiva IA e ML: ottimizzazione dei costi

Questo documento del Framework Well-Architected: prospettiva IA e ML fornisce una panoramica di principi e consigli per ottimizzare il costo degli impianti di IA durante il ciclo di vita dell'ML. Adottando un approccio proattivo e consapevole alla gestione dei costi, la tua organizzazione può sfruttare tutto il potenziale dei sistemi di IA e ML e mantenere la disciplina finanziaria. I consigli contenuti in questo documento sono in linea con il pilastro di ottimizzazione dei costi del Google Cloud Framework Well-Architected.

I sistemi di AI e ML possono aiutarti a ricavare informazioni preziose e funzionalità predittive dai dati. Ad esempio, puoi ridurre le difficoltà nei processi interni, migliorare le esperienze utente, e ottenere informazioni più approfondite sui clienti. Il cloud offre enormi quantità di risorse e un rapido time-to-value senza grandi investimenti iniziali per i carichi di lavoro di IA e ML. Per massimizzare il valore aziendale e allineare la spesa agli obiettivi commerciali, devi comprendere i fattori che influiscono sui costi, ottimizzarli in modo proattivo, impostare controlli della spesa e adottare le pratiche di FinOps.

Definire e misurare costi e ritorni

Per gestire in modo efficace i costi di IA e ML in Google Cloud, devi definire e misurare le spese per le risorse cloud e il valore aziendale delle tue iniziative di IA e ML. Google Cloud fornisce strumenti completi per la gestione della fatturazione e dei costi per aiutarti a monitorare le spese in modo granulare. Le metriche sul valore dell'attività che puoi misurare includono la soddisfazione del cliente, le entrate e i costi operativi. Stabilendo metriche concrete sia per i costi sia per il valore aziendale, puoi prendere decisioni consapevoli sull'allocazione e sull'ottimizzazione delle risorse.

Prendi in considerazione i seguenti consigli:

  • Stabilisci obiettivi commerciali chiari e indicatori chiave di prestazione (KPI) per i tuoi progetti di IA e ML.
  • Utilizza i dati di fatturazione forniti da Google Cloud per implementare procedimenti di monitoraggio e generazione di report sui costi che possono aiutarti ad attribuire i costi a attività di AI e ML specifiche.
  • Stabilisci dashboard, sistemi di avviso e report per monitorare i costi e i ritorni rispetto ai KPI.

Ottimizza l'allocazione delle risorse

Per ottenere un'efficienza in termini di costi per i tuoi carichi di lavoro di IA e ML in Google Cloud, devi ottimizzare l'allocazione delle risorse. Allineando attentamente l'allocazione delle risorse alle esigenze dei tuoi carichi di lavoro, puoi evitare spese non necessarie e assicurarti che i tuoi sistemi di AI e ML dispongano delle risorse necessarie per funzionare in modo ottimale.

Prendi in considerazione i seguenti consigli:

  • Utilizza la scalabilità automatica per adattare dinamicamente le risorse per l'addestramento e l'inferenza.
  • Inizia con modelli e dati di piccole dimensioni. Risparmia sui costi testando le ipotesi su scala ridotta, se possibile.
  • Scopri le tue esigenze di calcolo tramite la sperimentazione. Scegli le risorse di addestramento e pubblicazione di dimensioni adeguate in base ai tuoi requisiti di ML.
  • Adotta pratiche MLOps per ridurre la duplicazione, le procedure manuali e la allocazione inefficiente delle risorse.

Applicare pratiche di gestione e governance dei dati

Pratiche efficaci di gestione e governance dei dati svolgono un ruolo fondamentale nell'ottimizzazione dei costi. I dati ben organizzati aiutano la tua organizzazione a evitare duplicazioni non necessarie, riducono lo sforzo necessario per ottenere dati di alta qualità e incoraggiano i team a riutilizzare i set di dati. Gestendo i dati in modo proattivo, puoi ridurre i costi di archiviazione, migliorare la qualità dei dati e assicurarti che i tuoi modelli di ML vengano addestrati e funzionino sui dati più pertinenti e importanti.

Prendi in considerazione i seguenti consigli:

  • Stabilisci e adotta un framework di governance dei dati ben definito.
  • Applica etichette e metadati pertinenti ai set di dati al momento dell'importazione dei dati.
  • Assicurati che i set di dati siano rilevabili e accessibili nell'intera organizzazione.
  • Rendi i tuoi set di dati e le tue funzionalità riutilizzabili durante tutto il ciclo di vita dell'apprendimento automatico, ove possibile.

Automatizza e semplifica con MLOps

Un vantaggio principale dell'adozione di pratiche MLOps è la riduzione dei costi, sia dal punto di vista tecnologico sia in termini di attività del personale. L'automazione consente di evitare la duplicazione delle attività di ML e di migliorare la produttività di data scientist e ML engineer.

Prendi in considerazione i seguenti consigli:

  • Aumenta il livello di automazione e standardizzazione delle tue tecnologie di raccolta ed elaborazione dei dati per ridurre il tempo e l'impegno di sviluppo.
  • Sviluppare pipeline di addestramento automatico per ridurre la necessità di interventi manuali e aumentare la produttività degli ingegneri. Implementa meccanismi per consentire alle pipeline di riutilizzare asset esistenti come set di dati preparati e modelli addestrati.
  • Utilizza i servizi di valutazione e ottimizzazione del modello in Google Cloud per aumentare le prestazioni del modello con meno iterazioni. In questo modo, i tuoi team di AI e ML possono raggiungere più obiettivi in meno tempo.

Utilizza servizi gestiti e modelli preaddestrati o esistenti

Esistono molti approcci per raggiungere gli obiettivi commerciali utilizzando l'IA e il machine learning. Adotta un approccio incrementale alla selezione e allo sviluppo dei modelli. In questo modo, eviterai costi eccessivi associati al dover ricominciare da capo ogni volta. Per controllare i costi, inizia con un approccio semplice: utilizza framework ML, servizi gestiti e modelli pre-addestrati.

Prendi in considerazione i seguenti consigli:

  • Consenti esperimenti di ML esplorativi e rapidi utilizzando gli ambienti di notebook.
  • Utilizza i modelli esistenti e pre-addestrati come punto di partenza per accelerare il processo di selezione e sviluppo dei modelli.
  • Utilizza i servizi gestiti per addestrare o pubblicare i tuoi modelli. Sia AutoML sia i servizi di addestramento dei modelli personalizzati gestiti possono contribuire a ridurre il costo dell'addestramento dei modelli. I servizi gestiti possono anche aiutarti a ridurre il costo dell'infrastruttura di pubblicazione dei modelli.

Promuovi una cultura di consapevolezza dei costi e di ottimizzazione continua

Favorisci un ambiente collaborativo che incoraggi la comunicazione e le revisioni periodiche. Questo approccio aiuta i team a identificare e implementare opportunità di risparmio nei vari stadi del ciclo di vita dell'apprendimento automatico.

Prendi in considerazione i seguenti consigli:

  • Adotta principi di FinOps durante il ciclo di vita del ML.
  • Assicurati che a tutti i costi e ai vantaggi commerciali dei progetti di IA e ML siano assegnati proprietari con responsabilità chiare.

Collaboratori

Autori:

Altri collaboratori:

Prospettiva IA e ML: ottimizzazione delle prestazioni

Questo documento del framework di progettazione ben strutturata: prospettiva di IA e ML fornisce una panoramica di principi e consigli per aiutarti a ottimizzare le prestazioni dei tuoi carichi di lavoro di IA e ML su Google Cloud. I consigli contenuti in questo documento sono in linea con il pilastro di ottimizzazione del rendimento del Google Cloud Framework Well-Architected.

I sistemi di IA e ML consentono nuove funzionalità di automazione e decisionale per la tua organizzazione. Il rendimento di questi sistemi può influire direttamente sui fattori di crescita della tua attività, come entrate, costi e soddisfazione dei clienti. Per sfruttare tutto il potenziale dei tuoi sistemi di IA e ML, devi ottimizzarne il rendimento in base ai tuoi obiettivi commerciali e ai tuoi requisiti tecnici. Il processo di ottimizzazione del rendimento spesso comporta determinati compromessi. Ad esempio, una scelta di design che offre le prestazioni richieste potrebbe comportare costi più elevati. I consigli contenuti in questo documento danno la priorità al rendimento rispetto ad altri fattori, come i costi.

Per ottimizzare il rendimento dell'AI e del ML, devi prendere decisioni in merito a fattori come l'architettura del modello, i parametri e la strategia di addestramento. Quando prendi queste decisioni, considera l'intero ciclo di vita dei sistemi di AI e ML e il loro ambiente di deployment. Ad esempio, gli LLM molto grandi possono avere un rendimento molto elevato su infrastrutture di addestramento di grandi dimensioni, ma i modelli molto grandi potrebbero non funzionare bene in ambienti con limitazioni di capacità come i dispositivi mobili.

Tradurre gli obiettivi commerciali in obiettivi di rendimento

Per prendere decisioni di architettura che ottimizzino il rendimento, inizia con un insieme chiaro di scopi commerciali. Progetta sistemi di AI e ML che offrano le prestazioni tecniche necessarie per supportare gli scopi e le priorità della tua attività. I tuoi team tecnici devono comprendere la mappatura tra gli obiettivi di rendimento e gli scopi commerciali.

Prendi in considerazione i seguenti consigli:

  • Tradurre gli scopi commerciali in requisiti tecnici: tradurre gli scopi commerciali dei sistemi di IA e ML in requisiti di rendimento tecnico specifici e valutare gli effetti del mancato rispetto degli stessi. Ad esempio, per un'applicazione che prevede il tasso di abbandono dei clienti, il modello ML deve avere un buon rendimento per le metriche standard, come accuratezza e richiamo, e l'applicazione deve soddisfare i requisiti operativi, come la bassa latenza.
  • Monitora il rendimento in tutte le fasi del ciclo di vita del modello: durante la sperimentazione e l'addestramento dopo il deployment del modello, monitora gli indicatori chiave di prestazione (KPI) e osserva eventuali deviazioni dagli scopi commerciali.
  • Automatizza la valutazione per renderla riproducibile e standardizzata: con una metodologia e una piattaforma standardizzate e paragonabili per la valutazione degli esperimenti, i tuoi ingegneri possono aumentare il ritmo del miglioramento del rendimento.

Esegui e monitora esperimenti frequenti

Per trasformare l'innovazione e la creatività in miglioramenti del rendimento, hai bisogno di una cultura e di una piattaforma che supportino la sperimentazione. Il miglioramento delle prestazioni è un processo continuo perché le tecnologie di IA e ML si sviluppano continuamente e rapidamente. Per mantenere un processo iterativo e veloce, devi separare lo spazio di sperimentazione dalle piattaforme di addestramento e pubblicazione. È importante avere una procedura di sperimentazione standardizzata e solida.

Prendi in considerazione i seguenti consigli:

  • Crea un ambiente di sperimentazione: i miglioramenti delle prestazioni richiedono un ambiente dedicato, potente e interattivo che supporti la sperimentazione e lo sviluppo collaborativo delle pipeline di ML.
  • Incorpora la sperimentazione come cultura: esegui gli esperimenti prima di qualsiasi deployment in produzione. Rilascia nuove versioni in modo iterativo e raccogli sempre i dati sul rendimento. Sperimenta con diversi tipi di dati, trasformazioni delle funzionalità, algoritmi e iperparametri.

Crea e automatizza i servizi di addestramento e pubblicazione

L'addestramento e la pubblicazione dei modelli di IA sono componenti fondamentali dei tuoi servizi di IA. Hai bisogno di piattaforme e pratiche solide che supportino la creazione, il deployment e la pubblicazione rapidi e affidabili dei modelli di IA. Investi tempo e impegno per creare piattaforme di base per le tue attività di addestramento e pubblicazione di IA di base. Queste piattaforme di base aiutano a ridurre il tempo e gli sforzi dei team e a migliorare la qualità dei risultati a medio e lungo termine.

Prendi in considerazione i seguenti consigli:

  • Utilizza i componenti specializzati in AI di un servizio di addestramento: questi componenti includono componenti di MLOps e di calcolo ad alte prestazioni come feature store, registry dei modelli, metastore e servizi di valutazione delle prestazioni dei modelli.
  • Utilizza i componenti specializzati in AI di un servizio di previsione: questi componenti forniscono risorse scalabili e ad alte prestazioni, supportano il monitoraggio delle funzionalità e consentono il monitoraggio delle prestazioni del modello. Per prevenire e gestire il degrado delle prestazioni, implementa strategie di deployment e rollback affidabili.

Adatta le scelte di progettazione ai requisiti di prestazioni

Quando scegli un design per migliorare il rendimento, valuta attentamente se le scelte supportano i requisiti della tua attività o sono dispendiose e controproducenti. Per scegliere l'infrastruttura, i modelli o le configurazioni appropriate, identifica i colli di bottiglia del rendimento e valuta il loro collegamento alle tue misurazioni del rendimento. Ad esempio, anche su acceleratori GPU molto potenti, le attività di addestramento possono presentare colli di bottiglia delle prestazioni a causa di problemi di I/O dei dati dal livello di archiviazione o a causa di limitazioni delle prestazioni del modello stesso.

Prendi in considerazione i seguenti consigli:

  • Ottimizzare il consumo hardware in base agli obiettivi di rendimento: per addestrare e pubblicare modelli di ML che soddisfino i tuoi requisiti di rendimento, devi ottimizzare l'infrastruttura a livello di calcolo, archiviazione e rete. Devi misurare e comprendere le variabili che influiscono sui tuoi obiettivi di rendimento. Queste variabili sono diverse per l'addestramento e l'inferenza.
  • Concentrati sui requisiti specifici del carico di lavoro: concentrati sull'ottimizzazione delle prestazioni in base ai requisiti specifici dei carichi di lavoro IA e ML. Affidati ai servizi gestiti per le prestazioni dell'infrastruttura di base.
  • Scegli strategie di addestramento appropriate: sono disponibili diversi modelli di base preaddestrati e ne vengono rilasciati spesso altri. Scegli una strategia di addestramento in grado di offrire un rendimento ottimale per la tua attività. Decidi se creare il tuo modello, ottimizzare un modello preaddestrato sui tuoi dati o utilizzare un'API di modello preaddestrato.
  • Tieni presente che le strategie di ottimizzazione del rendimento possono avere un rendimento decrescente: se una determinata strategia di ottimizzazione del rendimento non fornisce un valore commerciale incrementale misurabile, smetti di perseguirla.

Per innovare, risolvere i problemi e esaminare i problemi di prestazioni, stabilisci un collegamento chiaro tra le scelte di progettazione e i risultati delle prestazioni. Oltre alla sperimentazione, devi registrare in modo affidabile la linea di successione delle risorse, dei deployment, degli output dei modelli e delle configurazioni e degli input che hanno prodotto gli output.

Prendi in considerazione i seguenti consigli:

  • Crea un sistema di organizzazione della struttura dei dati e dei modelli: tutti gli asset di cui è stato eseguito il deployment e le relative metriche sul rendimento devono essere collegati ai dati, alle configurazioni, al codice e alle scelte che hanno portato ai sistemi di cui è stato eseguito il deployment. Inoltre, gli output del modello devono essere collegati a versioni specifiche del modello e alla modalità di produzione degli output.
  • Utilizza gli strumenti di spiegabilità per migliorare il rendimento del modello: adotta e standardizza strumenti e benchmark per l'esplorazione e la spiegabilità del modello. Questi strumenti aiutano gli ingegneri ML a comprendere il comportamento del modello e a migliorare le prestazioni o rimuovere i bias.

Collaboratori

Autori:

Altri collaboratori: