Je respecte toujours mes engagements
Fine-tuning, LoRA et QLoRA
Ce que j’ai compris avant de lancer ma première expérience de fine-tuning avec Kaggle et Hugging Face.
Kaggle et Hugging Face, deja entendu parlé ? qui fait quoi ?
Au début, je pensais que Hugging Face servait seulement à stocker les modèles, un peu comme GitHub stocke du code. Cette comparaison est utile, mais elle est incomplète.
En réalité Hugging Face est principalement un hub qui permet de publier et de télécharger des modèles, des datasets et des adaptateurs. On y trouve aussi des bibliothèques comme Transformers et PEFT, ainsi que la documentation et les fiches techniques des modèles.
Kaggle est plutôt mon atelier de calcul. Je peux y ouvrir un notebook, activer un GPU lorsqu’il est disponible, installer les bibliothèques Python, télécharger un modèle et lancer l’entraînement. L’intégration entre les deux plateformes permet d’ouvrir certains modèles Hugging Face directement dans un notebook Kaggle
Que signifie fine-tuner un modèle alors ?
Un modèle de langage a déjà été pré-entraîné sur une grande quantité de textes. Le fine-tuning consiste à continuer son entraînement avec un dataset plus spécialisé.
Dans mon cas, ce dataset pourrait contenir des mots mooré, des traductions françaises, des phrases, des explications grammaticales et, plus tard, des dialogues pédagogiques.
Il existe deux grandes façons de procéder. Le fine-tuning complet modifie tous les paramètres du modèle. Il demande beaucoup de mémoire et produit une nouvelle copie complète du modèle. Cette méthode est intéressante dans certains contextes, mais elle est trop lourde pour ma première expérience sur un GPU gratuit.
L’autre approche est le fine-tuning léger, souvent appelé PEFT, pour Parameter-Efficient Fine-Tuning. Le modèle de base reste en grande partie gelé et seuls de petits paramètres supplémentaires sont entraînés.
PEFT, LoRA et QLoRA
PEFT est une famille de méthodes de fine-tuning léger. LoRA est l’une des méthodes les plus connues de cette famille. Il existe également d’autres approches, comme AdaLoRA, IA3, Prefix Tuning ou Prompt Tuning.
Avec LoRA (Low-Rank Adaptation), je ne modifie pas directement tous les poids du modèle. J’ajoute de petites matrices entraînables, appelées adaptateur. Le modèle original reste donc presque inchangé et l’adaptateur contient la spécialisation apprise.
On peut représenter le résultat ainsi :
Modèle de base + adaptateur LoRA = modèle spécialisé
QLoRA (Quantized LoRA) combine deux idées. Le modèle de base est chargé en quantification 4 bits pour réduire la mémoire utilisée, puis un adaptateur LoRA est entraîné par-dessus. La documentation PEFT décrit cette méthode comme l’association d’un modèle quantifié et d’un entraînement LoRA
Qwen/Qwen3-1.7B-Base
+ chargement en 4 bits
+ adaptateur LoRA entraînable
= fine-tuning léger avec QLoRA
Le mot « adaptateur » désigne donc le petit composant ajouté au modèle. QLoRA n’est pas un modèle différent : c’est une manière économique d’entraîner un adaptateur LoRA.
Le modèle que j’ai choisi pour commencer
Qwen/Qwen3-1.7B-Base
La version Base me paraît adaptée pour commencer à expérimenter avec du vocabulaire, des textes et des structures linguistiques. Sa fiche officielle indique qu’il s’agit d’un modèle causal de 1,7 milliard de paramètres, sous licence Apache-2.0, entraîné sur un corpus couvrant de nombreuses langues
Retenir
Fine-tuning = adapter un modèle avec des données spécialisées
PEFT = famille de méthodes de fine-tuning léger
LoRA = méthode PEFT qui entraîne un petit adaptateur
QLoRA = modèle quantifié en 4 bits + adaptateur LoRA
Kaggle = environnement pour coder et entraîner avec un GPU
Hugging Face = hub pour modèles, datasets, adaptateurs et versions
Dataset = données structurées et nettoyées pour l’entraînement
Modèle Base = meilleur point de départ pour expérimenter la langue
Modèle Instruct = meilleur pour suivre les consignes et dialoguer
| Sigle | Signification | Définition courte |
|---|---|---|
| IA | Intelligence artificielle | Systèmes capables d’effectuer des tâches nécessitant normalement l’intelligence humaine. |
| LLM | Large Language Model | Grand modèle de langage capable de comprendre et générer du texte. |
| NLP/TAL | Natural Language Processing / traitement automatique du langage | Domaine de l’IA consacré à la compréhension et à la génération des langues humaines. |
| GPU | Graphics Processing Unit | Processeur particulièrement adapté aux calculs parallèles utilisés pour entraîner les modèles. |
| API | Application Programming Interface | Interface permettant à des logiciels de communiquer entre eux. |
| JSONL | JSON Lines | Format où chaque ligne contient un objet JSON représentant un exemple du dataset. |
| SFT | Supervised Fine-Tuning | Fine-tuning réalisé avec des exemples contenant une entrée et une réponse attendue. |
| PEFT | Parameter-Efficient Fine-Tuning | Méthodes de fine-tuning qui entraînent seulement une petite partie des paramètres. |
| LoRA | Low-Rank Adaptation | Méthode PEFT qui ajoute de petits adaptateurs entraînables au modèle. |
| QLoRA | Quantized LoRA | LoRA appliqué à un modèle chargé en faible précision, généralement 4 bits, pour économiser la mémoire. |
| OCR | Optical Character Recognition | Technologie qui convertit une image ou un PDF scanné en texte. |
| TTS | Text-to-Speech | Technologie qui transforme un texte en parole audio. |
| RAG | Retrieval-Augmented Generation | Méthode qui permet au modèle de rechercher des informations dans une base avant de répondre. |
| Embedding | Représentation vectorielle | Transformation d’un texte en nombres pour comparer son sens et effectuer des recherches sémantiques. |
| Checkpoint | Point de sauvegarde | Copie intermédiaire du modèle ou de l’adaptateur pendant l’entraînement. |
| Tokenizer | Tokeniseur | Outil qui découpe le texte en unités compréhensibles par le modèle. |




