Transformers documentation

Axolotl

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Axolotl

Axolotl est un cadre de fine-tuning et de post-entraînement pour les grands modèles de langage. Il prend en charge l’ajustement basé sur des adaptateurs, l’entraînement distribué ND-parallel, GRPO et QAT. Grâce à TRL, Axolotl gère également les flux de travail d’apprentissage par préférence, d’apprentissage par renforcement et de modélisation de récompense.

Définissez votre session d’entraînement dans un fichier de configuration YAML.

base_model: NousResearch/Nous-Hermes-llama-1b-v1
model_type: AutoModelForCausalLM
tokenizer_type: AutoTokenizer

datasets:
  - path: tatsu-lab/alpaca
    type: alpaca

output_dir: ./outputs
sequence_len: 512
micro_batch_size: 1
gradient_accumulation_steps: 1
num_epochs: 1
learning_rate: 2.0e-5

Lancez l'entraînement avec la commande train.

axolotl train my_config.yml

Intégration de Transformers

Le ModelLoader d’Axolotl encapsule le flux de chargement de Transformers.

  • La configuration du modèle est construite à partir de AutoConfig.from_pretrained(). La configuration de préchargement définit la device map, la quantization config et le attention backend.

  • ModelLoader sélectionne automatiquement la classe AutoModel appropriée (AutoModelForCausalLM, AutoModelForImageTextToText, AutoModelForSequenceClassification) ou une classe spécifique au modèle issue de la correspondance multimodale. Les poids sont chargés via from_pretrained du chargeur sélectionné. Lorsque reinit_weights est défini, Axolotl utilise from_config pour une initialisation aléatoire.

  • Axolotl utilise Transformers, PEFT et bitsandbytes pour appliquer les adaptateurs après l’initialisation du modèle lorsque des techniques basées sur PEFT, telles que LoRA et QLoRA, sont activées. Un gestionnaire de correctifs applique des optimisations supplémentaires avant et après le chargement du modèle.

  • AxolotlTrainer étend Trainer en ajoutant les mixins Axolotl tout en utilisant la boucle d’entraînement et les API de Trainer.

Ressources

Update on GitHub