Skip to main content

Entraîner le modèle de reconnaissance d’entités (Outils GeoAI)

Résumé

Entraîne un modèle de reconnaissance d’entités nommées pour extraire un ensemble prédéfini d’entités à partir d’un texte brut.

En savoir plus sur le fonctionnement de la reconnaissance d’entités

Utilisation

  • Cet outil peut également être utilisé pour affiner un modèle entraîné existant.

  • Pour exécuter cet outil avec un GPU, définissez le paramètre d’environnement Type de processeur sur GPU. Si vous avez plusieurs GPU, spécifiez plutôt le paramètre d’environnement ID de GPU.

  • L’entrée peut être une classe d’entités ou une table avec un champ de texte et des étiquettes d’entités nommées, ou un dossier avec des données d’entraînement enregistrées dans des fichiers .json ou .csv.

  • Cet outil utilise des backbones basés sur des transformeurs pour entraîner des modèles NER et prend en charge l’apprentissage en contexte avec des invites à l’aide du grand modèle de langage (LLM) Mistral. Pour installer le backbone Mistral, consultez la page ArcGIS Mistral Backbone.

  • Pour obtenir des informations sur les exigences relatives à l’exécution de cet outil ainsi que sur les problèmes qui peuvent survenir, reportez-vous à la rubrique Forum aux questions sur le Deep Learning.

Paramètres

Etiqueter Explication Type de données

Dossier ou table en entrée

L’entrée peut être une des suivantes :

  • Classe d’entités ou table contenant un champ de texte avec le texte en entrée du modèle et les entités étiquetées où le champ de texte sélectionné sera utilisé comme texte en entrée du modèle et les autres champs seront traités comme des étiquettes des entités nommées.

  • Dossier contenant des données d’entraînement sous la forme de jeux de données standard pour les tâches de reconnaissance d’entités nommées (NER). Les données d’entraînement doivent se trouver dans des fichiers .json ou .csv. Le format de fichier détermine le type de jeu de données de l’entrée.

    • Lorsque l’entrée est un dossier, les types de jeux de données suivants sont pris en charge :

      • ner_json—Le dossier des données d’entraînement doit contenir un fichier .json dont le texte et les entités étiquetées sont au format d’entraînement JSON spaCy.

      • IOB—Format IOB (balises I - inside, O - outside, B - beginning) proposé par Ramshaw et Marcus dans l’article Text Chunking using Transformation-Based Learning.

        Le dossier de données d’entraînement doit contenir les deux fichiers .csv suivants :

        • tokens.csv—Contient du texte sous forme de blocs en entrée

        • tags.csv—Contient des balises IOB pour les blocs en entrée

      • BILUO—Extension du format IOB qui contient en plus les balises L (last) et U (unit).

        Le dossier de données d’entraînement doit contenir les deux fichiers .csv suivants :

        • tokens.csv—Contient du texte sous forme de blocs en entrée

        • tags.csv—Contient des balises BILUO pour les blocs en entrée

Folder; Feature Layer; Table View; Feature Class

Modèle en sortie

Emplacement du dossier en sortie où sera stocké le modèle entraîné.

Folder

Pretrained Model File (Fichier de modèle pré-entraîné)

(Facultatif)

Modèle pré-entraîné qui sera utilisé pour affiner le nouveau modèle. L’entrée peut être un fichier de définition de modèle Esri (.emd) ou un fichier de paquetage de Deep Learning (.dlpk).

Un modèle pré-entraîné avec des entités similaires peut être optimisé pour s’ajuster au nouveau modèle. Le modèle pré-entraîné doit avoir été entraîné avec le même type de modèle et le même modèle d’architecture que ceux qui seront utilisés pour entraîner le nouveau modèle.

File

Entité d’adresse

(Facultatif)

Entité d’adresse qui sera traitée comme un emplacement. Au cours de l’inférence, de telles entités sont géocodées à l’aide du localisateur spécifié et une classe d’entités est générée par le processus d’extraction d’entités. Si aucun localisateur n’est fourni ou si le modèle entraîné n’extrait pas les entités d’adresse, une table contenant les entités extraites est générée à la place.

String

Max Epochs (Nombre maximal d’époques)

(Facultatif)

Nombre maximal d’époques pour lequel le modèle sera entraîné. Si le nombre maximal d’époques est égal à 1, le jeu de données est transmis une fois à travers le réseau neuronal. La valeur par défaut est 5.

Long

Model Backbon (Modèle de backbone)

(Facultatif)

Spécifie le réseau neuronal préconfiguré qui sera utilisé comme architecture pour l’entraînement du nouveau modèle.

  • bert-base-casedLe modèle sera entraîné avec le réseau neuronal BERT. BERT est pré-entraîné à l’aide de l’objectif de modélisation linguistique masqué et de la prédiction de phrase suivante.

  • roberta-baseLe modèle sera entraîné avec le réseau neuronal RoBERTa. Dans RoBERTa, la modification des hyperparamètres principaux de BERT induit l’élimination de l’objectif de pré-entraînement et l’entraînement de la phrase suivante avec de petits lots et des taux d’apprentissage plus élevés.

  • albert-base-v1Le modèle sera entraîné avec le réseau neuronal ALBERT. ALBERT utilise une perte auto-supervisée axée sur la modélisation de la cohérence entre les phrases, ce qui rend ce réseau neuronal plus évolutif que BERT.

  • xlnet-base-casedLe modèle sera entraîné avec le réseau neuronal XLNet. XLNet est une méthode de pré-entraînement auto-régressive généralisée. Ce réseau neuronal permet d’apprendre des contextes bidirectionnels, en maximisant la probabilité attendue sur toutes les permutations de l’ordre de factorisation, ce qui remédie aux inconvénients de BERT.

  • xlm-roberta-baseLe modèle sera entraîné avec le réseau neuronal XLM-RoBERTa. XLM-RoBERTa est un modèle multilingue entraîné sur 100 langues différentes. Contrairement à certains modèles multilingues XLM, il ne nécessite pas de tenseurs linguistiques pour savoir quelle est la langue utilisée et il identifie la langue correcte à partir des identifiants en entrée.

  • distilroberta-baseLe modèle sera entraîné avec le réseau neuronal DistilRoBERTa. DistilRoBERTa est un modèle de langue anglaise pré-entraîné sous la supervision du réseau neuronal Roberta qui repose uniquement sur OpenWebTextCorpus, une reproduction du jeu de données WebText d’OpenAI.

  • distilbert-base-casedLe modèle sera entraîné avec le réseau neuronal DistilBERT. DistilBERT est un modèle de représentation linguistique plus petit à usage général.

  • mistralLe modèle sera entraîné avec le grand modèle de langage (LLM) Mistral. Mistral est un transformateur avec décodeur uniquement qui utilise la technique Sliding Window Attention (fenêtre d’attention glissante), Grouped Query Attention (attention de requête groupée) et le tokenizer BPE (Byte-Pair Encoding) Byte-fallback. Pour installer le backbone Mistral, consultez la page ArcGIS Mistral Backbone.

String

Batch Size (Taille de lot)

(Facultatif)

Nombre d’échantillons d’entraînement qui seront traités en une fois La valeur par défaut est de 2.

L’augmentation de la taille du lot peut améliorer les performances de l’outil. Cependant, plus la taille augmente, plus la mémoire utilisée est importante. Si une erreur se produit en raison d’une mémoire insuffisante, utillisez une taille de lot plus petite.

Double

Arguments du modèle

(Facultatif)

Arguments supplémentaires utilisés pour initialiser le modèle. L’argument de modèle pris en charge est Sequence Length, qui permet de définir la longueur de séquence maximale des données d’entraînement à prendre en compte pour l’entraînement du modèle.

Colonnes de la table de valeurs :

  • NameThe name of the function argument.

  • ValueThe value of the function argument.

Value Table

Learning Rate (Vitesse d’apprentissage)

(Facultatif)

Taille de l’intervalle indiquant dans quelle mesure les pondérations du modèle seront ajustées au cours du processus d’entraînement Si aucune valeur n’est spécifiée, une vitesse d’apprentissage optimale est déduite automatiquement.

Double

Validation Percentage (Pourcentage de validation)

(Facultatif)

Pourcentage d’échantillons d’entraînement qui sera utilisé pour valider le modèle. La valeur par défaut est 10 pour les modèles de backbone basés sur des transformeurs et 50 pour le backbone Mistral.

Double

Stop when model stops improving (Arrêter lorsque le modèle ne s’améliore plus)

(Facultatif)

Indique si l’entraînement du modèle s’arrête lorsque ce dernier cesse de s’améliorer ou se poursuit jusqu’à ce que la valeur du paramètre Max Epochs (Nombre maximal d’époques) soit atteinte.

  • ActivéL’entraînement du modèle s’arrête lorsque ce dernier cesse de s’améliorer, quelle que soit la valeur du paramètre Max Epochs (Nombre maximal d’époques). Il s’agit de l’option par défaut.

  • DécochéL’entraînement du modèle se poursuit jusqu’à ce que la valeur du paramètre Max Epochs (Nombre maximal d’époques) soit atteinte.

Boolean

Make model backbone trainable (Adapter le backbone du modèle pour l’entraînement)

(Facultatif)

Indique si les couches de backbone dans le modèle pré-entraîné sont figées pour que la conception originale des pondérations et des biais soit conservée.

  • ActivéLes couches de backbone ne sont pas figées, et les pondérations et les biais de la valeur du paramètre Model Backbone (Backbone du modèle) peuvent être modifiés pour s’adapter aux échantillons d’entraînement. Le traitement est plus long, mais produit généralement de meilleurs résultats. Il s’agit de l’option par défaut.

  • DécochéLes couches de backbone sont figées, et les pondérations et les biais prédéfinis de la valeur du paramètre Model Backbone (Backbone du modèle) restent inchangés pendant l’entraînement.

Boolean

Text Field (Champ de texte)

Champ de texte dans la table ou la classe d’entités en entrée qui contient le texte que le modèle doit utiliser en entrée. Ce paramètre est requis lorsque la valeur du paramètre Input Folder or Table (Dossier ou table en entrée) est une table ou une classe d’entités.

Field

Prompt

(Facultatif)

Entrée ou instruction spécifique donnée à un grand modèle de langage (LLM) pour générer une sortie attendue.

La valeur par défaut est Extraire les entités nommées appartenant aux classes spécifiées dans le texte fourni. Ne pas baliser les entités appartenant à une autre classe.

String

Environnements

Type de processeur, ID GPU

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Oui