Modèle / jeu de données
axolotl-ai-cloud/axolotl avatar
axolotl-ai-cloud/axolotl

Axolotl : un cadre de fine-tuning LLM piloté par fichiers YAML

Go ahead and axolotl questions

12 475 étoiles1 435 forksPythonApache-2.0

En bref

De quoi s’agit-il ?
Axolotl est un cadre Python de fine-tuning de grands modèles de langage sous licence Apache-2.0. Son intérêt principal tient à la configuration par YAML et à la couverture de nombreux modèles et schémas de parallélisme. Ses limites tiennent à la dépendance aux noyaux CUDA et à la complexité de ses options avancées.
À qui s’adresse-t-il ?
Axolotl convient aux équipes qui entraînent déjà des modèles sur GPU NVIDIA et veulent un fichier YAML reproductible plutôt qu'un script de boucle d'entraînement écrit à la main. Il convient moins à qui doit fine-tuner sur CPU, sur Mac, ou avec une pile d'inférence non CUDA.
Puis-je l’utiliser commercialement ?
Oui. Apache-2.0 est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Python, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Le problème concret : arrêter de réécrire la boucle d'entraînement

Fine-tuner un LLM demande d'assembler beaucoup de pièces mobiles : tokenisation, formatage des conversations, masquage des pertes, précision mixte, parallélisme, points de contrôle. Chaque nouveau modèle change une partie de cet assemblage. Axolotl part du principe que cette logique est réutilisable et que seule la configuration doit changer. Le README le présente comme un cadre de fine-tuning libre et open source, et l'essentiel du travail de l'utilisateur consiste à écrire un fichier YAML décrivant le modèle, le jeu de données et la méthode d'adaptation. Le public visé est donc l'ingénieur ou le chercheur qui entraîne plusieurs modèles successifs et ne veut pas maintenir un script maison par modèle. Ce n'est pas un outil destiné à l'utilisateur final qui voudrait affiner un modèle sans écrire de configuration.

Ce que la documentation couvre réellement en matière de modèles

Le journal des versions du README est le document le plus parlant du dépôt. Il liste, mois par mois, les architectures ajoutées : Ling 3.0, Muse Glimmer, North Micro Vision Instruct et Shieldstral en août 2026 ; Mistral Medium 3.5 et Gemma 4 en avril 2026 ; Qwen3.5, Qwen3.5 MoE, GLM-4.7-Flash, GLM-4.6V et GLM-4.5-Air en mars 2026. Chaque entrée renvoie à une page de documentation dédiée sous docs.axolotl.ai. Cette cadence indique une stratégie assumée : suivre les sorties de modèles plutôt que de se concentrer sur un petit ensemble stable. Le revers est direct. Un modèle absent de cette liste n'est pas pris en charge de façon garantie, et la documentation par modèle est le seul endroit où vérifier les contraintes propres à une architecture. Le README ne fournit pas de tableau récapitulatif unique des architectures supportées.

Le mécanisme : configuration déclarative et noyaux spécialisés

Le dépôt est écrit en Python et s'appuie sur des briques externes pour l'entraînement distribué et les opérations accélérées. Plusieurs entrées du journal des versions le montrent explicitement. Le LoRA sur poids d'experts MoE utilise des noyaux Triton personnalisés via ScatterMoE, avec une variante SonicMoE pour le LoRA fusionné. La formation NVFP4 en 4 bits sur des modèles MoE passe par ScatterMoE en W4A16 et SonicMoE en W4A4, avec la possibilité de fusionner l'adaptateur dans un point de contrôle NVFP4 standard. Le parallélisme d'experts pour l'entraînement MoE distribué s'appuie sur DeepEP. Le parallélisme de contexte est mentionné pour les modèles hybrides SSM (Nemotron-H, Falcon-H1, Bamba). Autrement dit, Axolotl orchestre, mais une part importante de la performance vient de bibliothèques de noyaux et de communication qui lui sont extérieures. Cette dépendance a une conséquence pratique : la compatibilité de versions entre Axolotl et ces briques n'est pas quelque chose que le fichier YAML peut absorber.

Options d'entraînement visibles dans le journal des versions

Au-delà du fine-tuning supervisé classique, le dépôt documente plusieurs axes. Côté RL, Async GRPO est annoncé en avril 2026 avec un gain de vitesse d'étape allant jusqu'à 58 pour cent selon les notes de version, ainsi que GDPO (Generalized DPO) et NeMo Gym. Côté objectifs de perte, EAFT (Entropy-Aware Focal Training) pondère la perte par l'entropie de la distribution top-k des logits. Côté attention, Flash Attention 4 et SageAttention sont cités, aux côtés de Scalable Softmax pour le contexte long. Côté quantification, BitNet en 1,58 bit est mentionné en juin 2026, et la quantification des experts MoE s'active par la clé quantize_moe_experts: true, avec une compatibilité FSDP2 annoncée. Cette liste donne la mesure du projet : la surface de configuration est large, et chaque option avancée suppose une pile matérielle et logicielle précise. Le README ne détaille pas les prérequis matériels de chaque option.

Installation et exécution : ce que le dépôt indique

Le README signale qu'Axolotl est passé à une approche uv-first en avril 2026, avec un lien vers la pull request correspondante. C'est le seul élément d'installation que le matériel fourni contient : aucune commande pip install, aucune commande d'entraînement, aucun exemple de fichier YAML complet n'apparaît dans le README nettoyé. Les exemples cités sont des liens vers des répertoires du dépôt, par exemple examples/qwen2_5-vl, et vers des pages de documentation. Un notebook Colab est référencé sous examples/colab-notebooks/colab-axolotl-example.ipynb. La documentation en ligne, docs.axolotl.ai, est présentée comme la source principale. Je ne peux donc pas reproduire ici une commande de lancement vérifiée : elle ne figure pas dans le matériel fourni, et l'inventer serait pire que de l'omettre. La démarche raisonnable consiste à partir du notebook Colab ou d'un répertoire d'exemples correspondant au modèle visé, puis à adapter le YAML.

Les cas où Axolotl n'est pas le bon outil

Trois situations ressortent du matériel. D'abord, le fine-tuning sur CPU ou sur Mac : rien dans le README ne mentionne de chemin d'exécution hors GPU, et les fonctionnalités mises en avant (NVFP4, ScatterMoE, SonicMoE, Flash Attention 4, DeepEP) sont liées à des noyaux CUDA et à des communications multi-GPU. Ensuite, l'utilisateur qui veut une API d'entraînement minimale : la richesse des options se paie en clés de configuration à connaître, et une erreur de configuration sur un modèle MoE peut se manifester par une consommation mémoire inattendue plutôt que par un message clair. Enfin, l'équipe qui n'a pas besoin de suivre les architectures récentes : si un seul modèle stable suffit, un script d'entraînement dédié reste plus simple à auditer qu'un cadre dont le journal des versions change de contenu chaque mois. Le passage à uv-first en avril 2026 est également un changement d'outillage qui peut casser des scripts d'installation existants.

Alternative : rester sur les bibliothèques d'entraînement de bas niveau

L'alternative directe est d'écrire l'entraînement avec les bibliothèques sous-jacentes plutôt qu'avec Axolotl. La différence n'est pas une question de qualité mais de répartition des responsabilités. Avec une pile bas niveau, vous contrôlez la boucle d'entraînement, le formatage des données et la journalisation, et vous n'avez aucune dépendance à un projet qui ajoute des architectures chaque mois. En contrepartie, vous réimplémentez vous-même ce qu'Axolotl fournit déjà : masquage des pertes pour les modèles multimodaux, intégration du parallélisme d'experts, fusion d'adaptateurs LoRA dans un point de contrôle quantifié. Le journal des versions montre d'ailleurs qu'Axolotl corrige régulièrement des cas limites de ce type, par exemple un correctif de masquage de perte réservé à l'assistant en multimodal en juin 2026. Si votre modèle et votre méthode d'adaptation ne bougent pas, la pile bas niveau évite une dépendance de plus. Si vous changez de modèle tous les deux mois, la réimplémentation devient le coût dominant.

Maintenance, versions et licence

Le rythme de publication est soutenu : v0.16.1 en avril 2026, v0.17.0 en juin 2026, v0.18.0 en juillet 2026. Le dépôt n'est pas archivé et la branche par défaut est main. Le coût de maintenance se situe donc moins dans le code d'Axolotl que dans la compatibilité avec les noyaux et bibliothèques externes cités dans les notes de version, et dans la relecture des pages de documentation par modèle à chaque mise à jour. La licence est Apache-2.0, ce qui autorise l'usage commercial et la modification, avec les obligations habituelles de conservation des mentions de copyright et de licence et une clause de brevets. Je ne donne pas d'avis juridique : pour un produit dérivé, la question des licences des modèles et des bibliothèques de noyaux tierces se pose séparément de celle d'Axolotl et doit être examinée au cas par cas.

Conclusion éditoriale

Axolotl convient aux équipes qui entraînent déjà des modèles sur GPU NVIDIA et veulent un fichier YAML reproductible plutôt qu'un script de boucle d'entraînement écrit à la main. Il convient moins à qui doit fine-tuner sur CPU, sur Mac, ou avec une pile d'inférence non CUDA. Avant de l'adopter, vérifiez que la version du modèle visée figure bien dans la documentation des modèles du dépôt, puis lancez une configuration d'exemple sur une seule GPU avant de passer au multi-nœuds.

Sources officielles

  1. axolotl-ai-cloud/axolotl on GitHub
  2. License: Apache-2.0
  3. Project website
  4. README
  5. Releases
Notes de la communauté

Notes de la communauté