communications-mining
latest
false
Important :
Ce contenu a été traduit à l'aide d'une traduction automatique.
UiPath logo, featuring letters U and I in white
Guide du développeur Communications Mining
Last updated 19 nov. 2024

Apprentissage actif : de meilleurs modèles d'ML en moins de temps

Il est difficile d'entraîner un modèle d'apprentissage automatique à partir de zéro. Il est erroné d'attribuer le modèle lui-même à la partie la plus difficile de l'entraînement d'un modèle. En réalité, le processus de collecte et d’annotation des données est beaucoup plus difficile que les gens ne le supposent.

Déterminer les concepts que le modèle doit apprendre, collecter les données, demander à des experts en la matière (SME) de les annoter, de s'assurer qu'ils sont cohérents pour garantir la qualité de l'annotation, sont tous des processus longs et nécessitent une collaboration entre plusieurs équipes et parties prenantes.

Ce gain de temps substantiel retarde le temps de valeur que vous devriez obtenir grâce à l’apprentissage automatique. De plus, cela empêche souvent d'utiliser la valeur générée par ML via l'analyse et l'automatisation en premier lieu. La différence entre la difficulté perceptible et réelle de l'annotation des données entraîne l'échec des projets ML en raison de contraintes de temps rejetées. Si l'utilisation de l'apprentissage automatique est un parcours, c'est comme partir sans carte, se perdre et abandonner avant d'atteindre la destination.

Dans cet article de blog, nous expliquerons une façon d'atténuer ces problèmes : l'apprentissage actif, qui est au cœur de la plate-forme Communications Mining.

Qu’est-ce que l’apprentissage actif ?

L'apprentissage actif en bref

À la base, l'apprentissage actif est constitué d'un ensemble de méthodes qui visent à réduire la quantité de données requises pour entraîner un modèle d'apprentissage automatique. Il s'agit d'un processus itératif où les annotateurs humains et le modèle travaillent en collaboration. L'idée principale est que tous les points de données ne sont pas aussi informatifs. De manière intuitive, un bon tutoriel peut créer un programme qui fonctionne mieux pour un apprentissage, au lieu de le faire travailler sur l'ensemble du manuel.

  • Les concepts simples nécessitent moins de données pour bien apprendre que les concepts plus difficiles
  • S’il existe différentes manières d’exprimer la même idée, il est plus intéressant de montrer au modèle une grande variété d’exemples plutôt que de répéter plusieurs fois la même idée
  • Une fois qu'un modèle a compris un concept en toute confiance, il est beaucoup plus utile de l'entraîner sur d'autres concepts que de lui fournir davantage de données qui ne aident qu'à consolider sa compréhension

Il existe de nombreuses méthodes spécifiques pour l'apprentissage actif, mais elles reposent toutes sur la définition d'une notion d' incertain du modèle, qui quantifie la confiance du modèle dans ses prédictions. Vous pouvez trouver des implémentations et des descriptions d'une grande variété de mesures d'erreur courantes dans la bibliothèque python modAL, ou vous pouvez en savoir plus sur la recherche en apprentissage actif dans ce document d'enquête. Nous vous recommandons de les vérifier tous les deux.

La boucle classique d'Active Learning ressemble à ceci :

Un organigramme représentant la boucle d'apprentissage actif standarddocs image
En annotant de manière répétée uniquement les points de données qui sont les plus informatifs du modèle et en parcourant rapidement, il est possible de réduire considérablement l'effort requis pour atteindre des performances identiques.

Mais ce n'est pas suffisant pour mettre cela en pratique.

Le jeu de données GMT

À des fins de démonstration, nous utilisons le corpus Developer, disponible publiquement, fourni par NLDK. Il s'agit d'une collection de 10 788 articles de presse balisés avec 90 catégories, et tout article peut avoir une ou plusieurs balises.

Par exemple, l'article suivant a été balisé avec grain, ship et wheat.

Les Exportateurs français voient des ventes plus élevées vers la Chine

Les exportateurs français ont estimé qu'environ 600 000 t de froment français ont été vendus à la Chine pour livraison au cours de l'année 1986/87 (juillet/juin). Environ 300 000 t ont été exportées vers la Chine entre juillet 1986 et février cette année. 100 000 à 150 000 notes seront livrés au cours de ce mois et environ la même quantité en avril, ont-ils indiqué. La France a acheté environ 250 000 t de froment notamment en Chine en 1985/86, selon les chiffres sur les importations. Cependant, certains exportateurs craignent que la Chine ne renonce à une partie de son contrat avec la France après s'être vu offrir un millisecondes de métadonnées de froment bas américain dans le programme d'amélioration des exportations en janvier et avoir effectué des achats dans le cadre de l'initiative.

Vous pouvez trouver nos données nettoyées/traitées ici. N'hésitez pas à l'expérimenter par vous-même !

Une comparaison simple d'Active Learning

Comparons la stratégie d'apprentissage actif de Communications Mining avec l'échantillon aléatoire à partir de l'ensemble d'entraînement, qui est la base de référence standard pour la collecte de données.

Pour toutes les expériences, notre configuration est la suivante :

  • Nous sélectionnons les 20 balises les plus courantes et n'apprenons que celles-ci
  • Pour notre répartition formation/test, nous utilisons celle fournie par l’ensemble de données
  • Nous rapportons l'écart type et moyen sur 10 exécutions
  • Le modèle d'apprentissage automatique sous-jacent est exactement identique, la seule différence étant la stratégie d'annotation

Les deux méthodes commencent par les mêmes 100 exemples sélectionnés au hasard - l'ensemble initial. Active Learning a besoin d'une petite quantité de données initiales pour obtenir des estimations d'exactitude fiables avant de pouvoir les utiliser pour guider le processus d'entraînement. En pratique, cet ensemble initial est généralement créé à l'aide de Clusters dans la page Découvrir (Discover) de Communications Mining, mais pour rendre la comparaison aussi juste que possible, nous utilisons le même ensemble initial aléatoire pour les deux méthodes dans ce post.

Pour l'apprentissage actif, nous sélectionnons de manière répétée les 50 exemples les plus informatifs, tels qu'estimés par la stratégie d'apprentissage actif de Communications Mining, puis réentraînons un modèle et répétons. Pour la base de référence, nous échantillonnons au hasard 50 exemples à partir des données non annotées restantes à chaque itération.

À chaque étape, nous comparons les performances des deux modèles sur le même ensemble de tests et utilisons la précision moyenne moyenne (MAP) comme notre métrique principale.

L'apprentissage actif permet aux modèles d'atteindre des performances plus élevées avec moins d'exemples. Les zones rafraîchies représentent environ 2 correspondantes.

Remarque :

L'apprentissage actif surpasse clairement la base de référence aléatoire. Ce dernier permet d'obtenir une MAP de 80 % après 3 050 exemples d'entraînement, tandis que l'entraînement basé sur l'apprentissage actif (Active Learning-driven) y parvient après seulement 1 750 exemples, ou une réduction de 1,7 x.

Nous avons illustré de façon pratique que l’apprentissage actif peut réduire les exigences de données pour produire un bon modèle, mais est-ce vraiment ce que nous voulons réaliser ?

Repenser l’objectif

Nous estimons que le véritable objectif de l'apprentissage automatique devrait être de réduire le temps nécessaire à la production d'un bon modèle d'apprentissage automatique. Ce temps est partagé entre la organisation de différentes équipes et la gestion des horaires, le développement et la formation de modèles par des scientifiques des données et l'annotation des données par des PME.

Erreurs dans l’ apprentissage actif académique

La plupart des recherches sur l'apprentissage actif visent à créer des méthodes qui réduisent davantage les exigences de données d'un modèle. Ils font généralement des hypothèses qui ne sont pas nécessairement correctes dans un contexte réel.

Les annotateurs ne prennent pas le même temps pour labelliser toutes les entrées

Le fait de viser uniquement à réduire le nombre de points d’apprentissage ignore le fait que le temps d’annotation des différentes entrées varie considérablement, même pour la même personne. Les entrées avec du texte plus long ou des phrases plus compliquées prennent plus de temps à lire. Les entrées avec plus de concepts prennent plus de temps à annoter, car il faut garder une trace de nombreux thèmes différents tout en lisant le texte.

Le changement de contexte a également un coût. Demander à un labelliseur d'annoter le même concept 20 fois de suite sera plus rapide que d'annoter 20 concepts différents, car l'annotateur devra changer constamment de contexte visuel et ne peut pas entrer dans un bon flux d'annotation.

Il peut être trompeur de se référer uniquement au nombre d'exemples annotés. En effet, si une entrée est deux fois moins informative mais 10 fois plus rapide à annoter qu’une autre, alors l’annoter représente un meilleur compromis en termes de temps actif SME. En fin de compte, il s’agit de la mesure la plus importante à minimiser.

Les annotateurs ne sont pas bien intégrés dans la boucle

La recherche Active Learning suppose que demander à un annotateur de labelliser une entrée reflétée par le dernier modèle entraîné peut se produire instantanément. Dans ce monde, l'annotateur humain est étroitement intégré à la boucle d'apprentissage actif et attend juste de recevoir une entrée pour annoter, comme une machine à annoter.

En réalité, cependant, les PME responsables de l'annotation des données sont rarement les mêmes que celles qui contrôlent l'entraînement des modèles. Chaque itération nécessite une collaboration entre les PME et les scientifiques des données pour transmettre les données dans les deux sens et donner accès au nouveau modèle, en synchronisant les calendriers occupés de chacun.

Le réentraînement du modèle n'est pas instantané

Étant donné que l’apprentissage actif nécessite de nombreuses itérations pour améliorer le modèle de manière optimale, une hypothèse courante est que le réentraînement d’un modèle se fait instantanément et que la seule activité qui consomme du temps est l’annotation des données. Cependant, si le réentraînement du modèle est contrôlé par une équipe de science des données distincte ou est fourni par une solution cloud de pointe telle que Google AutoML, le temps nécessaire pour réentraîner un modèle peut être important. Google AutoML estime que l' entraînement d'un modèle prend 6 à 24 heures. Ceci est fondamentalement incompatible avec les itérations rapides. Si chaque fois que les PME labellisent un lot, elles doivent attendre 6 heures avant de recevoir le prochain lot, l'entraînement d'un modèle prendra des semaines, voire des mois.

Les PME ne sais pas quand arrêter la formation

Afin d'établir des points de référence et de produire des recherches comparables, les performances sont généralement comparées à un ensemble de tests bien défini. Ceci est nécessaire pour la recherche académique, mais dans le monde réel, un tel ensemble de tests n'existe pas, car nous commençons avec aucune donnée annotée. Savoir quand le modèle a atteint des performances suffisantes pour être utilisé en production, et ainsi quand les PME peuvent arrêter d’annotation plus de données et commencer à obtenir de la valeur, est une tâche difficile.

Les ensembles de données académiques ont un ensemble bien connu de libellés qu'ils essaient d'apprendre, ce qui fait de la précision de l'ensemble de tests un bon indicateur de progression. Dans le monde réel, les PME ne savez souvent pas quels concepts existent dans leurs données et en découvrez de nouveaux au fur et à mesure qu'elles les annotent. Un bon rapport d'avancement doit prendre cette interrogation en compte.

Active Learning pour le monde réel

À Communications Mining, nous avons créé un produit qui défie ces hypothèses et prend en compte la réalité de l'entraînement d'un modèle d'apprentissage automatique dans un environnement professionnel avec de multiples parties prenantes et des exigences élevées.

L'interface utilisateur de Communications Mining est conçue pour aider les PME à annoter les données le plus rapidement possible. L'interface utilisateur affiche des libellés suggérés basés sur les dernières prédictions des modèles, permettant aux utilisateurs d'attribuer ou d'ignorer rapidement des prédictions, au lieu d'avoir à sélectionner dans l'ensemble de libellés. Au fur et à mesure que le modèle s’améliore, les suggestions s’améliorent, ce qui permet aux annotateurs d’examiner de plus en plus rapidement plus de données.

docs image
L'attribution des trois premiers libellés à cet article est beaucoup plus rapide que le quatrième, qui n'a pas été suggéré. Les prédictions aident également le SME à savoir à quoi s’attendre avant même de commencer à lire, en amorçant le contexte dans son cœur.

Le deuxième facteur clé est que les modèles Communications Mining sont rapides à entraîner, prenant deux minutes ou moins en moyenne. Les modèles sont entraînés en continu en arrière-plan, déclenchés par les PME qui annotent les données.

docs image
La plate-forme est toujours alimentée par le dernier modèle disponible. Ainsi, lorsqu'un modèle s'entraîne, la boucle d'apprentissage actif (Active Learning) peut toujours fonctionner en utilisant le modèle précédent. Le réentraînement continu en arrière-plan signifie que les temps d'arrêt dus au réentraînement du modèle sont efficacement supprimés et que le contenu est intégré en toute fluidité.

Évaluation du modèle Communications Mining

La stratégie d'apprentissage actif de Communications Mining est pilotée par la notation du modèle. L’idée de base est de fournir une évaluation holistique facile à comprendre, fournissant à la fois un aperçu des performances du modèle et du meilleur moyen de l’améliorer.

docs image
Il montre quatre axes selon lesquels le modèle peut être évalué :
  • L' équilibre permet de suivre à quel point les données d'entraînement d'un modèle représentent l'ensemble de données dans son ensemble

  • La couverture permet de suivre la précision avec laquelle la taxonomie des concepts couvre tous les concepts dans les données

  • Tous les libellés suivent les performances prédictives pour chaque libellé

  • Les libellés sous- performants suivent les performances prédictives des libellés les moins performants. Dans un ensemble de données parfait, même les libellés les moins performants devraient bien fonctionner

Les deux derniers sont assez similaires aux performances des ensembles de tests utilisés dans le milieu universitaire, bien que modifiés pour être estimés à partir des données examinées disponibles au lieu d’un ensemble de tests connu a priori. Les deux premiers sont conçus pour aider à atténuer les risques potentiels d'annotation itérative avec un ensemble d'étiquettes en constante évolution. Les lecteurs intéressés peuvent en savoir plus à leur sujet en lisant nos prochains articles de blog sur Équilibre et couverture.

Nous combinant tous ces facteurs en un seul score, la notation du modèle. Il tente de répondre à la question quand arrêter l'entraînement, en fournissant un score définitif qui peut être utilisé pour suivre les progrès.

Pour chaque facteur, des actions sont recommandées afin de l'améliorer, ainsi que des contributeurs indicatifs pour comprendre la notation du facteur.
docs image
En fournissant un ensemble d'actions liées à ce qu'elles visent à améliorer, elle aide les utilisateurs à mieux comprendre les domaines où le modèle fait défaut et leur donne plus de contexte lors de l'annotation. Éduquer les utilisateurs sur leur modèle tout en leur demandant de l'améliorer est une façon plus émoUser d'annoter les données, au lieu de traiter les PME comme des machines à annoter Oracle. Le fait de leur offrir plusieurs options pour améliorer le modèle sur l’axe qui leur convient le plus leur donne plus d’autorité et conduit à une expérience moins frustrante.
Remarque :

Il est préférable pour les PME d'annoter facilement de nombreuses entrées légèrement moins informatives que de s'épuiser physiquement en annotant des entrées très difficiles et de s'arrêter après seulement quelques exemples.

Les actions sont regroupées de sorte que, lorsqu’elles réalisent une action, les PME essaient d’améliorer un domaine spécifique d’un modèle, en minimisant le changement de contexte, les efforts, la satisfaction et le temps passé à annoter.

De meilleurs modèles en beaucoup moins de temps

Revenons à l’ensemble de données Developer, mais relançons notre comparaison précédente en termes d’heures humaines au lieu de points de données.

À quelle vitesse peut-on annoter ?

Pour ce faire, nous devons déterminer le temps moyen pour annoter une entrée. Nous avons examiné le comportement de nos utilisateurs pendant qu’ils utilisaient la plate-forme afin de l’estimer, et nous avons constaté que les deux principaux facteurs qui entrent en jeu pour déterminer la vitesse d’annotation sont si les libellés sont prédits et si la tâche implique un changement de contexte.

Dans la plate-forme Communications Mining, certaines vues d'entraînement telles que Mélanger(Then ), Faible confiance ( Low Confidence), Récent (Recent) et Rééquilibrer ( Rebalance ) impliquent de surcharger les entrées qui ne sont pas regroupées par un thème particulier, ce qui signifie que les utilisateurs changent fréquemment de contexte. D'autres, comme Découvrir(Discover), En savoir plus ( Teach Label ) ou le tri par une probabilité de libellé spécifique, apparaissent les entrées qui sont toutes liées, et permettent ainsi une expérience plus ciblée.

Le tableau suivant indique le temps médian estimé par annotation en secondes réparti par ces deux facteurs.

 

Attributions manuelles

CONFIRMATION DES PRÉDITIONS

Changement de contexte

7.10

2.95

Cibler

5.56

2.66

Nous observons que confirmer les prédictions est beaucoup plus rapide que d'attribuer manuellement des libellés, et que l'annotation aléatoire sans outil peut être plus de 2,5 fois plus lente que la confirmation des prédictions dans un outil dédié ! Mais même sans prédictions, une tâche ciblée est en moyenne 22 % plus rapide qu'une tâche où le changement de contexte est nécessaire.

Restez à l'affût pour consulter un article de blog de suivi dans lequel nous expliquerons en profondeur ces données et découvrirons ce qui facilite ou interrompt une expérience d'annotation rapide.

À l'aide de ces données, nous pouvons estimer les heures humaines actives nécessaires pour construire un bon modèle.

Comparaison des stratégies par temps d'annotation active

Revenons à notre comparaison initiale. Afin de bien comprendre l'impact des différents facteurs, en plus des deux méthodes que nous avons comparées précédemment, nous étudions trois scénarios supplémentaires.

  • L'apprentissage actif de Communications Mining, que nous avons utilisé dans notre comparaison précédente. Guide par la notation du modèle, à chaque étape, nous labellisons les dix premiers échantillons de chacune des cinq premières actions recommandées avant de réentraîner le modèle. En réalité, les modèles de Communications Mining terminent généralement leur réentraînement avant que 50 nouvelles annotations ne soient fournies. Par conséquent, en pratique, le modèle serait plus à jour que dans notre simulation.

  • Apprentissage actif sans suggestions ( Active Learning without suggestions), qui utilise la stratégie Communications Mining, mais pas une interface utilisateur d'annotation dédiée qui accélère l'annotation en surfaçant les prédictions.

  • Échantillon aléatoire sans suggestions, qui était notre base de référence lors de la comparaison précédente. À chaque étape, nous échantillonnons au hasard 50 des candidats non annotés restants, et n'utilisons pas d'IU d'annotation dédiée.

  • Échantillon aléatoire avec suggestions, identique à la stratégie précédente mais optimisé par une IU d'annotation dédiée.

  • Apprentissage par lots aléatoire, comme prévu dans une situation où les PME ne sont pas étroitement intégrées dans le processus d'apprentissage actif et n'ont pas accès à des outils adéquats tels que l'interface utilisateur Communications Mining. Dans cette situation, nous supposons que l'entraînement du modèle est un long processus, et donc que l'annotation se produit par lots pour tamponner le temps d'entraînement. À chaque pas de temps, nous échantillonnons au hasard 1000 nouvelles entrées et les annotons.

Nous étudions d'abord ce qui se passerait si nous ne examinions que le temps actif du SME, lorsqu'ils sont assis à un ordinateur et annotent les données pour l'entraînement du modèle.

Performances de chaque stratégie d'annotation par rapport à la durée de SME active. Les zones rafraîchies représentent environ 2 correspondantes.

Nous observons que les outils d’annotation dédiés et l’apprentissage actif individuellement offrent tous deux des améliorations substantielles par rapport à la base de référence aléatoire. La combinaison de l'apprentissage actif avec une bonne expérience utilisateur nous permet à la fois d'améliorer l'efficacité des données et de réduire le temps nécessaire pour labelliser chaque entrée, combinant ainsi les deux avantages et permettant des accélérations encore plus grandes.

Cependant, les scénarios intermédiaires sont quelque peu artificielles. En réalité, une entreprise qui vise à commencer à tirer parti de l'apprentissage automatique est susceptible d'acheter un outil tel que Communications Mining qui présente les deux fonctionnalités, ou de construire une preuve de concept en interne qui sera beaucoup plus proche du scénario de lots aléatoires. Ainsi, pour nos comparaisons ultérieures, nous nous concentrons sur Communications Mining et Random Batch.

Nous effectuons une comparaison du delta horaire entre les deux scénarios, aboutissant à un modèle qui atteint 80 % de carte.

Performances de la stratégie d'annotation de Communications Mining et annotation des lots aléatoires par rapport à la durée SME active. Les zones rafraîchies représentent environ 2 correspondantes.

Remarque :

Communications Mining génère une accélération de 3,1 x par rapport à l'annotation par lots aléatoires, permettant aux PME d'obtenir le MAP requis en 3 h au lieu de 9 h 25 m. C'est la différence entre une journée et un jour et demi ou plus passé à annoter !

Estimation du temps nécessaire pour obtenir

L'estimation précédente est encore relativement opt-optimiste, car elle ne tient compte que du temps que les PME annotent activement. Bien que le temps actif de SME soit un facteur important à prendre en compte, le délai-valeur d'un projet d'apprentissage automatique est également mesuré en temps seulement, ou en jours entre le début d'un projet et la livraison d'un modèle qui vaut la peine d'être utilisé. Lorsque nous envisageons le temps d'une installation, nous devons prendre en compte d'autres facteurs.

Comme mentionné précédemment, s'il est fourni par une solution cloud tierce telle que Google AutoML, le temps d'entraînement peut prendre jusqu'à 24 heures. Lors d'une comparaison récente des modèles de Communications Mining avec AutoML, nous avons constaté que l'entraînement sur 400 à 5 000 exemples prenait généralement environ 4 heures, nous l'utiliserons donc comme notre estimation.

De plus, même lors de l'utilisation d'une solution cloud ML, l'entraînement du modèle doit être déclenché par une équipe interne de science des données. Dans cette situation, chaque série d'annotations implique les étapes suivantes :

  1. Collecter des données auprès de toutes les PME impliquées dans l'annotation
  2. Envoyer les données à l’équipe de science des données
  3. Les scientifiques des données vérifient manuellement que les nouvelles données sont correctement formatées et que tous les champs obligatoires ont été remplis
  4. Demander éventuellement aux PME de résoudre les éventuels problèmes dans les données
  5. Fusionner les données existantes avec le jeu nouvellement collecté
  6. Entraîner un nouveau modèle
  7. Validez les performances du nouveau modèle, assurez-vous que l’exécution de la formation s’est terminée avec succès
  8. Utiliser le nouveau modèle pour récupérer un nouveau lot de données non annotées à annoter par les PME
  9. Envoyer les données pour annotation

Toutes ces étapes doivent être réalisées lors de la coordonnées de plusieurs équipes avec des priorités et des calendriers différents, ce qui entraîne beaucoup de temps d'arrêt. D'après nos interactions avec les partenaires, nous estimons que chaque itération prend un minimum de 48 heures, mais cela peut prendre des semaines si les priorités de l'équipe ne sont pas alignées.

En utilisant 48 h comme temps d'arrêt moyen en raison de la communication entre les équipes, nous pouvons produire une estimation réaliste du temps à mettre en valeur pour un projet d'apprentissage automatique.

Performances de la stratégie d'annotation de Communications Mining et annotation des lots aléatoires par rapport à la durée maximale. Les zones rafraîchies représentent environ 2 correspondantes.

Remarque :

Cette tâche peut être effectuée en 3 heures avec Communications Mining, mais sans outils appropriés, cela peut prendre jusqu'à 270 heures, ou 89 fois plus lent.

La différence entre la production de valeur après une demi-journée de travail impliquant une seule personne ou pendant plus de deux semaines ouvrables impliquant plusieurs équipes, peut faire ou déformer l'adoption de l'apprentissage automatique dans une entreprise, en manquant potentiellement la valeur qu'elle peut fournir.

Conclusions

Nous avons mentionné quelques sujets dans ce article de blog, mais les principaux points à retenir sont les suivants :

  • L'apprentissage actif peut aider à réduire le nombre de points de données nécessaires pour former un bon modèle d'apprentissage automatique
  • La recherche Active Learning fournit des hypothèses qui ne sont pas toujours réalistes
  • En face de ces hypothèses et en incluant davantage les annotateurs humains dans le processus d’annotation, nous pouvons réduire considérablement le temps d'évaluation d’un projet d’apprentissage automatique
  • Donner la priorité à l’expérience humaine est essentiel au succès de la stratégie d’apprentissage actif

Si vous souhaitez essayer d'utiliser Communications Mining pour accélérer l'adoption de la valeur générée par l'apprentissage automatique pour votre entreprise, contactez UiPath.

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.