Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describen las soluciones de Azure para crear, entrenar, implementar y usar modelos de procesamiento de documentos personalizados. Estos servicios de Azure también proporcionan funcionalidades de interfaz de usuario (UI) para etiquetar o etiquetar texto durante el procesamiento.
Arquitectura
Descargue un archivo de Visio de esta arquitectura.
Flujo de datos
El siguiente flujo de datos corresponde al diagrama anterior:
Orquestadores como Azure Logic Apps, Azure Data Factory o Azure Functions ingieren mensajes y datos adjuntos de servidores de correo electrónico y archivos de servidores de protocolo de transferencia de archivos o aplicaciones web.
Azure Functions y Azure Logic Apps habilitan cargas de trabajo sin servidor. El servicio que elija depende de sus preferencias para las funcionalidades de servicio, como desarrollo, conectores, administración y contexto operativo. Para más información, consulte Comparación de Azure Functions y Azure Logic Apps.
Considere la posibilidad de usar Azure Data Factory para mover datos de forma masiva.
Los orquestadores envían datos ingeridos a Azure Blob Storage o Azure Data Lake Storage. Organizan los datos de estos almacenes en función de características como extensiones de archivo o detalles del cliente.
Puede usar los siguientes servicios de Azure, ya sea de forma independiente o en combinación, para entrenar documentos y crear modelos personalizados para abordar varios casos de uso.
Document Intelligence Studio: si el documento requiere que extraiga pares clave-valor o cree una tabla personalizada a partir de una imagen o PDF, use Document Intelligence Studio para etiquetar los datos y entrenar el modelo personalizado. Si hay un requisito para identificar el tipo de documento, denominado clasificación de documentos, antes de invocar el modelo de extracción correcto, use Document Intelligent Studio para etiquetar los documentos y compilar los modelos.
Language Studio: para la clasificación de documentos basada en contenido o para la extracción de entidades específicas del dominio, puede entrenar un modelo de clasificación de texto personalizado o reconocimiento de entidades con nombre (NER) en Language Studio.
Azure Machine Learning Studio: para etiquetar datos para la clasificación de texto o la extracción de entidades para usarlos con marcos de código abierto como PyTorch o TensorFlow, use Machine Learning Studio, el SDK de Python, la CLI de Azure o la API REST. Machine Learning Studio proporciona un catálogo de modelos fundamentales. Estos modelos fundamentales tienen funcionalidades de ajuste preciso para diversas tareas, como la clasificación de texto, la respuesta a preguntas y el resumen. Para ajustar los modelos básicos, use la interfaz de usuario o el código de Machine Learning Studio.
Azure OpenAI en modelos de Foundry: para ajustar los modelos de Azure OpenAI en sus propios datos o dominio para diversas tareas, como el resumen de texto y la respuesta a preguntas, use el portal de Microsoft Foundry, el SDK de Python o la API REST.
Para implementar los modelos personalizados y usarlos para la inferencia:
Azure Document Intelligence en Foundry Tools tiene una implementación de modelos integrada. La inferencia con los modelos personalizados se realiza mediante SDK o la API REST de modelos de documentos. El modelId o el nombre del modelo, especificado durante la creación del modelo, se incluye en la dirección URL de solicitud para el análisis de documentos. La inteligencia de documentos no requiere ningún paso de implementación adicional.
Language Studio proporciona una opción para implementar modelos de lenguaje personalizados. Para obtener el URL de predicción del endpoint REST, seleccione el modelo que desea implementar. Puede inferir modelos mediante el punto de conexión REST o las bibliotecas cliente del SDK de Azure.
Machine Learning despliega modelos personalizados en endpoints administrados de Machine Learning en línea o por lotes. También puede usar el SDK de Machine Learning para implementar en Azure Kubernetes Service (AKS) como servicio web. Los modelos de base optimizados se pueden implementar desde el catálogo de modelos a través de un proceso administrado o una API sin servidor. Los modelos implementados a través del proceso administrado se pueden inferenciar mediante puntos de conexión administrados, que incluyen puntos de conexión en línea para la inferencia en tiempo real y los puntos de conexión por lotes para la inferencia por lotes.
Foundry proporciona varias opciones para implementar modelos de Azure OpenAI ajustados. Puede implementar estos modelos mediante el SDK de Python o la API REST. También puede implementar modelos base ajustados desde proveedores como Meta o Llama como API sin servidor o mediante cómputo administrado.
Components
Azure Logic Apps forma parte de Azure Integration Services. Logic Apps crea flujos de trabajo automatizados que integran aplicaciones, datos, servicios y sistemas. En esta arquitectura, Logic Apps organiza la ingesta de documentos y datos de diversos orígenes y desencadena procesos de bajada para el procesamiento de documentos. Puede usar conectores administrados para servicios como Azure Storage y Microsoft 365 para desencadenar flujos de trabajo cuando llega un archivo a la cuenta de almacenamiento o se recibe un correo electrónico.
Azure Data Factory es un servicio de integración de datos administrado para orquestar y automatizar el movimiento y la transformación de datos. En esta arquitectura, Azure Data Factory agrega actividades de transformación como invocar un punto de conexión REST o ejecutar un cuaderno en los datos ingeridos en la canalización.
Azure Functions es un servicio de proceso sin servidor que puede hospedar cargas de trabajo controladas por eventos que tienen procesos de corta duración. En esta arquitectura, Functions permite que las cargas de trabajo procesen documentos entrantes y desencadenen canalizaciones de procesamiento de modelos.
Blob Storage es una solución de almacenamiento de objetos para almacenar datos no estructurados. Blob Storage admite bibliotecas para varios lenguajes, como .NET, Node.jsy Python. Las aplicaciones pueden acceder a archivos en Blob Storage a través de HTTP o HTTPS. Blob Storage tiene niveles de acceso frecuente, esporádico y de archivo para admitir la optimización de costos para almacenar grandes cantidades de datos. En esta arquitectura, esta cuenta proporciona una solución para archivos sin procesar que utilizan un nivel de acceso frecuente.
Data Lake Storage es un repositorio escalable basado en la nube para almacenar y organizar grandes volúmenes de datos no estructurados. En esta arquitectura, Data Lake Storage organiza y mantiene grandes volúmenes de datos ingeridos para admitir flujos de trabajo de análisis, etiquetado y aprendizaje automático.
Inteligencia de Documentos es un componente de Foundry Tools. En esta arquitectura, proporciona capacidades de análisis de documentos integradas para extraer texto, tablas y pares clave-valor impresos y manuscritos. Document Intelligence tiene modelos creados previamente para extraer datos de facturas, documentos, recibos, tarjetas de identificación y tarjetas de presentación. Document Intelligence también cuenta con un modelo de formulario de plantilla personalizada y un modelo neuronal de documento personalizado que puede usar para entrenar e implementar modelos personalizados.
Document Intelligence Studio proporciona una interfaz para explorar las características y modelos de Document Intelligence. Puede usar la interfaz para etiquetar los datos y crear modelos de procesamiento de documentos personalizados.
El lenguaje de Azure en Foundry Tools consolida los servicios de procesamiento de lenguaje natural (NLP) de Azure. Proporciona opciones precompiladas y personalizables y funcionalidades de comprensión del lenguaje. Úselo para clasificar documentos, reconocer entidades con nombre y completar otras tareas de NLP.
Language Studio es una interfaz de usuario web en Lenguaje que puede usar para compilar, entrenar, administrar e implementar modelos de lenguaje. En esta arquitectura, admite el etiquetado, el entrenamiento y la implementación de modelos de lenguaje personalizados para tareas como la clasificación y la extracción de entidades dentro de la canalización de procesamiento de documentos. La etiqueta automática admite la clasificación de texto personalizada y puede etiquetar automáticamente documentos en diferentes clases o categorías. Studio también proporciona opciones para ver el rendimiento del modelo, incluida la puntuación F1, la precisión y la recuperación.
Azure Machine Learning es una plataforma de aprendizaje automático administrada para el desarrollo y la implementación de modelos a escala. En esta arquitectura, etiqueta los datos, entrena modelos personalizados (incluidos los marcos de código abierto) e implementa los modelos para las tareas de inferencia.
Machine Learning Studio proporciona opciones de etiquetado de datos para imágenes y texto. Admite flujos de trabajo de entrenamiento de modelos dentro de esta arquitectura.
Exporte datos etiquetados como conjuntos de datos COCO o de Aprendizaje Automático. Puede usar estos conjuntos de datos para entrenar e implementar modelos en cuadernos de Machine Learning.
Azure OpenAI proporciona modelos de lenguaje eficaces y modelos multimodales como API REST que puede usar para completar varias tareas. En esta arquitectura, los modelos de Azure OpenAI controlan tareas avanzadas del lenguaje, como los modelos de ajuste preciso , para mejorar el rendimiento de los datos que faltan o están infrapresentados durante el entrenamiento original del modelo base. También puede usar modelos básicos de varios proveedores para completar estas tareas.
Alternatives
Puede agregar más flujos de trabajo a este escenario en función de casos de uso específicos.
Si el documento es una imagen o PDF, puede extraer los datos mediante el reconocimiento óptico de caracteres de Azure, document intelligence Read API o bibliotecas de código abierto.
Puede usar el modelo precompilado en Lenguaje para el resumen de documentos y conversaciones.
Use el código de preprocesamiento para ejecutar pasos de procesamiento de texto. Estos pasos incluyen la limpieza, la eliminación de palabras irrelevantes, la lematización, la radicalización y el resumen de texto en los datos extraídos según los requisitos de procesamiento de documentos. Puede exponer el código como API REST para la automatización. Complete o automatice manualmente estos pasos mediante la integración con el proceso de ingesta de Azure Logic Apps o Azure Functions .
Puede usar el portal de Foundry para ajustar e implementar modelos de base y crear aplicaciones de IA generativas.
Foundry proporciona dos opciones de proceso para los modelos como hospedaje de plataforma (MaaP), proceso sin servidor y proceso administrado. Los modelos y regiones específicos admiten la implementación a través de la API sin servidor, que proporciona modelos como servicio (MaaS).
Machine Learning y Foundry comparten funcionalidades, por lo que evalúa ambas plataformas y elige la mejor para tu escenario.
Puede usar Azure Content Understanding en Foundry Tools para crear un analizador personalizado mediante la definición de un esquema de campo para extraer datos estructurados del documento.
Detalles del escenario
El procesamiento de documentos abarca una amplia gama de tareas. Puede ser difícil satisfacer todas las necesidades de procesamiento de documentos mediante el uso de los modelos precompilados disponibles en Language e Document Intelligence. Es posible que tenga que crear modelos personalizados para automatizar el procesamiento de documentos para diferentes aplicaciones y dominios.
Entre los principales desafíos de la personalización del modelo se incluyen:
Etiquetado o marcado de datos de texto con entidades de pares clave-valor pertinentes para clasificar el texto para su extracción.
Administración de la infraestructura de entrenamiento, como el proceso y el almacenamiento, y sus integraciones.
Implementación de modelos a escala para que las aplicaciones las consuman.
Posibles casos de uso
Los siguientes casos de uso pueden aprovechar los modelos personalizados para el procesamiento de documentos:
Cree modelos de clasificación de texto y NER personalizados basados en marcos de código abierto.
Extraiga valores clave personalizados de documentos para varios verticales del sector, como seguros y atención sanitaria.
Etiquete y extraiga entidades dependientes del dominio específicas más allá de los modelos NER creados previamente para dominios como seguridad o finanzas.
Cree tablas personalizadas a partir de documentos.
Extraer firmas.
Etiquete y clasifique correos electrónicos u otros documentos en función del contenido.
Resumir documentos o crear modelos personalizados de preguntas y respuestas basados en los datos.
Consideraciones
Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para obtener más información, vea Well-Architected Framework.
Para esta carga de trabajo de ejemplo, la implementación de cada pilar depende de la configuración óptima y el uso de cada servicio de Azure componente.
Reliability
La confiabilidad ayuda a garantizar que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.
Disponibilidad
Para obtener más información sobre los contratos de nivel de servicio para cada componente de arquitectura, consulte Documentos de licencias.
Para obtener más información sobre las opciones de configuración para diseñar aplicaciones de alta disponibilidad con cuentas de almacenamiento, consulte Uso de redundancia geográfica para diseñar aplicaciones de alta disponibilidad.
Resiliency
Solucione los modos de error de servicios individuales, como Functions y Storage, para ayudar a garantizar la resistencia de los servicios de proceso y los almacenes de datos en este escenario. Para obtener más información, consulte Guías de confiabilidad por servicio.
Realice una copia de seguridad y recupere los modelos de Document Intelligence.
Realice una copia de seguridad y recupere los modelos de clasificación de texto personalizados y los modelos NER en language.
Machine Learning depende de los servicios constituyentes, como Blob Storage, servicios de proceso y AKS. Para proporcionar confiabilidad para Machine Learning, configure cada uno de estos servicios para que sea confiable. Para obtener más información sobre el diseño de la recuperación, consulte Conmutación por error para continuidad empresarial y recuperación ante desastres (BCDR).
Para Azure OpenAI, ayude a garantizar la disponibilidad continua mediante el aprovisionamiento de dos o más recursos de Azure OpenAI en regiones diferentes. Este enfoque permite la conmutación por error a otra región si hay un problema. Para más información, consulte BCDR con Azure OpenAI.
Security
La seguridad proporciona garantías contra ataques deliberados y el uso indebido de sus valiosos datos y sistemas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.
Implemente la protección de datos, la administración de identidades y acceso y las recomendaciones de seguridad de red para Blob Storage, Foundry Tools for Document Intelligence and Language Studio, Machine Learning y Azure OpenAI.
Optimización de costos
La optimización de costos se centra en formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.
El costo total de implementar esta solución depende de los precios de los servicios que elija.
Entre los principales costos de esta solución se incluyen:
Costo de proceso para entrenar e implementar modelos de Machine Learning.
Para ayudar a optimizar los costos, elija el tipo de nodo adecuado, el tamaño del clúster y el número de nodos. Machine Learning proporciona opciones para el entrenamiento, como establecer el número mínimo de nodos en el clúster de cálculo a cero y definir el tiempo de inactividad antes de escalar hacia abajo. Para más información, consulte Administración y optimización de los costos de Machine Learning.
Duración y actividades de la orquestación de datos. Para Azure Data Factory, los cargos por las actividades de copia en Azure Integration Runtime se basan en el número de unidades de integración de datos usadas y el tiempo necesario para completar las actividades. Las ejecuciones adicionales de actividades de orquestación también se cobran en función de su número.
Los planes de precios de Azure Logic Apps dependen de los recursos que cree y use. Los siguientes artículos pueden ayudarle a elegir el plan adecuado para casos de uso específicos:
Para obtener más información sobre los precios de componentes específicos, consulte los siguientes recursos:
- Precios de Document Intelligence
- Precios de Funciones
- Precios de Azure Logic Apps
- Precios de Azure Data Factory
- Precios de Blob Storage
- Precios de Language in Foundry Tools
- Precios de Machine Learning
- Precios de Azure OpenAI
Use la calculadora de precios de Azure para agregar las opciones de componente que elija y calcule el costo total de la solución.
Eficiencia del rendimiento
La eficiencia del rendimiento hace referencia a la capacidad de escalado de la carga de trabajo para satisfacer las demandas de los usuarios de forma eficaz. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
Escalabilidad
Para escalar funciones automáticamente o manualmente, elija el plan de hospedaje adecuado.
De forma predeterminada, Document Intelligence admite 15 solicitudes simultáneas por segundo. Para aumentar esta cuota, cree una solicitud de soporte de Azure.
En el caso de los modelos personalizados de Machine Learning hospedados como servicios web en AKS, el componente front-end azureml-fe se escala automáticamente según sea necesario. Este componente también enruta las solicitudes de inferencia entrantes a los servicios implementados.
En el caso de las implementaciones como puntos de conexión administrados, admita el escalado automático mediante la integración con la característica de escalabilidad automática de Azure Monitor. Para obtener más información, consulte Puntos de conexión para la inferencia en producción.
Los límites del servicio de API en NER personalizado y clasificación de texto personalizado para la inferencia son 20 solicitudes GET o POST por minuto.
Colaboradores
Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.
Autores principales:
- Dixit Arora | Ingeniero Sénior
- Jyotsna Ravi | Ingeniero principal
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.
Pasos siguientes
- Introducción a proyectos personalizados en Document Intelligence Studio
- Uso de modelos de Inteligencia de documentos
- ¿Qué es Lenguaje?
- ¿Qué es el reconocimiento óptico de caracteres?
- Configuración de Funciones con una red virtual