Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Distillation simulée
La distillation, c'est une technique où un gros modèle (le "professeur") génère des réponses de haute qualité, et un petit modèle (l'"élève") apprend à les reproduire via fine-tuning. C'est comme ça qu'on obtient des modèles petits et rapides qui marchent presque aussi bien que les gros.
Concrètement, le processus est le suivant : 1. Tu prends une liste de questions 2. Tu fais répondre le gros modèle (GPT-4, Claude) sur chaque question 3. Tu formates les paires question/réponse en dataset de fine-tuning 4. Tu entraînes le petit modèle (GPT-4o-mini) sur ce dataset
Dans cet exercice, on simule la distillation. Tu reçois une fonction "professeur" qui prend une question et renvoie une réponse. Tu dois l'utiliser pour générer un dataset complet.
Écris une fonction distiller(questions, professeur, system_prompt, note_qualite=None) qui : 1. Appelle la fonction professeur(question) pour chaque question 2. Si note_qualite est fourni (une fonction qui prend une réponse et renvoie un score entre 0 et 1), ne garde que les réponses avec un score >= 0.7 3. Formate chaque paire en exemple d'entraînement (format messages avec system, user, assistant) 4. Renvoie un dict avec "dataset" (la liste d'exemples), "total_genere" (nombre de réponses générées), et "total_retenu" (nombre de réponses gardées après filtrage qualité)
Exemple :
def prof(q): return "Réponse détaillée à : " + q
distiller(["Q1", "Q2"], prof, "Tu es un expert.") renvoie {"dataset": [2 exemples formatés], "total_genere": 2, "total_retenu": 2}