Transformers documentation
Axolotl
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-5Lancez 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.
ModelLoadersé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 viafrom_pretraineddu chargeur sélectionné. Lorsquereinit_weightsest défini, Axolotl utilisefrom_configpour 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
- Documentation Axolotl