Creare e distribuire modelli di elaborazione documenti personalizzati in Azure

Informazioni sui documenti di Azure AI
Foundry Tools
App per la logica di azure
Studio di Azure Machine Learning
Microsoft Foundry
Archiviazione di Azure

Questo articolo descrive le soluzioni di Azure per la creazione, il training, la distribuzione e l'uso di modelli di elaborazione documenti personalizzati. Questi servizi di Azure forniscono anche funzionalità dell'interfaccia utente per l'etichettatura o l'assegnazione di tag al testo durante l'elaborazione.

Architettura

Diagramma che mostra diverse alternative per un processo di compilazione e distribuzione del modello di elaborazione documenti personalizzato.

Scaricare un file di Visio di questa architettura.

Flusso di dati

Il flusso di dati seguente corrisponde al diagramma precedente:

  1. Agenti di orchestrazione come App per la logica di Azure, Azure Data Factory o Funzioni di Azure inseriscono messaggi e allegati da server di posta elettronica e file da server di protocollo di trasferimento file o applicazioni Web.

    • Funzioni di Azure e App per la logica di Azure consentono carichi di lavoro serverless. Il servizio scelto dipende dalle preferenze per le funzionalità del servizio, ad esempio sviluppo, connettori, gestione e contesto operativo. Per altre informazioni, vedere Confrontare Funzioni di Azure e App per la logica di Azure.

    • Prendere in considerazione l'uso di Azure Data Factory per spostare i dati in blocco.

  2. Gli orchestratori inviano i dati acquisiti ad Azure Blob Storage o a Azure Data Lake Storage. Organizzano i dati all'interno di questi archivi in base a caratteristiche come le estensioni di file o i dettagli dei clienti.

  3. È possibile usare i servizi di Azure seguenti, indipendentemente o in combinazione, per i documenti di training e la creazione di modelli personalizzati per risolvere vari casi d'uso.

    • Document Intelligence Studio: se il documento richiede di estrarre coppie chiave-valore o creare una tabella personalizzata da un'immagine o un PDF, usare Document Intelligence Studio per contrassegnare i dati ed eseguire il training del modello personalizzato. Se è necessario identificare il tipo di documento, denominato classificazione dei documenti, prima di richiamare il modello di estrazione corretto, usare Document Intelligent Studio per etichettare i documenti e compilare i modelli.

    • Language Studio: per la classificazione dei documenti in base al contenuto o per l'estrazione di entità specifiche del dominio, è possibile eseguire il training di un modello personalizzato di classificazione del testo o riconoscimento di entità denominate in Language Studio.

    • Azure Machine Learning Studio: per l'etichettatura dei dati per la classificazione del testo o l'estrazione di entità da usare con framework open source come PyTorch o TensorFlow, usare Machine Learning Studio, Python SDK, l'interfaccia della riga di comando di Azure o l'API REST. Machine Learning Studio offre un catalogo di modelli di base. Questi modelli di base dispongono di funzionalità di ottimizzazione per varie attività, ad esempio classificazione del testo, risposte alle domande e riepilogo. Per ottimizzare i modelli di base, usare l'interfaccia utente o il codice di Machine Learning Studio.

    • Azure OpenAI nei modelli foundry: per ottimizzare i modelli OpenAI di Azure nei propri dati o domini per varie attività, ad esempio riepilogo di testo e risposte alle domande, usare il portale di Microsoft Foundry, Python SDK o l'API REST.

  4. Per distribuire i modelli personalizzati e usarli per l'inferenza:

    • Azure Document Intelligence in Foundry Tools include l'implementazione integrata del modello. L'inferenza con i modelli personalizzati viene eseguita usando gli SDK o l'API REST dei modelli di documento. Il modelId o il nome del modello specificato durante la creazione del modello è incluso nell'URL della richiesta per l'analisi dei documenti. L'intelligenza documentale non richiede ulteriori passaggi di distribuzione.

    • Language Studio offre un'opzione per distribuire modelli linguistici personalizzati. Ottenere l'URL di stima dell'endpoint REST selezionando il modello per la distribuzione. È possibile inferenza dei modelli usando l'endpoint REST o le librerie client di Azure SDK.

    • Machine Learning distribuisce modelli personalizzati agli endpoint gestiti di Machine Learning, sia online che batch. È anche possibile usare Machine Learning SDK per la distribuzione nel servizio Azure Kubernetes come servizio Web. I modelli di base ottimizzati possono essere distribuiti dal catalogo dei modelli tramite il calcolo gestito o un'API serverless. I modelli distribuiti tramite il calcolo gestito possono essere inferenziati usando endpoint gestiti, che includono endpoint online per l'inferenza in tempo reale e gli endpoint batch per l'inferenza batch.

    • Foundry offre più opzioni per distribuire modelli OpenAI di Azure ottimizzati. È possibile distribuire questi modelli usando Python SDK o l'API REST. È anche possibile distribuire modelli di base ottimizzati da provider come Meta o Llama come API serverless o usando il calcolo gestito.

Components

  • Azure Logic Apps fa parte di Azure Integration Services. Logic Apps crea flussi di lavoro automatizzati che integrano app, dati, servizi e sistemi. In questa architettura, Logic Apps coordina l'inserimento di documenti e dati provenienti da varie fonti e avvia processi successivi per l'elaborazione dei documenti. È possibile usare connettori gestiti per servizi come Archiviazione di Azure e Microsoft 365 per attivare i flussi di lavoro quando un file arriva nell'account di archiviazione o viene ricevuto un messaggio di posta elettronica.

  • Azure Data Factory è un servizio di integrazione dei dati gestito per orchestrare e automatizzare lo spostamento e la trasformazione dei dati. In questa architettura, Azure Data Factory aggiunge attività di trasformazione come richiamare un endpoint REST o eseguire un notebook sui dati inseriti nella pipeline.

  • Funzioni di Azure è un servizio di calcolo serverless che può ospitare carichi di lavoro basati su eventi con processi di breve durata. In questa architettura Funzioni consente ai carichi di lavoro di elaborare i documenti in ingresso e attivare le pipeline di elaborazione del modello.

  • Archiviazione BLOB è una soluzione di archiviazione di oggetti per conservare dati non strutturati. Archiviazione blob supporta librerie per più linguaggi, ad esempio .NET, Node.js e Python. Le applicazioni possono accedere ai file nell'archiviazione BLOB tramite HTTP o HTTPS. L'archiviazione Blob include livelli di accesso hot, cool e archivio per supportare l'ottimizzazione dei costi per l'archiviazione di grandi quantità di dati. In questa architettura, questo account è la soluzione per i file grezzi che usano un livello di archiviazione attivo.

  • Data Lake Storage è un repository scalabile basato sul cloud per l'archiviazione e l'organizzazione di grandi volumi di dati non strutturati. In questa architettura Data Lake Storage organizza e gestisce grandi volumi di dati inseriti per supportare flussi di lavoro di analisi, etichettatura e Machine Learning.

  • Document Intelligence è un componente di Foundry Tools. In questa architettura, offre funzionalità di analisi dei documenti predefinite per l'estrazione di testo stampato e scritto a mano, tabelle e coppie chiave-valore. Document Intelligence include modelli predefiniti per l'estrazione di dati da fatture, documenti, ricevute, schede ID e biglietti da visita. Document Intelligence ha anche un modello di modulo personalizzato e un modello di documento neurale personalizzato che è possibile utilizzare per addestrare e distribuire modelli personalizzati.

  • Document Intelligence Studio offre un'interfaccia per esplorare le funzionalità e i modelli di Document Intelligence. È possibile usare l'interfaccia per etichettare i dati e creare modelli di elaborazione documenti personalizzati.

  • Azure Language in Foundry Tools consolida i servizi NLP (Natural Language Processing) di Azure. Offre opzioni predefinite e personalizzabili e funzionalità di comprensione del linguaggio. Usarlo per classificare i documenti, riconoscere le entità denominate e completare altre attività NLP.

  • Language Studio è un'interfaccia utente basata sul Web nel linguaggio che è possibile usare per compilare, eseguire il training, gestire e distribuire modelli linguistici. In questa architettura supporta l'assegnazione di tag, il training e la distribuzione di modelli linguistici personalizzati per attività come la classificazione e l'estrazione di entità all'interno della pipeline di elaborazione dei documenti. Etichettatura automatica supporta la classificazione del testo personalizzata e può etichettare automaticamente i documenti in classi o categorie diverse. Lo studio offre anche opzioni per visualizzare le prestazioni del modello, tra cui punteggio F1, precisione e richiamo.

  • Azure Machine Learning è una piattaforma di Machine Learning gestita per lo sviluppo e la distribuzione di modelli su larga scala. In questa architettura vengono etichettati i dati, esegue il training di modelli personalizzati (inclusi i framework open source) e distribuisce i modelli per le attività di inferenza.

    • Machine Learning Studio offre opzioni di etichettatura dei dati per immagini e testo. Supporta i flussi di lavoro di addestramento del modello all'interno di questa architettura.

    • Esporta dati etichettati come set di dati COCO o per il Machine Learning. È possibile usare questi set di dati per eseguire il training e la distribuzione di modelli nei notebook di Machine Learning.

  • Azure OpenAI offre potenti modelli linguistici e modelli multilingue come API REST che è possibile usare per completare varie attività. In questa architettura i modelli OpenAI di Azure gestiscono attività avanzate del linguaggio, ad esempio modelli di ottimizzazione per migliorare le prestazioni sui dati mancanti o sottorappresentate durante il training originale del modello di base. È anche possibile usare modelli di base di più provider per completare queste attività.

Alternativi

È possibile aggiungere altri flussi di lavoro a questo scenario in base a casi d'uso specifici.

Dettagli dello scenario

L'elaborazione dei documenti copre un'ampia gamma di attività. Può essere difficile soddisfare tutte le esigenze di elaborazione dei documenti usando i modelli predefiniti disponibili in Language and Document Intelligence. Potrebbe essere necessario creare modelli personalizzati per automatizzare l'elaborazione dei documenti per applicazioni e domini diversi.

Le principali sfide della personalizzazione del modello includono:

  • Assegnazione di etichette o assegnazione di tag ai dati di testo con entità di coppia chiave-valore pertinenti per classificare il testo per l'estrazione.

  • Gestione dell'infrastruttura di training, ad esempio calcolo e archiviazione, e delle relative integrazioni.

  • Distribuzione di modelli su larga scala per consentire alle applicazioni di utilizzare.

Casi d'uso potenziali

I casi d'uso seguenti possono sfruttare i modelli personalizzati per l'elaborazione dei documenti:

  • Creare modelli di classificazione del testo e NER personalizzati basati su framework open source.

  • Estrarre valori chiave personalizzati dai documenti per diversi settori verticali, come l'assicurazione e l'assistenza sanitaria.

  • Contrassegna ed estrae entità dipendenti dal dominio specifiche oltre i modelli NER predefiniti per domini come sicurezza o finanza.

  • Creare tabelle personalizzate da documenti.

  • Estrarre firme digitali.

  • Etichettare e classificare i messaggi di posta elettronica o altri documenti in base al contenuto.

  • Riepilogare i documenti o creare modelli di domande e risposte personalizzati in base ai dati.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che è possibile usare per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Well-Architected Framework.

Per questo carico di lavoro di esempio, l'implementazione di ogni pilastro dipende dalla configurazione ottimale e dall'uso di ogni servizio di Azure componente.

Reliability

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.

Availability

Resiliency

Security

La sicurezza offre garanzie contro attacchi intenzionali e l'uso improprio dei dati e dei sistemi preziosi. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.

Implementare la protezione dei dati, la gestione delle identità e degli accessi e le raccomandazioni per la sicurezza di rete per Blob Storage, gli strumenti Foundry per Document Intelligence e Language Studio, Machine Learning e Azure OpenAI.

Ottimizzazione dei costi

L'ottimizzazione dei costi è incentrata sui modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.

Il costo totale di implementazione di questa soluzione dipende dai prezzi dei servizi scelti.

I costi principali per questa soluzione includono:

Per altre informazioni sui prezzi per componenti specifici, vedere le risorse seguenti:

Usare il calcolatore prezzi di Azure per aggiungere le opzioni dei componenti scelte e stimare il costo complessivo della soluzione.

Efficienza delle prestazioni

L'efficienza delle prestazioni si riferisce alla capacità del carico di lavoro di ridimensionarsi per soddisfare in modo efficiente le esigenze degli utenti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.

Scalabilità

Contributori

Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.

Autori principali:

  • Dixit Arora | Senior Engineer
  • Jyotsna Ravi | Ingegnere principale

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi