Fine-Tuning
Fine-Tuning bezeichnet das weitere Training eines vortrainierten Sprachmodells auf einem spezifischen, kleineren Datensatz, um es für eine bestimmte Aufgabe oder Domäne zu optimieren.
Fine-Tuning
Beim Fine-Tuning wird ein bereits vortrainiertes Modell (z. B. LLaMA, Mistral oder GPT) mit einem domänenspezifischen Datensatz weitertrainiert. Statt das Modell von Grund auf neu zu trainieren (was enorme Rechenressourcen erfordert), passt man die vorhandenen Gewichte gezielt an – deutlich effizienter und kostengünstiger.
Wann ist Fine-Tuning sinnvoll?
- Konsistenter Stil oder Ton: z. B. für Kundensupport-Bots mit spezifischer Markensprache
- Domänenwissen: Medizin, Recht, Code in proprietären Frameworks
- Strukturierter Output: wenn das Modell immer JSON oder ein bestimmtes Format liefern soll
- Kosten/Latenz: Ein kleineres, feingetuntes Modell kann ein großes Modell mit aufwändigem Prompt-Engineering ersetzen
Full Fine-Tuning vs. Parameter-Efficient Fine-Tuning (PEFT)
| Methode | Beschreibung | Ressourcen |
|---|---|---|
| Full Fine-Tuning | Alle Modellgewichte werden angepasst | Sehr hoch |
| LoRA | Nur kleine Adapter-Matrizen werden trainiert | Gering |
| QLoRA | LoRA + quantisiertes Basismodell | Sehr gering |
Praxisbeispiel mit Hugging Face
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments
from trl import SFTTrainer
import datasets
# Modell und Tokenizer laden
model_id = "mistralai/Mistral-7B-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, load_in_4bit=True)
# Eigener Datensatz (Chat-Format)
dataset = datasets.load_dataset("json", data_files="meine_daten.jsonl")["train"]
# Training konfigurieren
training_args = TrainingArguments(
output_dir="./finetuned-model",
num_train_epochs=3,
per_device_train_batch_size=4,
learning_rate=2e-4,
)
# SFT Trainer (Supervised Fine-Tuning)
trainer = SFTTrainer(
model=model,
tokenizer=tokenizer,
train_dataset=dataset,
dataset_text_field="text",
args=training_args,
)
trainer.train()
Typische Fallstricke
- Overfitting: Zu wenig oder zu homogene Trainingsdaten führen dazu, dass das Modell auswendig lernt statt zu generalisieren
- Catastrophic Forgetting: Das Modell verliert allgemeines Wissen, wenn zu aggressiv trainiert wird
- Datenmenge: Als Faustregel gelten mindestens 500–1000 hochwertige Beispiele für erste Ergebnisse
- Datenqualität schlägt Datenmenge: Lieber 500 saubere als 5000 fehlerhafte Beispiele
Fine-Tuning vs. RAG
Fine-Tuning und RAG lösen unterschiedliche Probleme: Fine-Tuning eignet sich für Stil, Format und implizites Domänenwissen, während RAG besser für aktuelles oder häufig wechselndes Faktenwissen geeignet ist. Oft kombiniert man beide Ansätze.
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.