Flux de travail pour les modèles personnalisés
La création d'un modèle personnalisé implique généralement cinq étapes.
- Préparation d'un jeu de données de formation
- Entraînement d'un modèle
- Évaluation du modèle
- Déploiement du modèle
- Analyse de texte
Après avoir évalué le modèle à l'étape 3, répétez les étapes 1 à 3 jusqu'à ce que vous disposiez de mesures satisfaisantes, puis déployez le modèle.
Préparation d'un jeu de données de formation
Pour entraîner un modèle personnalisé, vous fournissez des données étiquetées, voir À propos de l'étiquetage de données.
Par exemple, pour créer un modèle de classification de texte, vous donnez au modèle de nombreux exemples d'enregistrements de texte et vous les étiquettez avec la classe à laquelle ils appartiennent. Le modèle apprend les caractéristiques des enregistrements étiquetés. Ensuite, le modèle entraîné peut déduire la classe pour les nouveaux enregistrements.
Les données d'entraînement doivent être étiquetées. Par exemple, pour créer un modèle de classification de texte, vous donnez au modèle des exemples représentatifs d'enregistrements de texte avec une étiquette pour chaque enregistrement. Ces exemples permettent au modèle d'apprendre et de prédire des exemples qui ne sont pas vus par un modèle. Pour étiqueter des données, nous vous recommandons d'utiliser l'interface de ligne de commande OCI pour le service Étiquetage de données.
- Recommandations de jeu de données pour les modèles personnalisés
-
Suivez les directives du tableau suivant pour préparer les jeux de données d'entraînement. Si vous ne disposez pas de jeux de données pour la validation et le test, 60 % des éléments sont utilisés au hasard pour l'entraînement, 20 % pour la validation et 20 % pour le test.
Si vous ne fournissez pas de jeu de données de validation ou de test, 20 % des échantillons aléatoires sont choisis par le service.
Jeu d'entraînement Jeu de validations Jeu de tests Reconnaissance des entités nommées personnalisées
-
Minimum : 10 instances par entité.
-
Recommandé — 50 instances par entité.
-
Minimum : 5 instances par entité ou 20 % des instances d'entraînement, selon la valeur la plus élevée.
-
Recommandé — 20 instances par entité.
-
Minimum : 5 instances par entité ou 20 % des instances d'entraînement, selon la valeur la plus élevée.
-
Recommandé — 20 instances par entité.
Classification de texte personnalisé
-
Minimum : 10 documents par classe.
-
Recommandé — 100 documents par classe.
-
Recommandé — 20 documents par classe.
-
Recommandé — 20 documents par classe.
-
-
Étiquetez correctement les exemples d'entraînement. La qualité du modèle dépend de la qualité des données. Lorsque vous entraînez un modèle, si un type de classe ou d'entité ne fonctionne pas comme prévu, ajoutez d'autres exemples pour cette classe ou cette entité. Assurez-vous également que l'entité est annotée à chaque occurrence de l'ensemble de formation. Des données d'entraînement de faible qualité entraînent des mesures d'entraînement médiocres et produisent des résultats inexacts.
-
Avoir suffisamment d'échantillons d'entraînement pour les modèles. Il est toujours préférable d'avoir plus de données pour améliorer la performance du modèle. Nous vous recommandons d'entraîner le modèle avec un petit jeu de données, de vérifier les mesures d'entraînement du modèle et d'ajouter d'autres exemples d'entraînement, si nécessaire.
Entraînement d'un modèle
L'entraînement est le processus dans lequel le modèle apprend des données étiquetées. La durée et les résultats de l'entraînement dépendent de la taille du jeu de données, de la taille de chaque enregistrement et du nombre de tâches d'entraînement actives.
Évaluation du modèle
Une fois le modèle entraîné, vous pouvez obtenir des mesures d'évaluation qui décrivent la qualité du modèle ou la probabilité que le modèle prédise correctement. Le service applique le modèle au jeu de tests et compare les étiquettes prédites aux étiquettes attendues. Les mesures sont basées sur la précision avec laquelle le modèle prédit le jeu de tests.
À l'aide de la console, vous obtenez un jeu de mesures d'évaluation au niveau du modèle et au niveau de la classe (ou de l'entité pour les modèles NER) répertoriées dans la section suivante.
À l'aide de la console, vous obtenez les types de mesure d'évaluation suivants :
- Mesures au niveau de la classe
- Mesures au niveau du modèle
- Mesures au niveau de l'entité pour les modèles NER
- Matrice de confusion
À l'aide de l'API, vous pouvez obtenir un ensemble plus complet de mesures, notamment un rappel de précision micro, macro et moyenne pondérée et des notes F-1.
Mesures de classe
Les mesures de classe sont des mesures au niveau de l'entité.
- Précision
-
Le rapport entre les vrais positifs (les exemples correctement prédits) et tous les exemples de la classe particulière.
Il décrit le nombre d'exemples prédits correctement prédits. La valeur est comprise entre 0 et 1. Des valeurs plus élevées sont meilleures.
- Rappeler
-
Le rapport entre les vrais positifs (les exemples correctement prédits) et tous les exemples prédits.
Il décrit combien d'exemples corrects sont prédits. La valeur est comprise entre 0 et 1. Des valeurs plus élevées sont meilleures.
- F1-Note
-
Le score F1 est la moyenne harmonique de précision et de rappel, vous donnant une seule valeur pour évaluer le modèle. La valeur est comprise entre 0 et 1. Des valeurs plus élevées sont meilleures.
Mesures de modèle
Les mesures de modèle sont des mesures au niveau du modèle pour les modèles à classes multiples. Les mesures au niveau du modèle décrivent la qualité globale d'un modèle. Les valeurs de précision, de rappel et de F-1 sont présentées au niveau macro, micro et moyenne pondérée.
- Moyennes macro
-
Une moyenne macro est la moyenne des valeurs métriques de toutes les classes.
Par exemple, la macro-précision est calculée comme la somme de toutes les valeurs de précision de classe divisée par le nombre de classes.
- Micro-moyennes
-
Une micro-moyenne regroupe les contributions de tous les exemples pour calculer la mesure moyenne.
- Moyennes pondérées
-
Calculé en tenant compte du nombre d'instances de chaque classe.
Par exemple, une note F1 pondérée est calculée comme la somme de (F1-score of class * support proportions of the class).
- Exactitude
-
Une fraction de tous les exemples correctement prédits et non prédits. La fraction est calculée comme le rapport entre les classes correctement prédites et non prédites (vrai positif + vrai négatif) et tous les exemples
- Matrice de confusion
-
Table permettant de visualiser les résultats réels et de prédiction de chaque classe.
Déploiement du modèle
Une fois que les mesures du modèle répondent aux attentes, vous pouvez mettre le modèle en production et l'utiliser pour analyser du texte. Pour mettre le modèle en production, vous créez un point d'extrémité. Un point d'extrémité affecte des ressources de calcul dédiées pour l'inférence (exécution de l'analyse de texte) sur des modèles personnalisés.
Les points d'extrémité de modèle personnalisé sont privés et vous devez spécifier un compartiment pour déployer le point d'extrémité. Vous pouvez créer plusieurs points d'extrémité pour un modèle. Vous pouvez créer ou supprimer des points d'extrémité sans supprimer de modèle.
Analyse de texte
Après avoir créé un point d'extrémité de modèle, vous pouvez déployer le modèle et analyser du texte à l'aide d'un modèle personnalisé. Vous pouvez déployer un modèle vers un point d'extrémité des façons suivantes :
- Console
- API REST
- Trousse SDK (Python, Java, C#, JavaScript et Ruby)
- Interface de ligne de commande