document-understanding
latest
false
UiPath logo, featuring letters U and I in white
Guía del usuario de Document Understanding
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 14 de nov. de 2024

Procesos de entrenamiento

Consejo: La capacidad de entrenar extractores y clasificadores ahora es más cómoda utilizando el producto Document UnderstandingTM (en lugar del servicio AI Center), aprovechando las características Extracción con un clic y Clasificación con un clic.
Importante:

Tamaño mínimo del conjunto de datos

Para ejecutar correctamente un proceso de entrenamiento, recomendamos encarecidamente un mínimo de 10 documentos y al menos 5 muestras de cada campo etiquetado de tu conjunto de datos. En caso contrario, el proceso genera el siguiente error: Dataset Creation Failed.

Entrenamiento en la GPU frente a la CPU

Para conjuntos de datos más grandes, debes entrenar con GPU. Además, utilizar una GPU para el entrenamiento es al menos 10 veces más rápido que utilizar una CPU. Para obtener el tamaño máximo del conjunto de datos dependiendo de la versión y la infraestructura, consulta la siguiente tabla.
Tabla 1. Conjunto de datos máximo para cada versión
Infraestructura<2021.10.x2021.10.x>2021.10.x
CPU500 páginas5000 páginas1000 páginas
GPU18 000 páginas18 000 páginas18 000 páginas

Si te encuentras con procesos fallidos al entrenar grandes conjuntos de datos, recomendamos actualizar a la versión 24.4 o posterior de los paquetes ML. Las versiones más recientes proporcionan mejoras de estabilidad, que podrían reducir significativamente estos problemas.

Para obtener más información sobre la estructura del conjunto de datos, consulta la sección Formato del conjunto de datos.

Hay dos maneras de entrenar un modelo ML:

  • entrenar un modelo desde cero
  • reentrenamiento de un modelo listo para usar

El entrenamiento de un modelo desde cero puede hacerse con el paquete ML DocumentUnderstanding, que lo hace sobre el conjunto de datos proporcionado como entrada.

El reentrenamiento puede realizarse con paquetes ML listos para usar, como Facturas, Recibos, Órdenes de compra, Facturas de servicios públicos, Facturas de India, Facturas de Australia, etc. Básicamente, cualquier otro paquete ML de extracción de datos, excepto DocumentUnderstanding. El entrenamiento con uno de estos paquetes tiene una entrada adicional: un modelo base. Lo llamamos reentrenamiento porque no se parte de cero, sino de un modelo base. Este enfoque usa una técnica llamada Aprendizaje de transferencia, en la que el modelo aprovecha la información codificada en otro modelo: el preexistente. El modelo conserva parte de los conocimientos previos, pero también aprende de los nuevos datos. Sin embargo, a medida que aumenta el tamaño del conjunto de datos de entrenamiento, el modelo base preentrenado importa cada vez menos. Es relevante sobre todo para conjuntos de datos de entrenamiento de tamaño pequeño o medio (hasta 500-800 páginas).

Configura el proceso de entrenamiento como sigue:

  • En el campo Tipo de proceso, selecciona Ejecución de entrenamiento.
  • En el campo Elegir paquete, selecciona el paquete que has creado basándote en el Paquete ML de DocumentUnderstanding.
  • En el campo Elegir la versión principal del paquete, selecciona una versión principal para tu paquete.
  • En el campo Elegir la versión secundaria del paquete, selecciona una versión secundaria para tu paquete. Consulta la sección Elegir la versión menor a continuación para obtener más información.
  • En el campo Escoger conjunto de datos de entrada, selecciona un conjunto de datos tal y como se muestra a continuación en el vídeo de esta página. Para crear conjuntos de datos de entrenamiento de alta calidad, consulta este tutorial.
  • En la sección Introducir parámetros, escribe cualquier variable de entorno definida y utilizada por tu proceso, si la hubiera. Para la mayoría de los casos de uso, no es necesario especificar ningún parámetro; el modelo usa técnicas avanzadas para encontrar una configuración eficaz. Sin embargo, aquí hay algunas variables de entorno que podrías usar:
  • auto_retraining, que te permite completar el Bucle de reentrenamiento automático; si la variable se establece como Verdadero, el conjunto de datos de entrada debe ser la carpeta de exportación asociada a la sesión de etiquetado en la que se etiquetan los datos; si la variable permanece como Falso, el conjunto de datos de entrada debe corresponder al siguiente formato del conjunto de datos.
  • model.epochs que personaliza el número de epochs para el proceso de entrenamiento (el valor predeterminado es 100). Optional.
    Nota: para conjuntos de datos más grandes, que contienen más de 5000 páginas, puedes realizar inicialmente una ejecución de proceso completa con el número predeterminado de épocas. Esto te permite evaluar la precisión del modelo. Después de eso, puedes reducir el número de épocas a aproximadamente 30-40. Este enfoque te permite comparar la precisión de los resultados y determinar si la reducción de épocas produce una precisión comparable.

    Al utilizar conjuntos de datos más pequeños, en particular aquellos con menos de 5000 páginas, puedes mantener el número predeterminado de épocas.

  • Para los paquetes ML v23.4 o posterior, el entrenamiento en conjuntos de datos menores de 400 páginas utiliza un enfoque llamado Frozen Backbone para acelerar el entrenamiento y mejorar el rendimiento. Sin embargo, tienes la opción de anular este comportamiento y forzar el Entrenamiento completo incluso para conjuntos de datos más pequeños, o a la inversa, forzar entrenamiento de Backbone congelado incluso para conjuntos de datos más grandes (hasta un máximo de 3000 páginas). Puedes utilizar las siguientes variables de entorno, con la condición de combinarlas cuando estén en uso, bien utiliza la primera y la segunda, o la primera y la tercera variables juntas. Optional.
    • model.override_finetune_freeze_backbone_mode=True: incluye esta variable de entorno para anular el comportamiento predeterminado. Esto es necesario en las dos situaciones siguientes.
    • model.finetune_freeze_backbone_mode=True: incluye esta variable de entorno para forzar al modelo a utilizar Frozen Backbone incluso para conjuntos de datos más grandes.
    • model.finetune_freeze_backbone_mode=False: incluye esta variable de entorno para forzar al modelo a utilizar entrenamiento completo incluso para conjuntos de datos más pequeños.
  • Selecciona si quieres entrenar el proceso en la GPU o en la CPU. El control deslizante Habilitar GPU está deshabilitado de forma predeterminada, en cuyo caso el proceso se entrena en la CPU.
  • Selecciona una de las opciones respecto a cuándo debe ejecutarse el proceso: Ejecutar ahora, Basado en tiempo o Recurrente. Si estás usando la variable auto_retraining, selecciona Recurrente.


  • Tras configurar todos los campos, haz clic en Crear. El proceso se creará.

Este es un ejemplo de creación de un nuevo proceso de entrenamiento con un conjunto de datos previamente exportado a AI Center:



Elegir la versión menor

En la mayoría de las situaciones, se debe elegir la versión menor 0. Esto se debe a que cuanto más grande y más diverso tu conjunto de datos de entrenamiento, mejor el rendimiento de tu modelo. Este principio se alinea con el objetivo de la tecnología ML de última generación actual de utilizar conjuntos de entrenamiento grandes, de alta calidad y representativos. Por lo tanto, a medida que acumulas más datos de entrenamiento para un modelo, debes añadir los datos al mismo conjunto de datos para mejorar aún más el rendimiento del modelo.

Sin embargo, hay situaciones en las que el entrenamiento en una versión secundaria distinta de 0 tiene sentido. Este suele ser el caso cuando un socio necesita atender a varios clientes en la misma industria, pero UiPath® no tiene un modelo preentrenado optimizado para esa industria, geografía o tipo de documento.

En tal caso, el socio puede desarrollar un modelo preentrenado utilizando una variedad de muestras de documentos de esa industria (no de una única fuente, sino de muchas para una mejor generalización). Este modelo se utilizaría como modelo base para entrenar modelos de cliente específicos, se entrenaría en la versión 0 del paquete ML. Las siguientes versiones, como la versión 1, se utilizarían para refinar el modelo preentrenado o crear modelos específicos para el cliente.

Sin embargo, para obtener buenos resultados, el modelo preentrenado debe ser imparcial y basarse en un conjunto de entrenamiento altamente diverso. Si el modelo base se optimiza para un cliente específico, puede no funcionar bien para otros clientes. En tal caso, utilizar la versión menor cero como modelo base produce mejores resultados.

  • Elegir la versión menor

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.