Delen via


Aangepaste documentverwerkingsmodellen bouwen en implementeren in Azure

Azure AI documentanalyse
Azure AI-services
Azure Logic-apps
Azure Machine Learning Studio
Azure AI Foundry
Azure Storage

In dit artikel worden Azure-oplossingen beschreven voor het bouwen, trainen, implementeren en gebruiken van aangepaste documentverwerkingsmodellen. Deze Azure-services bieden ook gebruikersinterfacemogelijkheden voor het labelen of taggen van tekst tijdens de verwerking.

Architectuur

diagram met verschillende alternatieven voor het bouwen en implementeren van een aangepast documentverwerkingsmodel.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

De volgende gegevensstroom komt overeen met het vorige diagram:

  1. Orchestrators zoals Azure Logic Apps, Azure Data Factory of Azure Functions nemen berichten en bijlagen op van e-mailservers en bestanden van bestandsoverdrachtprotocolservers of webtoepassingen.

    • Met Azure Functions en Azure Logic Apps kunt u serverloze workloads inschakelen. De service die u kiest, is afhankelijk van uw voorkeur voor servicemogelijkheden, zoals ontwikkeling, connectors, beheer en operationele context. Zie Azure Functions en Azure Logic Apps vergelijken voor meer informatie.

    • Overweeg om Azure Data Factory te gebruiken om gegevens bulksgewijs te verplaatsen.

  2. De orchestrators verzenden opgenomen gegevens naar Azure Blob Storage of Azure Data Lake Storage. Ze organiseren de gegevens in deze archieven op basis van kenmerken zoals bestandsextensies of klantgegevens.

  3. U kunt de volgende Azure-services afzonderlijk of in combinatie gebruiken voor het trainen van documenten en het bouwen van aangepaste modellen om verschillende use cases aan te pakken.

    • Document Intelligence Studio: Als u voor het document sleutel-waardeparen moet extraheren of een aangepaste tabel moet maken op basis van een afbeelding of PDF, gebruikt u Document Intelligence Studio om de gegevens te taggen en het aangepaste model te trainen. Als u het type document, documentclassificatie genoemd, moet identificeren voordat u het juiste extractiemodel aanroept, gebruikt u Document Intelligent Studio om de documenten te labelen en de modellen te bouwen.

    • Language Studio: Voor documentclassificatie op basis van inhoud of voor domeinspecifieke entiteitextractie kunt u een aangepast tekstclassificatie- of NER-model (NER) trainen in Language Studio.

    • Azure Machine Learning Studio: Voor het labelen van gegevens voor tekstclassificatie of entiteitextractie voor gebruik met opensource-frameworks, zoals PyTorch of TensorFlow, gebruikt u Machine Learning Studio, de Python SDK, Azure CLI of de REST API. Machine Learning Studio biedt een modelcatalogus van basismodellen. Deze basismodellen hebben mogelijkheden voor het verfijnen van verschillende taken, zoals tekstclassificatie, vragen beantwoorden en samenvatten. Als u basismodellen wilt verfijnen, gebruikt u de gebruikersinterface of code van Machine Learning Studio.

    • Azure OpenAI-service: Als u Azure OpenAI-modellen wilt verfijnen op uw eigen gegevens of domein voor verschillende taken, zoals tekstsamenvatting en vragen beantwoorden, gebruikt u azure AI Foundry Portal, Python SDK of REST API.

  4. De aangepaste modellen implementeren en gebruiken voor deductie:

    • Azure AI Document Intelligence heeft ingebouwde modelimplementatie. Deductie met de aangepaste modellen wordt uitgevoerd met behulp van SDK's of documentmodellen REST API. De model-id of modelnaam die is opgegeven tijdens het maken van het model, wordt opgenomen in de aanvraag-URL voor documentanalyse. Document Intelligence vereist geen verdere implementatiestappen.

    • Language Studio biedt een optie voor het implementeren van aangepaste taalmodellen. Haal de VOORSPELLINGs-URL van het REST-eindpunt op door het model voor implementatie te selecteren. U kunt modellen deductie uitvoeren met behulp van het REST-eindpunt of de Azure SDK-clientbibliotheken.

    • Machine Learning implementeert aangepaste modellen op online- of batch-machine learning beheerde eindpunten. U kunt ook de Machine Learning SDK gebruiken om te implementeren in Azure Kubernetes Service (AKS) als webservice. Verfijnde basismodellen kunnen worden geïmplementeerd vanuit de modelcatalogus via beheerde compute of een serverloze API. Modellen die zijn geïmplementeerd via beheerde berekeningen, kunnen worden afgeleid met behulp van beheerde eindpunten, waaronder online-eindpunten voor realtime deductie en batcheindpunten voor batchdeductie.

    • Azure AI Foundry biedt meerdere opties voor het implementeren van nauwkeurig afgestemde Azure OpenAI-modellen. U kunt deze modellen implementeren met behulp van de Python SDK of REST API. U kunt ook nauwkeurig afgestemde basismodellen implementeren van providers zoals Meta of Llama als serverloze API's of met behulp van beheerde compute.

Components

  • Azure Logic Apps maakt deel uit van Azure Integration Services. Logic Apps maakt geautomatiseerde werkstromen die apps, gegevens, services en systemen integreren. In deze architectuur organiseert Logic Apps de opname van documenten en gegevens uit verschillende bronnen en activeert downstreamprocessen voor documentverwerking. U kunt beheerde connectors gebruiken voor services zoals Azure Storage en Microsoft 365 om werkstromen te activeren wanneer een bestand binnenkomt in het opslagaccount of een e-mailbericht wordt ontvangen.

  • Azure Data Factory is een beheerde gegevensintegratieservice voor het organiseren en automatiseren van gegevensverplaatsing en -transformatie. In deze architectuur voegt Azure Data Factory transformatieactiviteiten toe, zoals het aanroepen van een REST-eindpunt of het uitvoeren van een notebook op de opgenomen gegevens in de pijplijn.

  • Azure Functions is een serverloze rekenservice die gebeurtenisgestuurde workloads kan hosten die kortstondige processen hebben. In deze architectuur stelt Functions workloads in staat om binnenkomende documenten te verwerken en pijplijnen voor modelverwerking te activeren.

  • Blob Storage is een oplossing voor objectopslag voor het opslaan van ongestructureerde gegevens. Blob Storage ondersteunt bibliotheken voor meerdere talen, zoals .NET, Node.jsen Python. Toepassingen hebben toegang tot bestanden in Blob Storage via HTTP of HTTPS. Blob Storage heeft dynamische, statische en archieftoegangslagen ter ondersteuning van kostenoptimalisatie voor het opslaan van grote hoeveelheden gegevens. In deze architectuur is dit account de oplossing voor onbewerkte bestanden die gebruikmaken van een dynamische laag.

  • Data Lake Storage is een schaalbare, cloudopslagplaats voor het opslaan en organiseren van grote volumes ongestructureerde gegevens. In deze architectuur organiseert en onderhoudt Data Lake Storage grote hoeveelheden opgenomen gegevens ter ondersteuning van analyse-, label- en machine learning-werkstromen.

  • Document Intelligence is een onderdeel van Azure AI-services. In deze architectuur biedt het ingebouwde mogelijkheden voor documentanalyse voor het extraheren van gedrukte en handgeschreven tekst, tabellen en sleutel-waardeparen. Document Intelligence heeft vooraf samengestelde modellen voor het extraheren van gegevens uit facturen, documenten, ontvangstbewijzen, id-kaarten en visitekaartjes. Document Intelligence heeft ook een aangepast sjabloonformuliermodel en een aangepast neuraal documentmodel dat u kunt gebruiken om aangepaste modellen te trainen en te implementeren.

  • Document Intelligence Studio biedt een interface voor het verkennen van Document Intelligence-functies en -modellen. U kunt de interface gebruiken om gegevens te labelen en aangepaste documentverwerkingsmodellen te bouwen.

  • Azure AI Language consolideert de NLP-services (Natural Language Processing) van Azure. Het biedt vooraf samengestelde en aanpasbare opties en mogelijkheden voor taalbegrip. Hiermee kunt u documenten classificeren, benoemde entiteiten herkennen en andere NLP-taken uitvoeren.

  • Language Studio is een webgebruikersinterface in taal die u kunt gebruiken om taalmodellen te bouwen, te trainen, te beheren en te implementeren. In deze architectuur ondersteunt het taggen, trainen en implementeren van aangepaste taalmodellen voor taken zoals classificatie en entiteitextractie in de pijplijn voor documentverwerking. Automatisch labelen ondersteunt aangepaste tekstclassificatie en kan documenten automatisch labelen in verschillende klassen of categorieën. De studio biedt ook opties voor het weergeven van modelprestaties, waaronder F1-score, precisie en relevante overeenkomsten.

  • Azure Machine Learning is een beheerd machine learning-platform voor modelontwikkeling en -implementatie op schaal. In deze architectuur worden gegevens gelabeld, aangepaste modellen getraind (inclusief met opensource-frameworks) en worden de modellen voor deductietaken geïmplementeerd.

    • Machine Learning Studio biedt opties voor gegevenslabels voor afbeeldingen en tekst. Het ondersteunt modeltrainingswerkstromen binnen deze architectuur.

    • Exporteer gelabelde gegevens als COCO - of Machine Learning-gegevenssets. U kunt deze gegevenssets gebruiken om modellen te trainen en te implementeren in Machine Learning-notebooks.

  • Azure OpenAI biedt krachtige taalmodellen en multimodale modellen als REST API's die u kunt gebruiken om verschillende taken uit te voeren. In deze architectuur voeren Azure OpenAI-modellen geavanceerde taaltaken uit, zoals het verfijnen van modellen om de modelprestaties te verbeteren op gegevens die ontbreken of ondervertegenwoordigd zijn wanneer het basismodel oorspronkelijk is getraind. U kunt ook basismodellen van meerdere providers gebruiken om deze taken uit te voeren.

Alternatives

U kunt meer werkstromen toevoegen aan dit scenario op basis van specifieke gebruiksvoorbeelden.

Scenario-details

Documentverwerking omvat een breed scala aan taken. Het kan lastig zijn om aan al uw documentverwerkingsbehoeften te voldoen door gebruik te maken van de vooraf gedefinieerde modellen die beschikbaar zijn in Taal en Document Intelligence. Mogelijk moet u aangepaste modellen bouwen om documentverwerking voor verschillende toepassingen en domeinen te automatiseren.

Belangrijke uitdagingen bij het aanpassen van modellen zijn onder andere:

  • Tekstgegevens labelen of taggen met relevante sleutel-waardepaarentiteiten om tekst te classificeren voor extractie.

  • Het beheren van de trainingsinfrastructuur, zoals compute en opslag, en de bijbehorende integraties.

  • Modellen op schaal implementeren voor toepassingen die kunnen worden gebruikt.

Potentiële gebruikscases

De volgende gebruiksvoorbeelden kunnen profiteren van aangepaste modellen voor documentverwerking:

  • Bouw aangepaste NER- en tekstclassificatiemodellen op basis van opensource-frameworks.

  • Pak aangepaste sleutelwaarden uit documenten voor verschillende brancheverticalen, zoals verzekeringen en gezondheidszorg.

  • Tag en extraheer specifieke domeinafhankelijke entiteiten buiten de vooraf gedefinieerde NER-modellen voor domeinen zoals beveiliging of financiën.

  • Aangepaste tabellen maken op basis van documenten.

  • Handtekeningen extraheren.

  • E-mailberichten of andere documenten labelen en classificeren op basis van inhoud.

  • Documenten samenvatten of aangepaste vraag- en antwoordmodellen maken op basis van uw gegevens.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die u kunt gebruiken om de kwaliteit van een workload te verbeteren. Zie Well-Architected Framework voor meer informatie.

Voor deze voorbeeldworkload is het implementeren van elke pijler afhankelijk van het optimaal configureren en gebruiken van elke Azure-onderdeelservice.

Reliability

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie de controlelijst ontwerpbeoordeling voor betrouwbaarheid voor meer informatie.

Availability

Resiliency

Security

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie de controlelijst ontwerpbeoordeling voor beveiliging voor meer informatie.

Implementeer gegevensbescherming, identiteits- en toegangsbeheer en aanbevelingen voor netwerkbeveiliging voor Blob Storage, AI-services voor Document Intelligence en Language Studio, Machine Learning en Azure OpenAI.

Kostenoptimalisatie

Kostenoptimalisatie richt zich op manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie de controlelijst ontwerpbeoordeling voor Kostenoptimalisatie voor meer informatie.

De totale kosten voor het implementeren van deze oplossing zijn afhankelijk van de prijzen van de services die u kiest.

De belangrijkste kosten voor deze oplossing zijn:

  • De rekenkosten voor het trainen en implementeren van Machine Learning-modellen.

    Als u de kosten wilt optimaliseren, kiest u het juiste knooppunttype, de clustergrootte en het aantal knooppunten. Machine Learning biedt opties voor training, zoals het instellen van het minimum aantal rekenclusterknooppunten op nul en het definiëren van de niet-actieve tijd voordat u omlaag schaalt. Zie Machine Learning-kosten beheren en optimaliseren voor meer informatie.

  • Duur en activiteiten van gegevensindeling. Voor Azure Data Factory zijn de kosten voor kopieeractiviteiten in de Azure Integration Runtime gebaseerd op het aantal gebruikte gegevensintegratie-eenheden en de tijd die nodig is om de activiteiten uit te voeren. Er worden ook uitvoeringen van indelingsactiviteiten in rekening gebracht op basis van hun nummer.

    Azure Logic Apps-prijsplannen zijn afhankelijk van de resources die u maakt en gebruikt. De volgende artikelen kunnen u helpen bij het kiezen van het juiste plan voor specifieke gebruiksvoorbeelden:

Zie de volgende bronnen voor meer informatie over prijzen voor specifieke onderdelen:

Gebruik de Azure-prijscalculator om de onderdeelopties toe te voegen die u kiest en de totale kosten van de oplossing inschatten.

Prestatie-efficiëntie

Prestatie-efficiëntie verwijst naar de mogelijkheid van uw workload om efficiënt te voldoen aan de behoeften van de gebruiker. Zie de controlelijst ontwerpbeoordeling voor prestatie-efficiëntie voor meer informatie.

Schaalbaarheid

Bijdragers

Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.

Hoofdauteurs:

  • Dixit Arora | Senior Engineer
  • Jyotsna Ravi | Hoofdtechnicus

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen