Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
Scaricare un file di Visio di questa architettura.
Flusso di dati
Il flusso di dati seguente corrisponde al diagramma precedente:
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.
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.
È 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.
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.
Se il documento è un'immagine o un PDF, è possibile estrarre i dati usando il riconoscimento ottico dei caratteri di Azure, l'API lettura di Document Intelligence o le librerie open source.
È possibile usare il modello predefinito in Lingua per il riepilogo di documenti e conversazioni.
Usare il codice di pre-elaborazione per eseguire i passaggi di elaborazione del testo. Questi passaggi includono la pulizia, la rimozione delle parole non significative, la lemmatizzazione, lo stemming e il riepilogo del testo sui dati estratti in base ai requisiti di elaborazione dei documenti. È possibile esporre il codice come API REST per l'automazione. Completare manualmente o automatizzare questi passaggi integrando con il processo di ingestion di Azure Logic Apps o Azure Functions.
È possibile usare il portale Foundry per ottimizzare e distribuire modelli di base e creare applicazioni di intelligenza artificiale generative.
Foundry offre due opzioni di calcolo come piattaforma di hosting per i modelli (MaaP), calcolo serverless e calcolo gestito. Modelli e aree specifiche supportano la distribuzione tramite l'API serverless, che fornisce modelli come servizio (MaaS).
Machine Learning e Foundry condividono funzionalità, quindi valuta entrambe le piattaforme e scegli quella migliore per il tuo scenario.
È possibile usare Informazioni sul contenuto di Azure in Foundry Tools per creare un analizzatore personalizzato definendo uno schema di campo per estrarre dati strutturati dal documento.
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
Per altre informazioni sui contratti di servizio per ogni componente dell'architettura, vedere Documenti sulle licenze.
Per altre informazioni sulle opzioni di configurazione per progettare applicazioni a disponibilità elevata con account di archiviazione, vedere Usare la ridondanza geografica per progettare applicazioni a disponibilità elevata.
Resiliency
Risolvere i problemi relativi alle modalità di errore dei singoli servizi, ad esempio Funzioni e Archiviazione, per garantire la resilienza dei servizi di calcolo e degli archivi dati in questo scenario. Per altre informazioni, vedere Guide all'affidabilità per servizio.
Eseguire il backup e il ripristino dei modelli di Document Intelligence.
Eseguire il backup e il ripristino dei modelli di classificazione del testo personalizzati e dei modelli NER in lingua.
Machine Learning dipende da servizi costitutivi come Azure Blob Storage, servizi di calcolo e Azure Kubernetes Service (AKS). Per garantire affidabilità per Machine Learning, configurare ognuno di questi servizi in modo che sia affidabile. Per ulteriori informazioni sulla progettazione di strategie di ripristino, vedere Failover per la continuità aziendale e il recupero d'emergenza (BCDR).
Per OpenAI di Azure, è possibile garantire la disponibilità continua effettuando il provisioning di due o più risorse OpenAI di Azure in aree diverse. Questo approccio consente il failover in un'altra regione nel caso in cui ci sia un problema. Per altre informazioni, vedere BCDR con Azure OpenAI.
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:
Costo di calcolo per eseguire il training e la distribuzione di modelli di Machine Learning.
Per ottimizzare i costi, scegliere il tipo di nodo, le dimensioni del cluster e il numero di nodi corretti. Machine Learning offre opzioni per il training, ad esempio l'impostazione del numero minimo di nodi del cluster di calcolo su zero e la definizione del tempo di inattività prima del ridimensionamento. Per altre informazioni, vedere Gestire e ottimizzare i costi di Machine Learning.
Durata e attività di orchestrazione dei dati. Per Azure Data Factory, gli addebiti per le attività di copia nel runtime di integrazione di Azure si basano sul numero di unità di integrazione dati usate e sul tempo impiegato per completare le attività. Anche le esecuzioni delle attività di orchestrazione aggiuntive vengono addebitate in base al loro numero.
I piani tariffari di App per la logica di Azure dipendono dalle risorse create e usate. Gli articoli seguenti consentono di scegliere il piano appropriato per casi d'uso specifici:
Per altre informazioni sui prezzi per componenti specifici, vedere le risorse seguenti:
- Prezzi di Document Intelligence
- Prezzi delle funzioni
- Tariffe di Azure Logic Apps
- Prezzi di Azure Data Factory
- Prezzi di archiviazione BLOB
- Lingua nei prezzi degli Strumenti di Fonderia
- Prezzi di Machine Learning
- Prezzi di Azure OpenAI
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à
Per ridimensionare funzioni automaticamente o manualmente, scegliere il piano di hosting corretto.
Per impostazione predefinita, Document Intelligence supporta 15 richieste simultanee al secondo. Per aumentare questa quota, creare un ticket di supporto di Azure.
Per i modelli personalizzati di Machine Learning ospitati come servizi Web nel servizio Azure Kubernetes, il componente front-end azureml-fe viene ridimensionato automaticamente in base alle esigenze. Questo componente instrada anche le richieste di inferenza in ingresso ai servizi distribuiti.
Per le distribuzioni in qualità di endpoint gestiti, supportare la scalabilità automatica tramite l'integrazione con la funzionalità di autoscalabilità di Azure Monitor. Per altre informazioni, vedere Endpoint per l'inferenza nell'ambiente di produzione.
I limiti del servizio API per la classificazione personalizzata del NER e del testo personalizzato per l'inferenza sono 20 richieste GET o POST al minuto.
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
- Introduzione ai progetti personalizzati in Document Intelligence Studio
- Usare i modelli di Document Intelligence
- Che cos'è Lingua?
- Che cos'è il riconoscimento ottico dei caratteri?
- Come configurare Funzioni con una rete virtuale