document-understanding
latest
false
UiPath logo, featuring letters U and I in white
Guide de l'utilisateur de Document Understanding
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 14 nov. 2024

Pipelines d'entraînement

Astuce : il est désormais plus pratique d’entraîner des extracteurs et des classifieurs en utilisant le produit Document UnderstandingTM (plutôt que le service AI Center), en exploitant les fonctionnalités Extraction en un clic ( One Click Extraction ) et Classification en un clic ( One Click Classification ).
Important :

Taille minimale de l'ensemble de données

Pour exécuter avec succès un pipeline d'entraînement, nous recommandons fortement au moins 10 documents et au moins 5 échantillons de chaque champ étiqueté dans votre ensemble de données. Sinon, le pipeline renvoie l'erreur suivante : Dataset Creation Failed.

Formation sur GPU vs formation sur CPU

Pour les ensembles de données plus volumineux, vous devrez effectuer l’entraînement à l’aide du GPU. De plus, l’utilisation d’un GPU pour l’entraînement est au moins 10 fois plus rapide que l’utilisation d’un CPU. Consultez le tableau ci-dessous pour connaître la taille maximale de l’ensemble de données en fonction de la version et de l’infrastructure.
Tableau 1. Jeu de données maximal pour chaque version
Infrastructure<2021.10.x2021.10.x>2021.10.x
Processeur500 pages5000 pages1 000 pages
GPU18 000 pages18 000 pages18 000 pages

Si certains de vos pipelines échouent lors de l’entraînement d’ensembles de données volumineux, nous vous recommandons d’effectuer une mise à niveau vers les paquets ML version 24.4 ou ultérieure. Les versions les plus récentes offrent des améliorations de la stabilité, ce qui peut permettre de réduire considérablement ces problèmes.

Pour plus d'informations sur la structure des ensembles de données, consultez la section Format de l'ensemble de données (Dataset Format).

Il existe deux manières d'entraîner un modèle de ML :

  • entraînement d'un modèle à partir de zéro
  • réentraînement d'un modèle prêt à l'emploi

L'entraînement d'un modèle à partir de zéro peut être effectué à l'aide du paquet ML DocumentUnderstanding, réalisant le processus selon l'ensemble de données fourni en entrée.

Le réentraînement peut être réalisé à l'aide de paquets ML prêts à l'emploi tels que Invoices, Receipts, Purchase Orders, Utility Bills, Invoices India, Invoices Australia, etc. En résumé, tout autre paquet ML d'extraction de données - à l'exception de DocumentUnderstanding. L'entraînement effectué à l'aide de l'un de ces packages a une entrée supplémentaire : un modèle de base. Nous appelons cela le réentraînement parce que vous ne partez pas de zéro mais à partir d'un modèle de base. Cette approche utilise une technique appelée l'apprentissage par transfert où le modèle tire parti des informations codées dans un autre modèle préexistant. Le modèle conserve certaines des connaissances prêtes à l'emploi, mais il apprend également des nouvelles données. Cependant, à mesure que la taille de votre ensemble de données d'entraînement augmente, le modèle de base pré-entraîné est de moins en moins important. Sa pertinence s'adresse principalement aux ensembles de données d'entraînement de petite à moyenne taille (jusqu'à 500-800 pages).

Configurez le pipeline d'entraînement comme suit :

  • Dans le champ Type de pipeline (Pipeline type), sélectionnez Exécution de pipeline d'entraînement (Training run).
  • Dans le champ Choisir le package (Choose package), sélectionnez le package que vous avez créé en fonction du paquet ML DocumentUnderstanding.
  • Dans le champ Choisir la version majeure du package (Choose package major version), sélectionnez une version majeure pour votre package.
  • Dans le champ Choisir la version mineure du package (Choose package minor version), sélectionnez une version mineure pour votre package. Consultez la section Choix de la version mineure ci-dessous pour plus d’informations.
  • Dans le champ Choisir un ensemble de données d’entrée (Choose input dataset), sélectionnez un ensemble de données, comme indiqué dans la vidéo ci-dessous sur cette page. Pour créer des ensembles de données d’entraînement de haute qualité, vous pouvez consulter ce tutoriel.
  • Dans la section Entrer les paramètres (Enter parameters), entrez toutes les variables d'environnement définies et utilisées par votre pipeline, le cas échéant. Pour la plupart des cas d'utilisation, aucun paramètre n'a besoin d'être spécifié ; le modèle utilise des techniques avancées pour trouver une configuration performante. Cependant, voici quelques variables d'environnement que vous pouvez utiliser :
  • auto_retraining qui permet de boucler la boucle de réentraînement automatique (Auto-retraining Loop) ; si la variable est définie sur True, l'ensemble de données d'entrée doit être le dossier d'exportation associé à la session de labellisation où les données sont labellisées ; si la variable reste définie sur False, l'ensemble de données d'entrée doit correspondre au format de l'ensemble de données.
  • model.epochs permet de personnaliser le nombre d'époques pour le pipeline d'entraînement (la valeur par défaut est de 100). Optional.
    Remarque : pour les ensembles de données plus volumineux, contenant plus de 5000 pages, vous pouvez commencer par effectuer une exécution complète du pipeline avec le nombre d’époques (epochs) par défaut. Cela vous permet d’évaluer la précision du modèle. Après cela, vous pouvez réduire le nombre d’époques à environ 30 ou 40. Cette approche vous permet de comparer la précision des résultats et de déterminer si la réduction des époques aboutit à un niveau de précision similaire.

    Lorsque vous utilisez des ensembles de données plus petits, en particulier ceux de moins de 5000 pages, vous pouvez conserver le nombre d’époques par défaut.

  • Pour les paquets ML v23.4 ou versions ultérieures, l'entraînement sur des ensembles de données de moins de 400 pages utilise une approche appelée Frozen Backone pour accélérer l'entraînement et améliorer les performances. Cependant, vous avez la possibilité de remplacer ce comportement et de forcer l'entraînement complet même pour les ensembles de données plus petits, ou, inversement, de forcer l'entraînement Frozen Backbone même pour les ensembles de données plus volumineux (jusqu'à un maximum de 3 000 pages). Vous pouvez utiliser les variables d'environnement suivantes, à la condition de les combiner lors de leur utilisation, soit utiliser la première et la seconde, soit la première et la troisième variables ensemble. Optional.
    • model.override_finetune_freeze_backbone_mode=True : incluez cette variable d'environnement afin de remplacer le comportement par défaut. Ceci est requis dans les deux situations ci-dessous.
    • model.finetune_freeze_backbone_mode=True : incluez cette variable d'environnement afin de forcer le modèle à utiliser Frozen Backone même pour les ensembles de données plus volumineux.
    • model.finetune_freeze_backbone_mode=False : incluez cette variable d'environnement afin de forcer le modèle à utiliser l'entraînement complet même pour les ensembles de données plus petits.
  • Indiquez si vous souhaitez entraîner le pipeline sur GPU ou sur CPU. Le curseur Activer le GPU (Enable GPU) est désactivé par défaut, auquel cas le pipeline est entraîné sur CPU.
  • Sélectionnez l'une des options d'exécution du pipeline : Exécuter maintenant (Run now), Basé sur l'heure (Time based) ou Récurrent (Recurring). Si vous utilisez la variable auto_retraining, sélectionnez Récurrent.


  • Après avoir configuré tous les champs, cliquez sur Créer (Create). Le pipeline est créé.

Voici un exemple de création d’un pipeline d’entraînement avec un ensemble de données précédemment exporté vers AI Center :



Choix de la version mineure

Dans la plupart des cas, la version mineure 0 doit être choisie. En effet, plus votre ensemble de données d’entraînement est volumineux et diversifié, meilleures sont les performances de votre modèle. Ce principe s’aligne sur l’objectif actuel de la technologie ML de pointe d’utiliser de grands ensembles d’entraînement de haute qualité et représentatifs. Par conséquent, à mesure que vous accumulez davantage de données d’entraînement pour un modèle, vous devez ajouter les données au même ensemble de données afin d’améliorer davantage les performances du modèle.

Il existe cependant des situations où l'entraînement sur une version mineure autre que 0 a un sens. C’est généralement le cas lorsqu’un partenaire doit servir plusieurs clients dans le même secteur, mais qu’UiPath® ne dispose pas d’un modèle pré-entraîné optimisé pour ce secteur, cette zone ou ce type de document.

Dans un tel cas, le partenaire peut développer un modèle pré-entraîné à l’aide d’une variété d’échantillons de ce secteur (pas à partir d’une seule source, mais à partir de plusieurs sources pour une meilleure généralisation). Ce modèle serait utilisé comme modèle de base pour former des modèles de clients spécifiques et est entraîné sur la version 0 du paquet ML. Les versions suivantes, comme la version 1, seraient utilisées pour affiner le modèle pré-entraîné ou créer des modèles spécifiques au client.

Cependant, pour obtenir de bons résultats, le modèle pré-entraîné doit être non biaisé et basé sur un ensemble d’entraînement très diversifié. Si le modèle de base est optimisé pour un client spécifique, il peut ne pas fonctionner correctement pour d’autres clients. Dans ce cas, l’utilisation de la version mineure 0 comme modèle de base donne de meilleurs résultats.

  • Choix de la version mineure

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Uipath Logo White
Confiance et sécurité
© 2005-2024 UiPath Tous droits réservés.