Classifier Factory
Obsolète
Cette fonctionnalité est obsolète et n'est plus activement prise en charge.
Dans divers domaines et entreprises, les modèles de classification jouent un rôle crucial pour améliorer l'efficacité, l'expérience utilisateur et garantir la conformité. Ces modèles remplissent des objectifs variés, notamment :
- Modération : Les modèles de classification sont essentiels pour modérer les services et classer les contenus indésirables. Par exemple, notre service de modération aide à identifier et filtrer en temps réel les contenus inappropriés ou nuisibles, garantissant un environnement sûr et respectueux pour les utilisateurs.
- Détection d'intention : Ces modèles aident à comprendre l'intention et le comportement des utilisateurs. En analysant les interactions, ils peuvent prédire les prochaines actions ou besoins de l'utilisateur, permettant des recommandations personnalisées et un support client amélioré.
- Analyse de sentiment : Les modèles de détection d'émotion et de sentiment analysent les données textuelles pour déterminer la tonalité émotionnelle des mots. Ceci est particulièrement utile pour la surveillance des réseaux sociaux, l'analyse des retours clients et les études de marché, où comprendre le sentiment public peut orienter les décisions stratégiques.
- Regroupement de données : Les modèles de classification peuvent regrouper des points de données similaires, facilitant l'organisation des données et la reconnaissance de motifs. Ceci est bénéfique pour la segmentation de marché, où les entreprises peuvent identifier des groupes de clients distincts pour des campagnes marketing ciblées.
- Détection de fraude : Dans le secteur financier, les modèles de classification aident à identifier les transactions frauduleuses en analysant les motifs et anomalies dans les données transactionnelles. Cela garantit la sécurité et l'intégrité des systèmes financiers.
- Filtrage du spam : Les services de messagerie utilisent des modèles de classification pour filtrer les emails indésirables, garantissant que les utilisateurs ne reçoivent que des communications pertinentes et sûres.
- Systèmes de recommandation : Les modèles de classification alimentent les moteurs de recommandation en catégorisant les préférences utilisateur et en suggérant des produits, films ou contenus pertinents selon les comportements et préférences passés.
En exploitant les modèles de classification, les organisations peuvent prendre des décisions basées sur les données, améliorer l'efficacité opérationnelle et offrir de meilleurs produits et services à leurs clients.
C'est pourquoi nous avons conçu un moyen simple et convivial de créer vos propres classificateurs. En tirant parti de nos modèles petits mais très efficaces et de nos méthodes d'entraînement, Classifier Factory est disponible directement dans Studio et notre API.
Avant de commencer
Jeu de données
Pour affiner un modèle, vous devez fournir un jeu de données contenant les données sur lesquelles vous souhaitez l'entraîner. Il est également recommandé d'avoir un jeu de validation et un jeu de test.
Le jeu de données doit respecter un format spécifique, et vous pouvez le télécharger sur Mistral Cloud avant de lancer la tâche d'affinage.
Les données doivent être stockées dans des fichiers JSON Lines (.jsonl), qui permettent de stocker plusieurs objets JSON, chacun sur une nouvelle ligne.
Nous fournissons deux endpoints :
v1/classifications: Pour classifier du texte brut.v1/chat/classifications: Pour classifier des chats et des interactions multi-tours.
Il existe 2 types principaux de modèles de classification :
- Cible unique
- Multi-cibles
Pour la classification à libellé unique, les données doivent contenir le nom du libellé et la valeur correspondante. Exemple :
{
"text": "I love this product!",
"labels": {
"sentiment": "positive" // positive/neutral/negative
}
}Pour plusieurs libellés, vous pouvez fournir une liste :
{
"text": "I love this product!",
"labels": {
"sentiment": ["positive", "neutral"]
}
}Lors de l'utilisation du modèle résultant, vous pourrez récupérer les scores pour le libellé et la valeur correspondants.
Notez que les fichiers doivent être au format JSONL, ce qui signifie que chaque objet JSON doit être aplati sur une seule ligne, et chaque objet JSON se trouve sur une nouvelle ligne.
Exemple de fichier .jsonl brut.
{"text": "I love this product!", "labels": {"sentiment": "positive"}}
{"text": "The game was amazing.", "labels": {"sentiment": "positive"}}
{"text": "The new policy is controversial.", "labels": {"sentiment": "neutral"}}
{"text": "I don't like the new design.", "labels": {"sentiment": "negative"}}
{"text": "The team won the championship.", "labels": {"sentiment": "positive"}}
{"text": "The economy is in a bad shape.", "labels": {"sentiment": "negative"}}
...- Les données de libellé doivent être un dictionnaire avec le nom du libellé comme clé et la valeur du libellé comme valeur.
Gestion des tâches
Créer et gérer les tâches d'affinage
Pour créer votre modèle personnalisé, vous devez créer une tâche d'affinage. Vous pouvez gérer entièrement les tâches via notre API, de la création au démarrage, à la surveillance et à l'annulation.
Un job de fine-tuning correspond à une seule exécution d'entraînement. Vous pouvez créer un job de fine-tuning avec les paramètres suivants :
Créer un job de fine-tuning
- model : le modèle spécifique que vous souhaitez fine-tuner. Le choix est
ministral-3b-latest. - training_files : une collection d'ID de fichiers d'entraînement, qui peut être constituée d'un seul fichier ou de plusieurs fichiers.
- validation_files : une collection d'ID de fichiers de validation, qui peut être constituée d'un seul fichier ou de plusieurs fichiers.
- hyperparameters : deux hyperparamètres ajustables, "training_steps" et "learning_rate", que les utilisateurs peuvent modifier.
- auto_start :
auto_start=True: votre job sera lancé immédiatement après validation.auto_start=False(par défaut) : vous pouvez démarrer manuellement l'entraînement après validation en envoyant une requête POST à/fine_tuning/jobs/<uuid>/start.
- integrations : intégrations externes que nous prenons en charge, telles que Weights and Biases pour le suivi des métriques pendant l'entraînement.
# create a fine-tuning job
created_jobs = client.fine_tuning.jobs.create(
model="ministral-3b-latest",
job_type="classifier",
training_files=[{"file_id": training_data.id, "weight": 1}],
validation_files=[validation_data.id],
hyperparameters={
"training_steps": 10,
"learning_rate":0.0001
},
auto_start=False,
# integrations=[
# {
# "project": "finetuning",
# "api_key": "WANDB_KEY",
# }
# ]
)Statut du job
Après avoir créé un job de fine-tuning, vous pouvez vérifier le statut du job avec :
client.fine_tuning.jobs.get(job_id = created_jobs.id)Démarrer un job de fine-tuning
Initialement, le statut du job sera "QUEUED". Après un court instant, le statut passera à "VALIDATED". À ce stade, vous pouvez procéder au démarrage du job de fine-tuning :
# start a fine-tuning job
client.fine_tuning.jobs.start(job_id = created_jobs.id)
created_jobsModèle affiné
Utiliser et supprimer des modèles affinés
Une fois votre tâche d'affinage terminée, vous pouvez utiliser votre modèle personnalisé affiné pour classer vos données et l'utiliser dans vos applications.
Utiliser un modèle affiné
Voici un exemple d'utilisation d'un modèle affiné pour classer vos données.
# You will be able to see the fine-tuned model name via `retrieved_job.fine_tuned_model`
classifier_response = client.classifiers.classify(
model=retrieved_job.fine_tuned_model,
inputs=["It's nice", "It's terrible", "Why not"],
)
# Use `classify_chat` to classify chats and multiturn interactions.Supprimer un modèle affiné
Vous pouvez supprimer un modèle affiné si vous n'en avez plus besoin.
client.models.delete(model_id=retrieved_job.fine_tuned_model)Guides pratiques
- Classification d'intention : Créer un modèle de classification d'intention à cible unique et étiquette unique pour prédire les actions utilisateur et améliorer les interactions client.
- Classificateur de modération : Construire un modèle de modération simple à cible unique et multi-étiquettes pour labelliser les commentaires publics.
- Classification de produits : Créer un modèle de classification alimentaire multi-cibles, à étiquette unique et multi-étiquettes pour catégoriser les plats et leur pays d'origine et comparer avec les solutions LLM classiques, améliorant les recommandations de recettes et la planification diététique.