For the complete documentation index, see llms.txt. This page is also available as Markdown.

Axolotl universelles Fine-Tuning

YAML-gesteuerte LLM-Feinabstimmung mit Axolotl auf Clore.ai — LoRA, QLoRA, DPO, Multi-GPU

Axolotl bündelt HuggingFace Transformers, PEFT, TRL und DeepSpeed in einer einzigen YAML-gesteuerten Oberfläche. Sie definieren Ihr Modell, Ihren Datensatz, die Trainingsmethode und die Hyperparameter in einer Konfigurationsdatei — und starten dann mit einem einzigen Befehl. Für Standard-Workflows ist kein Python-Scripting erforderlich.

Hauptfunktionen

  • Nur-YAML-Konfiguration — alles in einer Datei definieren, kein Python nötig

  • Alle Trainingsmethoden — LoRA, QLoRA, vollständiges Fine-Tuning, DPO, ORPO, KTO, RLHF

  • Multi-GPU direkt integriert — DeepSpeed ZeRO 1/2/3 und FSDP mit einem Flag

  • Sample Packing — kurze Beispiele verketten, um die Sequenzlänge auszufüllen, 3–5× höherer Durchsatz

  • Flash Attention 2 — automatische VRAM-Einsparung auf unterstützter Hardware

  • Breite Modellunterstützung — Llama 3.x, Mistral, Qwen 2.5, Gemma 2, Phi-4, DeepSeek, Falcon

  • Integrierte Datensatzformate — alpaca, sharegpt, chat_template, completion und benutzerdefiniert

Anforderungen

Komponente
Minimum
Empfohlen

GPU

RTX 3060 12 GB

RTX 4090 24 GB (×2+)

VRAM

12 GB

24+ GB

RAM

16 GB

64 GB

Festplatte

50 GB

100 GB

CUDA

12.8+

12.8+

Python

3.10

3.11

Clore.ai-Preise: RTX 4090 ≈ 0,14–0,42 $/Std. · RTX 3090 ≈ 0,07–0,21 $/Std. · RTX 3060 ≈ 0,03–0,07 $/Std.

Schnellstart

1. Axolotl installieren

Oder verwenden Sie das Docker-Image (empfohlen für Reproduzierbarkeit):

2. Eine Konfigurationsdatei erstellen

Speichern Sie dies als config.yml:

3. Training starten

Trainingsfortschritt wird in stdout und optional in Weights & Biases protokolliert.

Detaillierter Konfigurationsüberblick

Datensatzformate

Axolotl unterstützt mehrere Eingabeformate nativ:

Multi-GPU mit DeepSpeed

Erstelle deepspeed_zero2.json:

Zu Ihrer Konfiguration hinzufügen:

Dann starten:

DPO / ORPO-Ausrichtung

Vollständiges Fine-Tuning (kein LoRA)

Anwendungsbeispiele

Inference nach dem Training

LoRA in das Basismodell zusammenführen

Datensatz vorverarbeiten (vor dem Training validieren)

Dies tokenisiert und validiert den Datensatz. Nützlich, um Formatfehler vor einem langen Trainingslauf zu erkennen.

Referenz zur VRAM-Nutzung

Modell
Methode
GPUs
VRAM/GPU
Konfiguration

Llama 3.1 8B

QLoRA 4bit

1

~12 GB

r=32, seq_len=2048

Llama 3.1 8B

LoRA 16bit

1

~20 GB

r=16, seq_len=2048

Llama 3.1 8B

Vollständig

2

~22 GB

DeepSpeed ZeRO-3

Qwen 2.5 14B

QLoRA 4bit

1

~16 GB

r=16, seq_len=2048

Llama 3.3 70B

QLoRA 4bit

2

~22 GB

r=16, seq_len=2048

Llama 3.3 70B

Vollständig

4

~40 GB

DeepSpeed ZeRO-3+Offload

Tipps

  • Immer aktivieren sample_packing: true — die größte einzelne Verbesserung des Durchsatzes (3–5× bei kurzen Datensätzen)

  • Verwende flash_attention: true auf Ampere+-GPUs für 20–40 % VRAM-Einsparung

  • Mit QLoRA beginnen für Experimente; erst auf vollständiges Fine-Tuning umstellen, wenn die LoRA-Qualität stagniert

  • Setze val_set_size: 0.02 um Überanpassung während des Trainings zu überwachen

  • Zuerst vorverarbeiten — ausführen axolotl.cli.preprocess um die Datenformatierung vor einem langen Lauf zu validieren

  • Verwenden Sie das Docker-Image für reproduzierbare Umgebungen — vermeidet Abhängigkeitskonflikte

  • lora_target_linear: true wendet LoRA auf alle linearen Schichten an, in der Regel besser als nur die Aufmerksamkeitsschichten zu adressieren

Fehlerbehebung

Problem
Lösung

OutOfMemoryError

Niedriger micro_batch_size auf 1 setzen, aktivieren gradient_checkpointing

Fehler im Datensatzformat

Ausführen python -m axolotl.cli.preprocess config.yml zum Debuggen

sample_packing langsam in der ersten Epoche

Normal — die anfängliche Packing-Berechnung ist einmalig

Multi-GPU-Training hängt

NCCL prüfen: export NCCL_DEBUG=INFO, sicherstellen, dass alle GPUs sichtbar sind

flash_attention Importfehler

Installieren: pip install flash-attn --no-build-isolation

Loss nimmt nicht ab

LR auf 1e-4 senken, Warmup erhöhen, Datenqualität prüfen

WandB-Verbindungsfehler

Ausführen wandb login oder setzen wandb_project: auf leeren String

Ressourcen

Zuletzt aktualisiert

War das hilfreich?