LoRA und QLoRA für kostengünstiges Tuning
Trainieren Sie nur Low-Rank-Adapter auf einer quantisierten Basis — damit passt ein Fine-Tuning von 70B auf eine einzelne GPU.
LoRA und QLoRA für kostengünstiges Tuning ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Warum PEFT?
Vollständiges Fine-Tuning von Llama 70B benötigt mehr als 8 H100 und aktualisiert 70 Milliarden Parameter. PEFT (Parameter-Efficient Fine-Tuning) aktualisiert weniger als 1 % der Parameter bei vergleichbarer Qualität. Das spart massiv Kosten.
LoRA: Low-Rank Adaptation
LoRA (Hu et al. 2021) trainiert winzige „Adapter“-Matrizen neben eingefrorenen Basisgewichten:
- Fügen Sie A-x-B-Matrizen hinzu, wobei A dxr und B rxd ist und r klein ist (8, 16, 64)
- Vorwärtsdurchlauf: y = Wx + (BA)x
- Trainieren Sie nur A und B – dadurch gibt es Größenordnungen weniger Parameter
QLoRA: Quantisiertes LoRA
QLoRA (Dettmers et al. 2023) senkt die Kosten weiter, indem das Basismodell während des Trainings auf 4 Bit quantisiert wird:
- Basismodell in NF4 (4 Bit)
- LoRA-Adapter mit höherer Genauigkeit
- Ermöglicht Fine-Tuning eines 70B-Modells auf einer einzelnen A100/H100
Setup with peft + transformers
# pip install peft transformers bitsandbytes
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
'meta-llama/Llama-3.1-8B-Instruct',
load_in_4bit=True, # QLoRA
device_map='auto'
)
lora_config = LoraConfig(
r=16, # rank
lora_alpha=32,
target_modules=['q_proj', 'v_proj'],
lora_dropout=0.05,
bias='none'
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# trainable params: ~0.5% of totalTraining Loop with TRL
from trl import SFTTrainer
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
tokenizer=tokenizer,
args=TrainingArguments(
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
learning_rate=2e-4,
num_train_epochs=3,
output_dir='./lora-out'
)
)
trainer.train()
model.save_pretrained('./adapter')Unsloth verwenden
Unsloth ist die schnellste LoRA-Bibliothek – 2-mal schneller als das herkömmliche peft. Drop-in-API:
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name='meta-llama/Llama-3.1-8B-Instruct',
load_in_4bit=True
)
model = FastLanguageModel.get_peft_model(
model,
r=16,
target_modules=['q_proj', 'k_proj', 'v_proj', 'o_proj', 'gate_proj', 'up_proj', 'down_proj']
)Kostenschätzung
QLoRA auf Llama 3.1 8B mit 10k Beispielen:
- etwa 4 Stunden auf einer einzelnen H100
- etwa 5–10 $ an Cloud-GPU-Kosten
- Adapterdatei: 100–300 MB
Rang r wählen
- r = 8 – minimal, für Format-/Stiländerungen
- r = 16–32 – für die meisten Fälle
- r = 64+ – für deutlich neues Verhalten und mehr Kapazität
Zielmodule
Verwenden Sie standardmäßig die Aufmerksamkeitsprojektionen (q, v). Für mehr Kapazität beziehen Sie alle linearen Schichten ein – das verbessert die Qualität, erhöht aber die Anzahl der Parameter.
Wichtige Hyperparameter
- Lernrate – 1e-4 bis 5e-4 sind üblich
- Epochen – 2–5 für SFT
- Batch-Größe – hängt vom VRAM ab; verwenden Sie Gradientenakkumulation, um größere Batches zu simulieren
Adapter in das Basismodell integrieren
Für die Inferenz können Sie das LoRA wieder in die Basisgewichte mergen:
merged = model.merge_and_unload()
merged.save_pretrained('./full-model')Mehrere LoRAs bereitstellen
vLLM unterstützt das Hot-Swapping von LoRAs zur Inferenzzeit. Das ist nützlich für kundenspezifische Fine-Tunings auf einer gemeinsam genutzten Basis:
llm = LLM(model='base', enable_lora=True, max_lora_rank=64)
response = llm.generate(prompt, lora_request=LoRARequest('customer-a', 1, './customer-a-adapter'))Adapter evaluieren
Führen Sie immer IHRE Evaluation auf dem getunten Modell durch. Manchmal ist das Fine-Tuning bei Randfällen schlechter – gehen Sie ehrlich mit Regressionen um.
Vorteil von LoRA
Was ist der wichtigste praktische Vorteil von LoRA gegenüber vollständigem Fine-Tuning?
Zusammenfassung
LoRA + QLoRA ermöglichen kosteneffizientes Fine-Tuning. Unsloth für Geschwindigkeit, peft/TRL für viele Einsatzmöglichkeiten. Rang 16–32 für die meisten Fälle. Evaluieren Sie anhand Ihres Gold-Sets.
Häufig gestellte Fragen
Ist die Lektion „LoRA und QLoRA für kostengünstiges Tuning“ kostenlos?
Ja — der vollständige Text von „LoRA und QLoRA für kostengünstiges Tuning“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „LoRA und QLoRA für kostengünstiges Tuning“?
Trainieren Sie nur Low-Rank-Adapter auf einer quantisierten Basis — damit passt ein Fine-Tuning von 70B auf eine einzelne GPU. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „LoRA und QLoRA für kostengünstiges Tuning“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Wann Fine-Tuning besser ist als Prompting
- Datensammlung: Trajektorien und Trace-Replay
- LoRA und QLoRA für kostengünstiges Tuning
- Getunte Modelle mit dem Basismodell vergleichen