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.
Alle Beispiele laufen auf GPU-Servern, die über die CLORE.AI-Marktplatz.
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
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
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: trueauf Ampere+-GPUs für 20–40 % VRAM-EinsparungMit QLoRA beginnen für Experimente; erst auf vollständiges Fine-Tuning umstellen, wenn die LoRA-Qualität stagniert
Setze
val_set_size: 0.02um Überanpassung während des Trainings zu überwachenZuerst vorverarbeiten — ausführen
axolotl.cli.preprocessum die Datenformatierung vor einem langen Lauf zu validierenVerwenden Sie das Docker-Image für reproduzierbare Umgebungen — vermeidet Abhängigkeitskonflikte
lora_target_linear: truewendet LoRA auf alle linearen Schichten an, in der Regel besser als nur die Aufmerksamkeitsschichten zu adressieren
Fehlerbehebung
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?