Comment tester la « généralisation » pour la création d’un expert du domaine d’affaires avec des LLM, sans hallucination !
Les trois derniers épisodes ont nécessité de solides connaissances en science des données. Si vous avez suivi, voici une liste rapide des prérequis nécessaires pour tirer le meilleur parti de cette article :
Comment fine-tuner un LLM
Comment construire un dataset équilibré avec les connaissances spécifiques au domaine (1)
Comment ajuster les hyperparamètres (1)
Soyez conscient des data biases (1)
Maintenant que nous sommes à jour, entrons dans le vif du sujet !
Dans ce cadre, nous avons défini un seuil de 90 % de précision comme acceptable pour envisager une généralisation. Bien sûr, ce pourcentage dépend de l’exigence de votre client ou de votre supérieur hiérarchique.
Voici le défi : vous devez effectuer 100 tests pour chaque étape. Si 90 d’entre eux atteignent l’objectif (c’est-à-dire qu’ils sont très proches de la réponse attendue), félicitations, vous avez validé cette étape !
Étape 1 : Direct Preference Optimazing (DPO)
Nous vous recommandons d’utiliser Direct Preference Optimazing (DPO). Bien sûr, vous pourriez opter pour LoRa, mais comme nous l’avons vu dans l’épisode 10, cela ne vous donnera pas de généralisation, à moins que vous n’ajoutez des Artificial Neural Network (ANN) pendant l’entraînement.
Étape 2 : Testez le raisonnement du modèle
Une fois que vous avez suffisamment de données, votre modèle doit commencer à se généraliser.
Mais ce n’est que la première étape. Ici, vous ne testez pas encore le raisonnement du modèle. Vous vérifiez si le modèle comprend quand et comment modifier les variables dans la sortie.
Étape 3 : Explanation Tuning
Nous entrons maintenant dans le vif du sujet. À cette étape, il est nécessaire de se pencher sur l’Explanation Tuning. Bien que ce concept existe depuis GPT-2, il mérite d’être reconnu pour son amélioration de la robustesse des modèles.
Une ressource clé à ce sujet est l’article de 2023, Explanation-based Fine-tuning Makes Models More Robust to Spurious Cues (Ludan et al., 2023).
En pratique, tout ce que vous avez vraiment à faire est d’ajouter des explications à votre « dynamic system message » pour chaque échantillon (et non, on ne parle pas du « system message » que vous utilisez pour définir l’instruction générale de réglage fin ; celle-ci est pour chaque échantillon individuel).
Comment effectuer les tests ?
Test 1 : Copier-coller le dataset, c’est-à-dire tester le modèle à partir des données du dataset.
Test 2 : Changer la variable du dataset : utiliser des données différentes de celles du dataset, mais qui restent très proches (le résultat doit être le même).
Test 3 : Modifier entièrement le prompt tout en conservant la logique : utiliser des données complètement différentes tout en cherchant à obtenir le même résultat (le résultat doit être identique).
Et voilà, la généralisation est bien faite.
Restez à l’écoute pour en savoir plus !
Avis de non-responsabilité : Bien que l’ajustement de l’explication améliore la robustesse (c’est-à-dire que le modèle devient moins enclin à s’appuyer sur des corrélations fallacieuses), ce n’est pas un outil principal pour réaliser la généralisation.
La généralisation provient davantage de données d’entraînement diverses et représentatives. Cependant, l’ajout d’explications rend le comportement du modèle plus interprétable et plus fiable, ce qui peut améliorer son utilité en tant qu’expert commercial.
(1) Cet article suppose que vous savez comment entraîner efficacement un modèle, en évitant l’overfitting, l’underfitting et la gestion de tâches essentielles telles que la sélection de fonctionnalités, le réglage des hyperparamètres, l’équilibrage des datasets et l’ajustement des étapes/époques d’entraînement. Cela suppose également que vous connaissez la profondeur de modèle adaptée à votre tâche et que vous êtes conscient de problèmes clés tels que la capacité du modèle et la stabilité du gradient. En outre, cela implique que vous pouvez identifier et prendre en compte les biais de données, en particulier dans les 10 % de cas où le modèle peut échouer.