Contexte
Un film culte. Des personnages qui ont une voix : Jules, Vincent, Mia, Marsellus, Butch, Winston Wolf. Peut-on leur parler ?
Problème
Un modèle généraliste parle bien, mais pas comme Jules. Et il invente des détails sur le film.
Solution
Deux briques. Un fine-tuning (QLoRA) de Llama 3.1 8B pour le style. Un RAG pour les faits.
Architecture
- Un jeu de données en français, tiré du scénario puis enrichi.
- Une base vectorielle (pgvector) pour retrouver les bonnes scènes.
- Un modèle servi par vLLM sur Modal.
- Une API FastAPI.
- Un suivi des entraînements avec Weights & Biases.
Déploiement
Le modèle tourne sur un GPU serverless qui s’éteint quand personne ne parle. L’API est sur AWS App Runner. L’entraînement se lance à la demande depuis GitHub Actions, sur SageMaker ou Vertex AI, en instances spot.
Impact
Deux évaluations en place : la justesse des faits (RAGAS) et la fidélité au personnage (un juge LLM, comparé à un modèle sans fine-tuning).
Apprentissage
Le fine-tuning donne la voix. Le RAG donne les faits. Les deux se mesurent séparément.