Niestandardowe modele przetwarzania dokumentów na platformie Azure

Analiza dokumentów sztucznej inteligencji platformy Azure
Azure AI services
Azure Logic Apps
Azure Machine Learning Studio
Azure Storage

W tym artykule opisano rozwiązania platformy Azure do tworzenia, trenowania, wdrażania i używania niestandardowych modeli przetwarzania dokumentów. Te usługi platformy Azure oferują również funkcje interfejsu użytkownika służące do etykietowania lub tagowania na potrzeby przetwarzania tekstu.

Architektura

Diagram architektury przedstawiający kilka alternatyw dla niestandardowego procesu kompilowania i wdrażania modelu przetwarzania dokumentów.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Orkiestratory, takie jak Azure Logic Apps, Azure Data Factory lub Azure Functions, pozyskuje wiadomości i załączniki z serwerów poczty e-mail oraz pliki z serwerów FTP lub aplikacji internetowych.

    • Usługi Azure Functions i Logic Apps umożliwiają bezserwerowe obciążenia. Wybrana usługa zależy od preferencji dotyczących możliwości usług, takich jak programowanie, łączniki, zarządzanie i kontekst wykonywania. Aby uzyskać więcej informacji, zobacz Porównanie usług Azure Functions i Azure Logic Apps.

    • Rozważ użycie usługi Azure Data Factory do zbiorczego przenoszenia danych.

  2. Orkiestratorzy wysyłają pozyskane dane do usługi Azure Blob Storage lub Data Lake Storage, organizując dane w magazynach danych na podstawie cech, takich jak rozszerzenia plików lub klienci.

  3. Różne usługi, które mogą być używane do trenowania dokumentów i tworzenia modeli niestandardowych na platformie Azure niezależnie lub w różnych kombinacjach, aby rozwiązać różne przypadki użycia:

    • Document Intelligence Studio: jeśli dokument wymaga wyodrębnienia par klucz-wartość lub utworzenia niestandardowej tabeli z formatu obrazu lub pliku PDF, użyj narzędzia Document Intelligence Studio, aby oznaczyć dane i wytrenować model niestandardowy. Podobnie, jeśli istnieje wymóg identyfikacji typu dokumentu (klasyfikacja dokumentów) przed wywołaniem odpowiedniego modelu wyodrębniania, użyj narzędzia Document Intelligent Studio, aby oznaczyć dokumenty i skompilować modele.

    • Language Studio: w przypadku klasyfikacji dokumentów na podstawie zawartości lub wyodrębniania jednostek specyficznych dla domeny można wytrenować niestandardowy model klasyfikacji tekstu lub modelu rozpoznawania jednostek nazwanych (NER) w programie Language Studio.

    • Azure Machine Learning Studio: jeśli chcesz oznaczyć dane klasyfikacji tekstu lub wyodrębniania jednostek, których można używać z platformami typu open source, takimi jak PyTorch lub TensorFlow, użyj usługi Machine Learning Studio lub zestawu SDK języka Python, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST. Usługa Azure Machine Learning Studio udostępnia katalog modeli podstawowych. Te modele podstawowe mają możliwości dostrajania dla różnych zadań, takich jak klasyfikacja tekstu, odpowiadanie na pytania, podsumowywanie itp. Aby dostosować modele podstawowe, użyj interfejsu użytkownika usługi Machine Learning Studio lub kodu .

    • azure OpenAI Service: w przypadku dostrajania modeli usługi Azure OpenAI na własnych danych lub domenach dla różnych zadań, takich jak podsumowywanie tekstu, odpowiadanie na pytania, użyj witryny [Azure AI Foundry Portal]((https://ai.azure.com/) lub zestawu SDK języka Python lub interfejsu API REST .

  4. Aby wdrożyć modele niestandardowe i użyć ich do wnioskowania:

    • Usługa Azure AI Document Intelligence ma wbudowane wdrożenie modelu. Użyj zestawów SDK analizy dokumentów lub interfejsu API REST, aby zastosować modele niestandardowe do wnioskowania. Uwzględnij identyfikator modelu lub nazwę modelu niestandardowego w adresie URL żądania analizy dokumentów, w zależności od wersji interfejsu API. Analiza dokumentów nie wymaga dalszych kroków wdrażania.

    • Program Language Studio oferuje opcję wdrażania niestandardowych modeli językowych. Pobierz adres URL przewidywania punktu końcowego REST, wybierając model do wdrożenia. Wnioskowanie modelu można wykonać przy użyciu punktu końcowego REST lub bibliotek klienckich zestawu Azure SDK.

    • Usługa Machine Learning wdraża niestandardowe modele w punktach końcowych zarządzanych przez usługę Machine Learning w trybie online lub wsadowym. Zestaw SDK usługi Machine Learning umożliwia również wdrażanie w usłudze Azure Kubernetes Service (AKS) jako usługi internetowej. Dostosowane modele podstawowe są wdrażane z katalogu modeli na dwa sposoby: Zarządzane obliczenia i bezserwerowego interfejsu API. Modele wdrażane za pomocą zarządzanego środowiska obliczeniowego można wnioskować przy użyciu zarządzanych punktów końcowych — punktów końcowych online na potrzeby wnioskowania w czasie rzeczywistym i punktów końcowych wsadowych na potrzeby wnioskowania wsadowego.

    • Usługa Azure AI Foundry oferuje opcję wdrożenia dostosowanego modelu azure OpenAI. Możesz również wdrożyć dostosowane modele usługi Azure OpenAI przy użyciu zestawu SDK języka Python lub interfejsu API REST.

Składniki

  • Usługa Logic Apps jest częścią usług Azure Integration Services. Usługa Logic Apps tworzy zautomatyzowane przepływy pracy, które integrują aplikacje, dane, usługi i systemy. Za pomocą łączników zarządzanych dla usług, takich jak Azure Storage i Microsoft 365, można wyzwalać przepływy pracy po odebraniu pliku na koncie magazynu lub wiadomości e-mail.

  • Data Factory to zarządzana usługa wyodrębniania, przekształcania, ładowania (ETL) do integracji i przekształcania danych. Usługa Data Factory może dodawać działania przekształcania do potoku, który obejmuje wywoływanie punktu końcowego REST lub uruchamianie notesu na pozyskanych danych.

  • Azure Functions to bezserwerowa usługa obliczeniowa, która może hostować obciążenia sterowane zdarzeniami z krótkotrwałymi procesami.

  • Usługa Blob Storage to rozwiązanie magazynu obiektów dla nieprzetworzonych plików w tym scenariuszu. Usługa Blob Storage obsługuje biblioteki dla wielu języków, takich jak .NET, Node.js i Python. Aplikacje mogą uzyskiwać dostęp do plików w usłudze Blob Storage za pośrednictwem protokołu HTTP/HTTPS. Usługa Blob Storage ma warstwy dostępu Gorąca, Chłodna i Archiwum, aby obsługiwać optymalizację kosztów przechowywania dużych ilości danych.

  • Usługa Data Lake Storage to zestaw funkcji opartych na usłudze Azure Blob Storage na potrzeby analizy danych big data. Usługa Data Lake Storage zachowuje opłacalność usługi Blob Storage i udostępnia funkcje, takie jak zabezpieczenia na poziomie plików i semantyka systemu plików z hierarchiczną przestrzenią nazw.

  • Analiza dokumentów jest częścią usług Azure AI. Funkcja analizy dokumentów ma wbudowane funkcje analizy dokumentów, których można użyć do wyodrębniania par tekstu drukowanego i odręcznego, tabel i par klucz-wartość. Analiza dokumentów zawiera wstępnie utworzone modele wyodrębniania danych z faktur, dokumentów, paragonów, kart identyfikacyjnych i wizytówek. Analiza dokumentów ma również niestandardowy model formularza szablonu i niestandardowy model dokumentów neuronowych , którego można użyć do trenowania i wdrażania modeli niestandardowych.

    • Narzędzie Document Intelligence Studio udostępnia interfejs użytkownika, za pomocą którego można eksplorować funkcje i modele analizy dokumentów oraz tworzyć, oznaczać, trenować i wdrażać modele niestandardowe.
  • Język sztucznej inteligencji platformy Azure konsoliduje usługi przetwarzania języka naturalnego platformy Azure. Pakiet oferuje wstępnie utworzone i dostosowywalne opcje. Aby uzyskać więcej informacji, zobacz funkcje dostępne w języku sztucznej inteligencji platformy Azure.

    • Program Language Studio udostępnia interfejs użytkownika do eksplorowania i analizowania funkcji języka sztucznej inteligencji platformy Azure. Program Language Studio udostępnia również opcje tworzenia, tagowania, trenowania i wdrażania modeli niestandardowych.
  • azure Machine Learning to zarządzana platforma uczenia maszynowego do tworzenia i wdrażania modeli na dużą skalę.

    • Usługa Azure Machine Learning Studio udostępnia opcje etykietowania danych dla obrazów i tekstu.
    • Eksportuj dane oznaczone etykietą COCO lub Zestawy danych usługi Azure Machine Learning. Zestawy danych można używać do trenowania i wdrażania modeli w notesach usługi Azure Machine Learning.
  • azure OpenAI Service oferuje zaawansowane modele języka , modele wielomodalne jako interfejsy API REST, które mogą być używane do wykonywania różnych zadań. Niektóre z oferowanych modeli można również dostosować w celu zwiększenia wydajności modelu na danych, które nie były obecne lub nie są reprezentowane, gdy model podstawowy został pierwotnie wytrenowany.

Alternatywy

Do tego scenariusza można dodać więcej przepływów pracy na podstawie określonych przypadków użycia.

  • Jeśli dokument jest w formacie obrazu lub PDF, możesz wyodrębnić dane przy użyciu przetwarzania obrazów platformy Azure, interfejsu API odczytu analizy dokumentów lub bibliotek typu open source.

  • Podsumowanie dokumentów i konwersacji można wykonać przy użyciu wstępnie utworzonego modelu w języku AI platformy Azure.

  • Użyj wstępnego przetwarzania kodu, aby wykonać kroki przetwarzania tekstu. Te kroki obejmują czyszczenie, usuwanie wyrazów zatrzymania, lemmatyzacja, stemming i podsumowanie tekstu na wyodrębnionych danych zgodnie z wymaganiami dotyczącymi przetwarzania dokumentów. Kod można uwidocznić jako interfejsy API REST na potrzeby automatyzacji. Wykonaj te kroki ręcznie lub zautomatyzuj je, integrując je z procesem pozyskiwania usługi Logic Apps lub Azure Functions .

  • Za pomocą portalu Azure AI Foundry możnadostrajania, wdrażania modeli podstawowych (innych niż modele azure OpenAI) i tworzenia aplikacji generacyjnych sztucznej inteligencji.

    Ponieważ istnieją pewne nakładające się na siebie rozwiązania Azure Machine Learning i Azure AI Foundry, musisz ocenić ich możliwości i wybrać najlepszą platformę dla danego scenariusza.

  • Możesz również użyć azure AI Content Understanding do tworzenia analizatora niestandardowego , definiując schemat pola do wyodrębniania danych strukturalnych z dokumentu.

Szczegóły scenariusza

Przetwarzanie dokumentów jest szerokim obszarem. Spełnienie wszystkich wymagań dotyczących przetwarzania dokumentów przy użyciu wstępnie utworzonych modeli dostępnych w usłudze Document Intelligence i Azure AI Language może być trudne. Może być konieczne utworzenie modeli niestandardowych w celu zautomatyzowania przetwarzania dokumentów dla różnych aplikacji i domen.

Główne wyzwania związane z dostosowywaniem modelu obejmują:

  • Etykietowanie lub oznaczanie danych tekstowych odpowiednimi jednostkami par klucz-wartość w celu sklasyfikowania tekstu na potrzeby wyodrębniania.
  • Zarządzanie infrastrukturą szkoleniową, taką jak obliczenia i magazyn, oraz ich integracje.
  • Bezpieczne wdrażanie modeli na dużą skalę w celu łatwej integracji z korzystaniem z aplikacji.

Potencjalne przypadki użycia

Następujące przypadki użycia mogą korzystać z modeli niestandardowych do przetwarzania dokumentów:

  • Tworzenie niestandardowych modeli klasyfikacji NER i tekstu na podstawie struktur typu open source.
  • Wyodrębnij niestandardowe wartości kluczy z dokumentów dla różnych branż, takich jak ubezpieczenie i opieka zdrowotna.
  • Oznaczanie i wyodrębnianie określonych jednostek zależnych od domeny poza wstępnie utworzonymi modelami NER dla domen, takich jak zabezpieczenia lub finanse.
  • Tworzenie tabel niestandardowych na podstawie dokumentów.
  • Wyodrębnianie podpisów.
  • Etykieta i klasyfikowanie wiadomości e-mail lub innych dokumentów na podstawie zawartości.
  • Podsumowanie dokumentu lub niestandardowe pytanie i odpowiadanie na dane.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

W tym przykładowym obciążeniu wdrożenie każdego filaru zależy od optymalnego konfigurowania i używania poszczególnych składników usługi platformy Azure.

Niezawodność

Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.

Dostępność

  • Zobacz umowy dotyczące poziomu usług (SLA) dla każdego składnika architektury w umowach sla (Service Level Agreement) dla usług online.

  • Aby uzyskać opcje konfiguracji do projektowania aplikacji o wysokiej dostępności przy użyciu kont usługi Azure Storage, zobacz Projektowanie aplikacji o wysokiej dostępności przy użyciu nadmiarowości geograficznej.

Odporność

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.

  • Zaimplementuj ochronę danych, zarządzanie tożsamościami i dostępem oraz zalecenia dotyczące zabezpieczeń sieci dla usługi Blob Storage, usług sztucznej inteligencji dla analizy dokumentów i programu Language Studio, Azure Machine Learning i Azure OpenAI.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.

Całkowity koszt implementacji tego rozwiązania zależy od cen wybranej usługi.

Główne koszty tego rozwiązania to:

Aby uzyskać więcej informacji na temat cen określonych składników, zobacz następujące zasoby:

Skorzystaj z kalkulatora cen platformy Azure, aby dodać wybrane opcje składnika i oszacować całkowity koszt rozwiązania.

Efektywność wydajności

Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które są na nim nakładane przez użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.

Skalowalność

  • Aby automatycznie lub ręcznie skalować usługę Azure Functions, wybierz odpowiedni plan hostingu.

  • Analiza dokumentów domyślnie obsługuje 15 równoczesnych żądań na sekundę. Aby zażądać zwiększonego limitu przydziału, utwórz bilet pomoc techniczna platformy Azure.

  • W przypadku modeli niestandardowych usługi Azure Machine Learning hostowanych jako usługi internetowe w usłudze AKS azureml-fe fronton automatycznie skaluje się zgodnie z potrzebami. Ten składnik kieruje również przychodzące żądania wnioskowania do wdrożonych usług.

  • W przypadku wdrożeń jako zarządzanych punktów końcowych obsługa skalowania automatycznego przez integrację z funkcją automatycznego skalowania usługi Azure Monitor.

  • Limity usługi interfejsu API dla niestandardowej klasyfikacji NER i niestandardowej klasyfikacji tekstu na potrzeby wnioskowania to 20 żądań GET lub POST na minutę.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następującego współautora.

Główny autor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki