Ce qu'est le pipeline
Le fine-tuning est rarement une action isolée. Un résultat utile nécessite les bons exemples, préparés dans le bon format, entraînés avec des paramètres judicieux, puis vérifiés par rapport au modèle de départ. Scalata décompose ce processus en étapes, chacune prenant le résultat de la précédente pour produire un élément que vous pouvez ouvrir et inspecter.
- 01Sessionssélectionner les conversations
- 02Jeu de donnéescollecter des exemples
- 03Fournisseuroù il s'entraîne
- 04Préparation des donnéesnettoyer + convertir
- 05Entraînerexécuter la tâche
- 06Évaluerprouver l'amélioration
- 07Conversation de testl'essayer vous-même
- 08Utiliserle mettre en service
Les étapes, une par une
| Étape | Entrées | Sorties |
|---|---|---|
| Sessions | Vos conversations dans Scalata, ou les conversations importées d'autres applications | Les conversations à partir desquelles apprendre |
| Jeu de données | Les conversations sélectionnées, les exemples synthétiques ou importés, les documents facultatifs et les réponses choisies comme cibles | Un instantané figé d'exemples |
| Fournisseur | L'endroit où le modèle sera entraîné et déployé | Une plateforme et les modèles qu'elle propose |
| Préparation des données | Un jeu de données et des paramètres de nettoyage | Des fichiers JSONL nettoyés, expurgés et divisés au format du fournisseur |
| Entraînement | Des fichiers préparés, un modèle de base, une méthode et des paramètres | Un modèle entraîné, ses courbes de perte et son coût |
| Évaluation | Le modèle entraîné, son modèle de départ et les questions réservées | Des réponses côte à côte, des scores d'évaluation et un taux de victoire |
| Conversation de test | Un modèle entraîné | Un déploiement temporaire avec lequel vous pouvez interagir |
| Utilisation | Un modèle qui a réussi l'évaluation | Le modèle en action dans Scalata (prochainement) |
Pourquoi chaque étape constitue un enregistrement distinct
Chaque étape génère un enregistrement que les travaux ultérieurs ne modifient pas. Un jeu de données est une copie des conversations, et non un lien vers celles-ci. Une préparation de données conserve les fichiers exacts qu'elle a produits. Une exécution d'entraînement conserve la préparation qu'elle a utilisée, ses paramètres et le prix indiqué à son lancement. Cela rend les résultats reproductibles — des mois plus tard, vous pouvez toujours déterminer quelles conversations, quels paramètres de nettoyage et quels hyperparamètres ont produit un modèle donné — et rend les comparaisons équitables, car deux exécutions entraînées à partir de la même préparation ont réellement vu les mêmes données.
Cela vous permet également de créer des branches. Un jeu de données peut être préparé deux fois avec des paramètres différents, une préparation peut entraîner plusieurs modèles, et un modèle entraîné peut servir de point de départ pour une autre exécution.
D'où proviennent généralement les problèmes
Les résultats décevants s'expliquent généralement par les premières étapes plutôt que par les paramètres d'entraînement :
- Cibles erronées ou incohérentes dans le jeu de données — le modèle les apprend fidèlement.
- Aucune donnée mise de côté lors de la préparation des données, l'évaluation mesure donc la mémoire au lieu de la compétence.
- Une inadéquation entre l'entraînement et l'utilisation — un prompt système différent, ou des questions réelles qui ne ressemblent en rien aux chats d'entraînement.
- Plusieurs changements simultanés entre les exécutions, ce qui vous empêche de déterminer lequel a été utile.
- Sessions → Jeu de données : 400 chats d'assistance sont examinés ; 320 contiennent des réponses suffisamment bonnes pour servir de cibles.
- Fournisseur → Préparation des données : le nettoyage supprime les réponses erronées et les doublons, les données personnelles sont masquées, 10 % des conversations sont mises de côté comme jeu de test pour l'évaluation, et 10 % du reste sont conservées pour la validation.
- Entraînement : fine-tuning supervisé avec les paramètres Auto, comme référence.
- Évaluation : le modèle entraîné et le modèle de base répondent aux questions de test mises de côté. Un juge préfère le modèle entraîné pour la plupart d'entre elles, et ses justifications soulignent une faiblesse concernant les questions de facturation.
- Cycle suivant : davantage de chats liés à la facturation sont intégrés dans un nouveau jeu de données, et le cycle se répète. Une seule chose a changé, la prochaine évaluation montrera donc si cela a été utile.
Erreurs courantes
- Ajuster les paramètres d'entraînement avant de vérifier le jeu de données.
- Modifier le jeu de données, les paramètres de préparation et les hyperparamètres lors de la même exécution.
- Ignorer l'évaluation parce que la perte d'entraînement a diminué.
- Supprimer les anciennes exécutions au lieu de les archiver, ce qui fait perdre la trace de ce qui a été essayé et des raisons de l'échec.
Références et lectures complémentaires
Les sources externes s'ouvrent dans un nouvel onglet.
- 01Datasheets for DatasetsGebru et al., 2018 · arXiv · arxiv.orgPourquoi chaque jeu de données devrait être accompagné d'un registre indiquant sa provenance et la manière dont il a été créé.
- 02Model Cards for Model ReportingMitchell et al., 2018 · arXiv · arxiv.orgLe même principe pour les modèles entraînés : documenter ce sur quoi ils ont été entraînés et évalués.
- 03Supervised fine-tuningOpenAI API docs · developers.openai.comLa version de ce même pipeline par un fournisseur hébergé : préparer les données, entraîner, évaluer.
- 04Customize your model to improve its performance for your use caseAmazon Bedrock User Guide · docs.aws.amazon.comComment un autre fournisseur structure les tâches de personnalisation.