Azure modello di architettura per i carichi di lavoro di intelligenza artificiale

Questo articolo fornisce modelli architetturali e architetture di riferimento di base per semplificare la progettazione, la distribuzione e la governance dei carichi di lavoro di intelligenza artificiale in Azure. Vengono illustrati i componenti di base, le interazioni e le procedure consigliate per la creazione di sistemi di intelligenza artificiale sicuri, scalabili e ben regolati.

Usare questo modello di architettura come baseline quando si progettano carichi di lavoro di intelligenza artificiale. Iniziare con i componenti di base e le interazioni mostrati nel modello, quindi adattarli in base agli obiettivi aziendali, ai vincoli tecnici e al comportamento di rischio.

Ad esempio, un'organizzazione vuole creare un'applicazione assistente di intelligenza artificiale aziendale che consente ai dipendenti di porre domande su documenti interni e dati operativi. Quando un utente pone una domanda, l'applicazione individua i dati necessari, recupera il contesto pertinente e chiama il modello corretto per generare una risposta basata su dati. A tale scopo, è necessaria una pipeline di dati che pulisce, arricchisce e indicizza i documenti interni in modo che l'assistente possa recuperare un contesto attendibile up-to-date. Come per qualsiasi applicazione, usare Well-Architected procedure per mantenere l'applicazione affidabile, sicura e ottimizzata per i costi.

Anche se questo assistente di intelligenza artificiale rappresenta uno scenario aziendale specifico, il modello di architettura che segue è abbastanza generico per adattarsi a molti casi d'uso di intelligenza artificiale con caratteristiche simili.

Questo articolo illustra questo modello generico che stabilisce una conoscenza di base dei componenti di base, delle relative funzioni e interazioni in un carico di lavoro di intelligenza artificiale. Con questa base, è possibile prendere decisioni di progettazione informate per creare soluzioni di intelligenza artificiale affidabili durante la personalizzazione dell'architettura in base al caso d'uso specifico.

Architettura di alto livello del carico di lavoro AI

Questo diagramma illustra i componenti chiave che è possibile avere nella progettazione del carico di lavoro di intelligenza artificiale.

Diagramma della progettazione del carico di lavoro di intelligenza artificiale con componenti etichettati per procedure e processi di intelligenza artificiale, elaborazione e analisi dei dati, training dei modelli e ottimizzazione, applicazioni di intelligenza artificiale intelligenti e strumenti e servizi e strumenti della piattaforma.

Componente Description
Elaborazione e analisi dei dati Raccogliere dati grezzi da fonti diverse, pulirli, trasformarli e organizzarli in set di dati pronti per l'addestramento del modello, l'ottimizzazione fine e il grounding. Questo livello non interagisce direttamente con gli utenti, ma consente interazioni di intelligenza artificiale accurate ed efficienti a valle.
Training e ottimizzazione dei modelli Addestrare i modelli sui dati, tenere traccia delle versioni e controllare le prestazioni tramite un processo ripetibile. Usare le procedure MLOps per continuare a migliorare man mano che arrivano nuovi dati e mantenere l'allineamento alle esigenze aziendali.
Applicazioni di intelligenza artificiale intelligenti Qui gli utenti interagiscono con l'intelligenza artificiale. Combina modelli pre-addestrati con la logica applicativa per trovare le informazioni corrette, creare prompt, costruire interfacce e apprendere dal feedback.
Pratiche e processi di intelligenza artificiale Mantenere affidabile la soluzione di intelligenza artificiale incorporando i principi DevOps, il controllo della versione e le pipeline automatizzate nei flussi di lavoro MLOps. Distribuire in modo iterativo con misure di sicurezza e verificare continuamente l'accuratezza, le prestazioni e la distorsione.
Servizi e strumenti della piattaforma Servizi cloud di base che proteggono le risorse, controllano i costi e monitorano l'integrità del sistema dallo sviluppo alla distribuzione. Usare pipeline CI/CD per un'automazione affidabile e strumenti specializzati per analizzare gli output di intelligenza artificiale per la conformità.

Composizione del carico di lavoro

Questa sezione descrive due carichi di lavoro principali: il carico di lavoro dell'applicazione intelligente e il carico di lavoro di training e ottimizzazione. Ogni carico di lavoro ha considerazioni di progettazione specifiche per la durata e lo stato, la copertura e le dipendenze, la scalabilità e la disponibilità e la sicurezza e l'IA responsabile.

Non tutti i carichi di lavoro di intelligenza artificiale richiedono il training e l'ottimizzazione dei componenti. Se si usano solo modelli preaddestrati senza addestramento personalizzato, concentrarsi sul carico di lavoro dell'applicazione intelligente. Tuttavia, se il caso d'uso prevede la creazione di modelli personalizzati o il miglioramento continuo con nuovi dati, il carico di lavoro di training e ottimizzazione diventa essenziale. Entrambi i carichi di lavoro sono modulari, quindi è possibile implementare i componenti rilevanti per il caso d'uso specifico, seguendo le procedure consigliate descritte nelle considerazioni sulla progettazione.

Caratteristica di progettazione Description
Durata e stato La durata si riferisce alla durata prevista dell'esistenza e dell'attività di una risorsa all'interno del carico di lavoro.
Lo stato fa riferimento ai dati o alle informazioni che una risorsa mantiene nel tempo.
Copertura e dipendenze Reach fa riferimento alla misura in cui una risorsa deve essere accessibile o distribuita.
Le dipendenze fanno riferimento alle relazioni e alla dipendenza da altre risorse.
Disponibilità e scalabilità La scalabilità è la capacità di una risorsa di gestire un carico o una domanda maggiori.
La disponibilità è la capacità di una risorsa di rimanere operativa e accessibile.
Sicurezza e intelligenza artificiale responsabile La sicurezza si riferisce alle misure che proteggono i dati e garantiscono la conformità alle normative.
L'IA responsabile si riferisce alle procedure che garantiscono l'IA etica, tra cui equità, trasparenza e responsabilità.

Questo diagramma mostra i componenti chiave del carico di lavoro intelligente dell'applicazione da includere nella progettazione.

Diagramma del carico di lavoro intelligente delle applicazioni che mostra i client, il livello di intelligence, l'inferenza, la conoscenza e i componenti degli strumenti.

Componente Description
Layer dei client Il livello client consente agli utenti e ai sistemi esterni di connettersi con l'intelligenza artificiale. Questo livello accetta le richieste e restituisce risposte generate dall'intelligenza artificiale, assicurandosi che l'esperienza sia semplice e facile da usare.
Livello Intelligenza - API L'API livello intelligence collega i client e le funzionalità di intelligence del sistema tramite API ben definite. È responsabile dell'indirizzamento delle richieste all'agente o al processo di orchestrazione corretto, assicurandosi che le interazioni tra utenti e servizi siano uniformi e coerenti. Questo livello gestisce anche la modalità di accesso ai dati, inserisce misure di sicurezza e imposta i limiti per impedire che il sistema venga sovraccaricato. Se un'app richiede solo una stima semplice, questo livello può ignorare i passaggi di orchestrazione complessi e inviare la richiesta direttamente al motore di inferenza per una risposta rapida.
Livello di intelligenza - Orchestrazione e calcolo agente Lo strato di orchestrazione e calcolo degli agenti è responsabile del coordinamento di come i diversi componenti di intelligenza artificiale lavorano insieme per portare a termine ogni attività. A seconda di ciò che è necessario, può eseguire attività una dopo l'altra o consentire a più agenti di funzionare contemporaneamente e quindi unire i risultati. Determina la finalità dell'utente, controlla le risposte per assicurarsi che siano sicure, si integra con il livello di conoscenza per le informazioni e usa gli strumenti per combinare tutto e fornire la risposta migliore.
Livello intelligence - Gestione delle conversazioni Il livello di gestione delle conversazioni è la memoria e il gestore delle conversazioni del sistema. Consente alla chat di intelligenza artificiale di richiamare naturalmente i messaggi precedenti, tenere traccia degli argomenti in corso e archiviare parti importanti dalla discussione, in modo che le conversazioni possano fluire senza problemi anche durante sessioni lunghe. Si occupa anche del modo in cui i dati della conversazione vengono mantenuti o eliminati, assicurandosi che le informazioni vengano gestite in modo responsabile.
Livello di inferenza - Base o modelli predittivi Il livello di inferenza è il punto in cui un modello sottoposto a training esegue stime, genera contenuto o fornisce decisioni in base alle informazioni ricevute. Il processo inizia caricando il modello di intelligenza artificiale, preparando i dati, eseguendo le previsioni e quindi formattando i risultati in modo che siano disponibili immediatamente (in tempo reale) o in un secondo momento (elaborazione in batch).
Livello conoscenze Il livello di conoscenza è il punto in cui il sistema ottiene le informazioni e il contesto necessari per rispondere alle domande in modo accurato. Garantisce che i dati siano accessibili in modo sicuro, usando permessi e autorizzazioni. Il livello di conoscenza consente all'intelligenza artificiale di seguire l'approccio RAG eseguendo una ricerca tra indici o database vettoriali per trovare solo il contenuto corretto. Consente all'intelligenza artificiale di accedere a varie origini dati interne ed esterne in modo coerente, indipendentemente dal fatto che si tratti di protocolli MCP o REST.
Livello strumenti Il livello degli strumenti è la posizione in cui le azioni aziendali e le funzionalità esterne sono rese accessibili. Il livello di intelligence può attivare queste azioni o connettersi ad altri sistemi chiamando strumenti o agenti in modo standardizzato, indipendentemente dal fatto che si tratti di MCP, A2A o OpenAPI/REST. Queste funzionalità vengono presentate come opzioni praticabili, pronte per l'uso del livello di intelligence e possono essere gestite direttamente dal carico di lavoro o da servizi esterni.

Considerazioni relative alla progettazione

Quando si progetta l'architettura intelligente del carico di lavoro dell'applicazione, prendere in considerazione le caratteristiche di progettazione seguenti per prendere decisioni informate sulla progettazione e sulle interazioni dei componenti.

Durata e stato

L'API di intelligenza, l'orchestrazione, l'inferenza e i livelli di conoscenza sono tutti servizi duraturi eseguiti per tutta la durata del carico di lavoro. Investire nella disponibilità, nel monitoraggio e nell'eccellenza operativa per ogni servizio.

Ogni livello si evolve a un ritmo diverso, quindi è necessario coordinare deliberatamente la distribuzione. L'API intelligence si evolve lentamente per rimanere stabile e mantenere la compatibilità con le versioni precedenti. I livelli di orchestrazione e agente si evolvono più rapidamente man mano che si aggiungono nuove funzionalità. Il livello di inferenza viene aggiornato quando si distribuiscono nuovi modelli. Il livello di conoscenza si evolve continuamente man mano che cambiano i dati.

I componenti senza stato possono essere allocati o deallocati su richiesta, mentre i componenti con stato gestiscono i dati persistenti tra le interazioni.

L'API intelligence, l'orchestrazione e i livelli di inferenza sono senza stato, semplificando la scalabilità aggiungendo altre istanze. Il livello di orchestrazione potrebbe contenere uno stato temporaneo durante l'esecuzione, ma non lo rende persistente oltre la gestione delle richieste. Lo stato temporaneo riduce la complessità operativa, ma limita le opzioni di ripristino degli errori, quindi progetta attentamente per i tentativi e l'idempotenza.

I dati della sessione di gestione delle conversazioni possono durare da minuti a giorni. Le sessioni più lunghe consentono conversazioni più avanzate, ma costano di più e aumentano il rischio di privacy. Il livello knowledge archivia i dati negli indici e nei database che si evolvono man mano che si aggiungono, aggiornano o rimuovono informazioni.

Compromesso. Le decisioni relative alla gestione della durata e dello stato influiscono direttamente su costi, affidabilità e prestazioni. I componenti con stato di lunga durata richiedono un maggiore investimento nel ridimensionamento e nella resilienza, mentre i componenti senza stato e effimeri sono più convenienti, ma potrebbero introdurre latenza dovuta a un avvio a freddo o al recupero dello stato esterno.

Copertura e dipendenze

L'API intelligence è l'unico endpoint esposto pubblicamente nell'architettura, tutto il resto rimane interno. È possibile distribuirlo in più aree per mantenere gli utenti vicini a un endpoint e migliorare la resilienza.

Il livello di orchestrazione si trova al centro, opera all'interno della rete e coordina tutto, ad esempio lo stato della conversazione, le chiamate al modello, il recupero delle conoscenze e la chiamata allo strumento. I guasti in questo caso bloccano l'intero sistema, quindi assicurati che sia altamente disponibile.

Il livello di inferenza viene eseguito internamente senza dipendenze esterne. Distribuirlo vicino all'agente di orchestrazione per mantenere bassa la latenza.

I livelli di conoscenza e strumenti sono interni, ma possono dipendere da sistemi esterni. Queste dipendenze esterne possono introdurre ritardi o problemi di disponibilità che influiscono sulla qualità della risposta.

Compromesso. La distribuzione in più aree migliora le prestazioni e la resilienza, ma aumenta i costi. La distribuzione a singola area è più conveniente, ma potrebbe comportare una latenza più elevata per gli utenti lontani dall'area.

Disponibilità e scalabilità

L'applicazione intelligente ha due modelli di scalabilità. Livelli senza stato come l'API, l'orchestrazione e l'inferenza si scalano aggiungendo più istanze. Livelli di dati come la gestione delle conversazioni e la scalabilità della conoscenza, ottenuta distribuendo i dati in più archiviazioni tramite meccanismi come repliche di lettura, partizionamento e partizionamento orizzontale.

L'API Intelligence si espande per gestire più richieste. Distribuirlo in più zone o aree per una migliore disponibilità e mantenere gli utenti vicini a un endpoint.

L'orchestrazione e l'ambiente di calcolo dell'agente si trovano al centro del sistema, quindi gli errori qui bloccano tutto. Aggiungere altre istanze, usare il bilanciamento del carico e preparare il failover in modo che il sistema continui a essere in esecuzione quando le singole istanze hanno esito negativo.

Il livello di inferenza viene ridimensionato in base alle esigenze dei modelli. Aggiungere altre istanze con GPU man mano che aumenta la domanda. Usare l'infrastruttura come codice (IaC) per ricreare rapidamente gli ambienti durante il ripristino.

La gestione delle conversazioni viene ridimensionata con il numero di utenti simultanei. Usare copie e backup per mantenere disponibili i dati della sessione.

Il livello di conoscenza viene ridimensionato in base alla quantità di dati disponibili e alla frequenza con cui vengono eseguite query. Usare l'indicizzazione efficiente e l'ottimizzazione del database per mantenere veloci le risposte. Configurare copie in più posizioni per garantire disponibilità.

Compromesso. I componenti senza stato possono essere ridimensionati rapidamente, ma potrebbero introdurre una latenza di avvio a freddo. I componenti dati offrono durabilità, ma richiedono una pianificazione maggiore per il ridimensionamento. Bilanciare questi fattori in base ai requisiti di carico e business previsti.

Sicurezza e intelligenza artificiale responsabile

Ogni livello dell'applicazione intelligente comporta rischi diversi e necessita di propri controlli. Gli strumenti possono attivare azioni nel mondo reale, la conoscenza modella ciò che la tua intelligenza artificiale sa e l'inferenza produce output visualizzati dagli utenti. Limitare l'accesso a ogni livello, monitorare ciò che accade e assicurarsi di spiegare come prendere le decisioni.

Il livello degli strumenti comporta il rischio più alto perché le azioni possono avere conseguenze reali potenzialmente irreversibili. Per le operazioni ad alto rischio, aggiungere i passaggi di approvazione dell'uomo. Usare l'autenticazione rigorosa, l'accesso con privilegi minimi e l'applicazione della privacy dei dati per impedire azioni non autorizzate e esposizione delle informazioni personali. Valutare ogni strumento prima di integrarlo in modo che la governance si estenda oltre il limite del carico di lavoro.

Il livello di conoscenza richiede dati di alta qualità e non distorti per produrre output attendibili. Mantenere sicuro l'accesso ai dati con l'autenticazione, l'autorizzazione e la conformità ai requisiti di residenza dei dati. L'accesso in sola lettura e l'isolamento della rete impediscono il danneggiamento. Registrare le origini recuperate per ogni risposta tramite audit trail, questo processo consente di spiegare le decisioni e analizzare i problemi in un secondo momento.

Il livello di inferenza deve essere accessibile solo ai ruoli operativi e all'identità del livello di orchestrazione. Monitorare gli output tramite un servizio di convalida che verifica la tossicità e altri problemi di sicurezza. Convalidare i modelli prima della distribuzione per rilevare pregiudizi e mantenere pronti i meccanismi di rollback se i problemi si manifestano nell'ambiente di produzione.

Architetture di base per carichi di lavoro di intelligenza artificiale

Questi esempi di base fungono da architettura consigliata per i carichi di lavoro di intelligenza artificiale.

Passo successivo

Esaminare le procedure consigliate per la progettazione di scenari di applicazioni intelligenti.