Costruire soluzioni IDP ben architettate con una lente personalizzata – Parte 4 efficienza delle prestazioni

Creare soluzioni IDP efficaci attraverso una lente personalizzata - Parte 4 prestazioni ottimali

Quando un cliente ha un carico di lavoro di elaborazione dei documenti intelligenti (IDP) pronto per la produzione, spesso riceviamo richieste di una revisione ben architettata. Per costruire una soluzione aziendale, le risorse degli sviluppatori, il costo, il tempo e l’esperienza utente devono essere bilanciati per ottenere il risultato desiderato. Il AWS Well-Architected Framework fornisce un modo sistematico per le organizzazioni di apprendere le migliori pratiche operative e architetturali per la progettazione e l’esecuzione di carichi di lavoro affidabili, sicuri, efficienti, economici e sostenibili nel cloud.

Il Custom Lens IDP Well-Architected segue il AWS Well-Architected Framework, esaminando la soluzione con sei pilastri con la granularità di un caso d’uso specifico di intelligenza artificiale (AI) o machine learning (ML) e fornendo linee guida per affrontare le sfide comuni. Il Custom Lens IDP Well-Architected nello strumento Well-Architected contiene domande riguardanti ciascun pilastro. Rispondendo a queste domande, puoi individuare potenziali rischi e risolverli seguendo il tuo piano di miglioramento.

Questo post si concentra sul pilastro dell’efficienza delle prestazioni del carico di lavoro IDP. Approfondiamo la progettazione e l’implementazione della soluzione per ottimizzare la velocità di trasmissione, la latenza e le prestazioni complessive. Iniziamo discutendo alcuni indicatori comuni che dovrebbero spingerti a effettuare una revisione ben architettata e presentiamo gli approcci fondamentali con i principi di design. Quindi affrontiamo ogni area di interesse da una prospettiva tecnica.

Per seguire questo post, dovresti essere familiare con i post precedenti di questa serie (Parte 1 e Parte 2) e le linee guida in Guida per l’elaborazione intelligente dei documenti su AWS. Queste risorse introducono i servizi AWS comuni per i carichi di lavoro IDP e i flussi di lavoro suggeriti. Con questa conoscenza, sei pronto per approfondire la produttività del tuo carico di lavoro.

Indicatori comuni

I seguenti sono indicatori comuni che dovrebbero spingerti a effettuare una revisione Well-Architected Framework per il pilastro dell’efficienza delle prestazioni:

  • Alta latenza – Quando la latenza del riconoscimento ottico dei caratteri (OCR), del riconoscimento delle entità o del flusso di lavoro end-to-end impiega più tempo rispetto alle tue precedenti basi di riferimento, potrebbe essere un indicatore che il design dell’architettura non copre i test di carico o la gestione degli errori.
  • Frequenti limitazioni – Potresti avere problemi di limitazione dei servizi AWS come Amazon Textract a causa dei limiti di richiesta. Ciò significa che l’architettura deve essere regolata rivedendo il flusso di lavoro dell’architettura, l’implementazione sincrona e asincrona, il calcolo delle transazioni al secondo (TPS) e altro ancora.
  • Difficoltà di debugging – Quando si verifica un errore nel processo del documento, potresti non avere un modo efficace per individuare dove si trova l’errore nel flusso di lavoro, a quale servizio è correlato e perché si è verificato il fallimento. Ciò significa che il sistema non ha visibilità dei log e dei fallimenti. Valuta di ripensare al design dei registri dei dati di telemetria e di aggiungere l’infrastruttura come codice (IaC), come ad esempio i flussi di elaborazione dei documenti, alla soluzione.
Indicatori Descrizione Lacuna architettonica
Alta latenza La latenza dell’OCR, del riconoscimento delle entità o del flusso di lavoro end-to-end supera la base di riferimento precedente
  • Test di carico
  • Gestione degli errori
Frequenti limitazioni Limitazione dei servizi AWS come Amazon Textract a causa dei limiti di richiesta
  • Sincrono vs Asincrono
  • Calcolo TPS
Difficoltà di debug Nessuna visibilità sulla posizione, causa e motivo dei fallimenti di elaborazione dei documenti
  • Design del registro
  • Flussi di elaborazione dei documenti

Principi di design

In questo post, discutiamo tre principi di design: il delegare compiti complessi di intelligenza artificiale, le architetture IaC e le architetture serverless. Quando ti trovi di fronte ad un compromesso tra due implementazioni, puoi riprendere in considerazione i principi di design in base alle priorità aziendali della tua organizzazione, in modo da poter prendere decisioni efficaci.

  • Delegare compiti complessi di intelligenza artificiale – Puoi favorire una maggiore adozione dell’intelligenza artificiale nella tua organizzazione scaricando il ciclo di sviluppo dei modelli di machine learning su servizi gestiti e approfittando dello sviluppo del modello e dell’infrastruttura forniti da AWS. Invece di richiedere alle tue squadre di data science e IT di costruire e mantenere i modelli di intelligenza artificiale, puoi utilizzare servizi di intelligenza artificiale pre-addestrati in grado di automatizzare i compiti per te. Ciò permette alle tue squadre di concentrarsi su lavori ad alto valore che differenziano il tuo business, mentre il provider cloud si occupa della complessità dell’addestramento, del deployment e della scalabilità dei modelli di intelligenza artificiale.
  • Architetture IaC – Quando esegui una soluzione IDP, la soluzione include più servizi di intelligenza artificiale per eseguire il flusso di lavoro end-to-end in modo cronologico. Puoi progettare la soluzione con pipeline di flusso di lavoro utilizzando AWS Step Functions per migliorare tolleranza ai guasti, elaborazione parallela, visibilità e scalabilità. Questi vantaggi ti consentono di ottimizzare l’uso e il costo dei servizi di intelligenza artificiale sottostanti.
  • Architetture serverless – IDP è spesso una soluzione guidata dagli eventi, avviata da caricamenti utente o lavori pianificati. La soluzione può essere scalata orizzontalmente aumentando il numero di chiamate ai servizi di intelligenza artificiale, ad esempio ad AWS Lambda e ad altri servizi coinvolti. Un approccio serverless offre scalabilità senza sovra-provisionare risorse, prevenendo spese superflue. Il monitoraggio dietro il design serverless aiuta a individuare i problemi di performance.
Figura 1. Benefici derivanti dall'applicazione dei principi di design. Dell'autore.

Figura 1. Benefici derivanti dall’applicazione dei principi di design.

Con questi tre principi di design in mente, le organizzazioni possono stabilire una base efficace per l’adozione di AI/ML su piattaforme cloud. Delegando la complessità, implementando un’infrastruttura resiliente e progettando per la scalabilità, le organizzazioni possono ottimizzare le loro soluzioni AI/ML.

Nelle sezioni seguenti, discutiamo come affrontare le sfide comuni riguardanti le aree di focus tecnico.

Aree di focus

Nella valutazione dell’efficienza delle performance, esaminiamo la soluzione da cinque diverse aree di focus: progettazione dell’architettura, gestione dei dati, gestione degli errori, monitoraggio del sistema e monitoraggio dei modelli. Con queste aree di focus, puoi condurre una revisione dell’architettura da diversi punti di vista per migliorarne l’efficacia, l’osservabilità e la scalabilità dei tre componenti di un progetto AI/ML: dati, modelli o obiettivi aziendali.

Progettazione dell’architettura

Attraverso le domande in questa area di focus, potrai valutare il workflow esistente per verificare se rispetta le migliori pratiche. Il workflow suggerito fornisce un modello comune che le organizzazioni possono seguire per evitare costi di tentativi ed errori.

In base all’architettura proposta, il flusso di lavoro segue le sei fasi di acquisizione dati, classificazione, estrazione, arricchimento, revisione e convalida e consumo. Nei precedenti indicatori comuni di cui abbiamo discusso, due su tre derivano da problemi di progettazione dell’architettura. Questo perché, quando si avvia un progetto con un approccio improvvisato, è possibile incontrare restrizioni del progetto nel tentativo di allineare l’infrastruttura alla soluzione. Con la revisione della progettazione dell’architettura, il design improvvisato può essere scomposto in fasi, ognuna delle quali può essere rivalutata e riordinata.

Puoi risparmiare tempo, denaro e lavoro implementando classificazioni nel tuo workflow, in modo che i documenti vengano indirizzati verso applicazioni di downstream e API in base al tipo di documento. Questo migliora l’osservabilità del processo di documentazione e semplifica la manutenzione della soluzione quando si aggiungono nuovi tipi di documento.

Gestione dei dati

Le prestazioni di una soluzione IDP includono latenza, throughput e user experience end-to-end. Come gestire il documento e le informazioni estratte nella soluzione è la chiave per la coerenza, la sicurezza e la privacy dei dati. Inoltre, la soluzione deve gestire volumi elevati di dati con bassa latenza e alto throughput.

Quando si esaminano le domande di questa area di focus, si andrà a rivedere il flusso di lavoro dei documenti. Ciò include l’ingestione dei dati, la preelaborazione dei dati, la conversione dei documenti nei tipi di documenti accettati da Amazon Textract, la gestione dei flussi di documenti in ingresso, il routing dei documenti per tipo e l’implementazione delle politiche di controllo degli accessi e di conservazione.

Ad esempio, archiviando un documento nelle diverse fasi di elaborazione, è possibile invertire l’elaborazione al passo precedente se necessario. Il ciclo di vita dei dati garantisce l’affidabilità e la conformità per il carico di lavoro. Utilizzando il Calcolatore dei limiti del servizio Amazon Textract (vedi la seguente schermata), le funzionalità asincrone su Amazon Textract, Lambda, Step Functions, Amazon Simple Queue Service (Amazon SQS) e Amazon Simple Notification Service (Amazon SNS), le organizzazioni possono automatizzare e scalare le attività di elaborazione dei documenti per soddisfare specifiche esigenze di carico di lavoro.

Figura 2. Calcolatore dei limiti del servizio Amazon Textract. Autore:.

Figura 2. Calcolatore dei limiti del servizio Amazon Textract.

Gestione degli errori

Una gestione degli errori robusta è fondamentale per monitorare lo stato del processo dei documenti e fornisce al team operativo il tempo necessario per reagire a eventuali comportamenti anomali, come volumi di documenti inattesi, nuovi tipi di documenti o altri problemi non pianificati dai servizi di terze parti. Dal punto di vista dell’organizzazione, una corretta gestione degli errori può migliorare l’uptime e le prestazioni del sistema.

È possibile suddividere la gestione degli errori in due aspetti chiave:

  • Configurazione del servizio AWS – È possibile implementare una logica di ritentativo con backoff esponenziale per gestire errori temporanei come il throttling. Quando si avvia l’elaborazione chiamando una Start* operazione asincrona, come StartDocumentTextDetection, è possibile specificare che lo stato di completamento della richiesta viene pubblicato su un topic SNS nella configurazione NotificationChannel. Ciò consente di evitare i limiti di throttling sulle chiamate API dovuti al polling delle Get* API. È inoltre possibile implementare allarmi in Amazon CloudWatch e trigger per segnalare quando si verificano picchi di errori insoliti.
  • Miglioramento dei report degli errori – Ciò include messaggi dettagliati con un livello appropriato di dettaglio per tipo di errore e descrizioni delle risposte di gestione degli errori. Con una corretta configurazione della gestione degli errori, i sistemi possono essere più resilienti attraverso l’implementazione di pattern comuni come il ritentativo automatico degli errori intermittenti, l’utilizzo di interruttori di circuito per gestire i guasti a cascata e il monitoraggio dei servizi per ottenere una visualizzazione degli errori. Ciò consente alla soluzione di trovare un equilibrio tra i limiti di ritentativo e prevenire loop di circuito infiniti.

Monitoraggio del modello

Le prestazioni dei modelli di machine learning vengono monitorate per degradazione nel tempo. Man mano che cambiano i dati e le condizioni di sistema, le metriche di performance ed efficienza del modello vengono monitorate per garantire che venga eseguita la ritraining quando necessario.

Il modello di ML in un flusso di lavoro IDP può essere un modello OCR, un modello di riconoscimento delle entità o un modello di classificazione. Il modello può provenire da un servizio di intelligenza artificiale di AWS, da un modello open source su Amazon SageMaker, Amazon Bedrock o da altri servizi di terze parti. È necessario comprendere i limiti e i casi d’uso di ciascun servizio al fine di individuare modi per migliorare il modello mediante feedback umano e migliorare le prestazioni del servizio nel tempo.

Un approccio comune è l’utilizzo dei log di servizio per comprendere diversi livelli di accuratezza. Questi log possono aiutare il team di data science a individuare e comprendere eventuali necessità di ritraining del modello. L’organizzazione può scegliere il meccanismo di ritraining – può essere trimestrale, mensile o basato su metriche scientifiche, come quando l’accuratezza scende al di sotto di una determinata soglia.

Il obiettivo del monitoraggio non è solo rilevare problemi, ma chiudere il ciclo per raffinare continuamente i modelli e mantenere la soluzione IDP performante man mano che l’ambiente esterno evolve.

Monitoraggio del sistema

Dopo aver implementato la soluzione IDP in produzione, è importante monitorare le metriche chiave e le performance dell’automazione per identificare aree di miglioramento. Le metriche dovrebbero includere misurazioni aziendali e tecniche. Ciò consente all’azienda di valutare le performance del sistema, identificare problemi e apportare miglioramenti ai modelli, alle regole e ai flussi di lavoro nel tempo per aumentare il tasso di automazione e comprendere l’impatto operativo.

Sul lato aziendale, metriche come l’accuratezza dell’estrazione dei campi importanti, il tasso complessivo di automazione che indica la percentuale di documenti elaborati senza intervento umano e il tempo medio di elaborazione per documento sono fondamentali. Queste metriche aziendali contribuiscono a quantificare l’esperienza dell’utente finale e i guadagni di efficienza operativa.

Le metriche tecniche, inclusi i tassi di errore e di eccezione che si verificano durante il flusso di lavoro, sono fondamentali da monitorare dal punto di vista dell’ingegneria. Le metriche tecniche possono anche essere monitorate a ogni livello, dall’inizio alla fine, fornendo una visione completa di un carico di lavoro complesso. È possibile suddividere le metriche in diversi livelli, come il livello della soluzione, il livello del flusso di lavoro end-to-end, il livello del tipo di documento, il livello del documento, il livello del riconoscimento entità e il livello di OCR.

Ora che hai esaminato tutte le domande in questa sezione, puoi valutare le altre sezioni e sviluppare un piano di miglioramento per il tuo carico di lavoro IDP.

Conclusioni

In questo post, abbiamo discusso degli indicatori comuni che potrebbero richiedere una revisione del framework ben progettato per la sezione di Efficienza delle Prestazioni per il tuo carico di lavoro di IDP. Abbiamo poi illustrato i principi di progettazione per fornire una panoramica generale e discutere l’obiettivo della soluzione. Seguendo questi suggerimenti in riferimento alla Custom Lens ben progettata per IDP e rivedendo le domande per area di interesse, dovresti ora avere un piano di miglioramento del progetto.

Per saperne di più sulla Custom Lens ben progettata per IDP, esplora i seguenti post di questa serie:

Affidabilità](https://aws.amazon.com/blogs/machine-learning/build-w ell-architected-idp-solutions-with-a-custom-lens-part-3-reliability/) – Costruire soluzioni IDP ben progettate con una lente personalizzata – Parte 4: Efficienza delle Prestazioni – Costruire soluzioni IDP ben progettate con una lente personalizzata – Parte 5: Ottimizzazione dei CostiCostruire soluzioni IDP ben progettate con una lente personalizzata – Parte 6: Sostenibilità