Compilación e implementación de modelos de procesamiento de documentos personalizados en Azure

Inteligencia de documentos de Azure AI
Foundry Tools
Azure Logic Apps
Azure Machine Learning Studio
Microsoft Foundry
Azure Storage

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

Diagrama que muestra varias alternativas para un proceso de implementación y compilación de modelos de procesamiento de documentos personalizados.

Descargue un archivo de Visio de esta arquitectura.

Flujo de datos

El siguiente flujo de datos corresponde al diagrama anterior:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  • 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.

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

Resiliency

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:

Para obtener más información sobre los precios de componentes específicos, consulte los siguientes recursos:

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

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