Du bittest ChatGPT, „mit deiner Stimme“ zu schreiben, und es liefert drei generische Absätze. Du klebst ihm einen 800-Wörter-Prompt mit Beispielen und Regeln hin, und bei der vierten Antwort hat es die Hälfte vergessen. Das Problem ist nicht, dass das Modell schlecht wäre. Es ist, dass du von der Form etwas verlangst, das sich in den Gewichten löst.
Genau das ist Fine-Tuning: dem Modell nicht mehr in jedem Prompt zu erklären, wie es reden soll, sondern es ihm ein für alle Mal beizubringen, indem du es mit Beispielen deines Stils trainierst, bis die Stimme von selbst kommt. Es ist das richtige Werkzeug, um eine eigene KI-Persönlichkeit zu bauen. Und 2026 brauchst du dafür weder einen Cluster noch ein Studium: Es passt auf eine einzige GPU. Bauen wir es auf, ohne Nebel.
Achtung
Bevor du weiterliest: Wenn du Prompt Engineering und RAG nicht bis zum Anschlag ausgereizt hast, brauchst du fast sicher noch kein Fine-Tuning. Die richtige Reihenfolge ist Prompting → RAG → Fine-Tuning. Dieser Leitfaden ist für den Moment, in dem die ersten beiden zu kurz greifen, nicht dafür, sie zu überspringen.
Was Fine-Tuning ist (und wann JA und wann NEIN)
Ein Basismodell wie Llama oder Qwen kommt bereits mit dem halben Internet vortrainiert. Fine-Tuning fängt nicht bei null an: Es nimmt dieses Modell und trainiert es mit deinen Beispielen weiter, um es auf ein bestimmtes Verhalten auszurichten. Das ist keine Magie, das ist Gewichte justieren.
Der Kerngedanke, den dir fast niemand klar sagt: Fine-Tuning ist für die FORM, nicht für die Daten. Es ändert, wie etwas klingt, wie die Ausgabe strukturiert ist und welches Vokabular verwendet wird. Es taugt nicht dazu, ihm Informationen einzuspeisen, die sich jede Woche ändern — das rutscht in eine Wissenslücke, die Fine-Tuning schlecht abdeckt.
Die Spitzenmodelle von 2026 scheitern weiterhin an drei Dingen, die Fine-Tuning an der Wurzel löst:
- Exaktes Ausgabeschema: dass es immer dasselbe JSON, dasselbe Format zurückgibt, ohne abzuweichen.
- Enges Domänenvokabular: der Jargon deiner Branche, deine Begriffe, deine Konventionen.
- Markenstimme: dieser konkrete Ton, der sich mit Prompts von Antwort zu Antwort verwässert.
Genau der dritte Punkt ist das Herzstück einer KI-Persönlichkeit. Eine konsistente Stimme hält nicht durch immer längere Prompts; sie wird einmal antrainiert und bleibt.
Wann es sich lohnt:
- Du hast eine stabile Aufgabe mit vorhersehbarer Ausgabe (ein Ton, ein Format).
- Du hast Prompting und RAG probiert und das Modell ist stehen geblieben.
- Du hast (oder kannst) über 500 gute, kohärente Beispiele sammeln.
Wann NICHT:
- Du brauchst, dass das Modell konkrete, aktuelle Fakten kennt → das ist RAG.
- Dein Fall ändert sich ständig → jede Woche neu trainieren skaliert nicht.
- Du hast noch keinen guten Prompt gründlich getestet → fang damit an, er ist gratis und umkehrbar.
Der Fine-Tuning-Prozess auf einen Blick
Vor dem Code die Landkarte. Das sind die sechs Schritte, die du immer durchläufst, egal mit welchem Werkzeug:
Pipeline zum Fine-Tuning einer KI-Persönlichkeit
Daten sammeln
Du sammelst echte Beispiele deiner Stimme: Frage-Antwort-Paare, Nachrichten, eigene Texte. Hier gewinnt oder verliert man das Ergebnis.
Dataset formatieren
Du wandelst diese Beispiele in JSONL mit Chat-Struktur um (system / user / assistant). Das ist das Standardformat, das alle Werkzeuge verstehen.
Methode wählen (LoRA)
Du entscheidest, wie du trainierst. Für fast alle: QLoRA, das das Modell quantisiert und einen leichten Adapter auf einer einzigen GPU trainiert.
Trainieren
Du startest das Training auf einem Basismodell (Llama, Qwen). Du berührst weniger als 1 % der Gewichte; es dauert meist von Minuten bis wenige Stunden.
Evaluieren
Du testest das Modell mit Fällen, die NICHT im Dataset waren. Klingt es wie du? Hält es das Format? Wenn nicht, justierst du Daten oder Hyperparameter.
Ausrollen
Du fusionierst den Adapter, exportierst nach GGUF und lässt es lokal mit Ollama laufen oder servierst es per API. Deine Persönlichkeit lebt nun in den Gewichten.
Beachte: Trainieren ist nur einer von sechs Schritten, und nicht einmal der wichtigste. Die Schritte 1 und 2 — die Daten — entscheiden 80 % des Ergebnisses. Wir werden es bis zum Überdruss wiederholen.
Schritt für Schritt mit Code (Python + Unsloth)
Wir nutzen Unsloth, das 2026 der schnellste Weg ist, auf einer einzigen GPU zu trainieren: Seine optimierten Kernel senken den Speicherverbrauch um bis zu 74 % und beschleunigen das Training um das 2- bis 5-Fache gegenüber Hugging Face Transformers pur. Es läuft auf der kostenlosen GPU von Google Colab. Wenn du lieber Pipelines per YAML-Config ohne Python-Code hast, macht Axolotl dasselbe mit einer Konfigurationsdatei; und darunter stützen sich beide auf das Hugging-Face-Ökosystem.
1. Die Umgebung installieren
pip install unsloth
pip install --no-deps trl peft accelerate bitsandbytes2. Das Basismodell in 4 Bit laden (QLoRA)
Wir laden ein kleines, auf 4 Bit quantisiertes Basismodell, damit es in wenig VRAM passt, und stecken die LoRA-Adapter dran.
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "unsloth/Meta-Llama-3.1-8B-Instruct",
max_seq_length = 2048,
load_in_4bit = True, # QLoRA: quantisiert das Basismodell auf 4 Bit
)
model = FastLanguageModel.get_peft_model(
model,
r = 16, # Rang des LoRA-Adapters (8-64 ist üblich)
lora_alpha = 16,
target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
"gate_proj", "up_proj", "down_proj"],
)3. Trainieren
Mit dem bereits formatierten Dataset (das sehen wir im nächsten Abschnitt) ist das Training Standard. Wenige Epochen: Mit sauberen Daten reichen 1 bis 3 Durchläufe, und Übertrainieren ist ein echtes Risiko.
from trl import SFTTrainer
from transformers import TrainingArguments
trainer = SFTTrainer(
model = model,
tokenizer = tokenizer,
train_dataset = dataset, # dein formatiertes JSONL
dataset_text_field = "text",
max_seq_length = 2048,
args = TrainingArguments(
per_device_train_batch_size = 2,
gradient_accumulation_steps = 4,
num_train_epochs = 2,
learning_rate = 2e-4,
output_dir = "outputs",
),
)
trainer.train()4. Inferieren und exportieren
Du testest die frisch trainierte Persönlichkeit und exportierst sie, wenn sie überzeugt, nach GGUF, um sie lokal mit Ollama laufen zu lassen.
FastLanguageModel.for_inference(model)
inputs = tokenizer(["Was hältst du vom KI-Hype?"], return_tensors="pt").to("cuda")
print(tokenizer.decode(model.generate(**inputs, max_new_tokens=128)[0]))
# Für Ollama / llama.cpp exportieren
model.save_pretrained_gguf("meine-persoenlichkeit", tokenizer, quantization_method="q4_k_m")Die Daten: das Dataset, das deine Persönlichkeit definiert
Hier steckt die eigentliche Arbeit. Das Standardformat 2026 für überwachtes Fine-Tuning (SFT) ist JSONL mit einem messages-Array im ChatML-Stil: Jede Zeile ist eine Konversation. Es funktioniert direkt in Unsloth, Axolotl und TRL ohne seltsame Umwandlungen.
{"messages": [
{"role": "system", "content": "Du bist Blackdark: direkt, praktisch, gegen jeden Nebel. Kein Füllmaterial."},
{"role": "user", "content": "Lohnt es sich, ChatGPT Plus zu zahlen?"},
{"role": "assistant", "content": "Kommt darauf an, wie viel du es wirklich nutzt. Wenn du die App zweimal die Woche öffnest, nein. Wenn du es täglich zum Arbeiten brauchst, haben sich die 20 im Monat am ersten Tag amortisiert. Was nichts taugt, ist, es für alle Fälle zu zahlen."}
]}Die Regeln, die im Dataset wirklich zählen:
- Konsistenz der Stimme: Jede
assistant-Antwort muss wie die Persönlichkeit klingen, die du willst. Ein einziges Beispiel außer der Reihe verschmutzt das Lernen. - Das
systemlegt die Figur fest: Nutze es in allen Beispielen gleich. Es ist der Anker der Identität. - Qualität > Quantität: Für Ton und Stil bringen 500 bis 2.000 kuratierte Beispiele mehr als 50.000 verrauschte. Unter rund 100 Zeilen versuche es gar nicht erst.
- Vielfalt der Situationen: Deck verschiedene Fragetypen ab, damit die Stimme über die gesehenen Beispiele hinaus hält.
Tipp
Trick, um schnell Daten zu sammeln, ohne Tausende Zeilen von Hand zu erfinden: Nimm deine echten Texte (Posts, Antworten, Nachrichten) und nutze sie als assistant-Antworten, während du die user-Fragen mit einem großen Modell generierst. Danach prüfst du jedes Paar von Hand. Die menschliche Prüfung ist nicht optional: Genau dort wird die Persönlichkeit geschmiedet.
Kosten und Werkzeuge, ohne Überraschungen
Die gute Nachricht: Für ein 7-8-B-Modell mit QLoRA ist das Rechnen fast gratis. Es passt in etwa 8 GB VRAM, also trainierst du auf der kostenlosen GPU von Colab oder mietest für ein paar Stunden eine Cloud-GPU. Der eigentliche Aufwand liegt nicht im Training, sondern im Aufbereiten des Datasets: Dort geht die Zeit hin.
Die drei Werkzeuge, die 2026 den Ton angeben:
- Unsloth — die Wahl, wenn du auf einer einzigen GPU fährst und dir Geschwindigkeit wichtig ist. Optimierte Kernel, weniger Speicher, schneller. Das, was wir hier genutzt haben.
- Axolotl — Pipelines, in einem YAML definiert. Du wählst Modell, Dataset, Methode und Hyperparameter in einer Datei und startest mit einem Befehl, ohne Python zu schreiben. Ideal für wiederholbare Abläufe.
- Hugging Face (Transformers + PEFT + TRL) — die Basis, auf der die beiden vorigen aufbauen. Mehr Kontrolle, mehr Reibung.
Zur Methode: LoRA trainiert nur 0,1 bis 1 % der Parameter mit einer Qualität nahe am kompletten Neutraining des Modells. QLoRA ergänzt die 4-Bit-Quantisierung und erreicht rund 90 % der Qualität eines vollständigen Fine-Tunings, zu deutlich geringeren Hardwarekosten. Um zu Hause eine Persönlichkeit zu bauen, ist QLoRA der Sweet Spot.
Typische Fehler, die das Ergebnis ruinieren
- Daten per Fine-Tuning einspeisen wollen. Fehler Nr. 1. Wenn du brauchst, dass das Modell aktuelle Fakten kennt, ist das RAG, nicht Fine-Tuning. Beide Konzepte zu vermischen führt zu Modellen, die selbstbewusst halluzinieren.
- Schmutziges oder inkonsistentes Dataset. Beispiele außer Ton, uneinheitliche Formate, mittelmäßige Antworten. Das Modell lernt genau das, was du ihm gibst, inklusive Fehler.
- Übertrainieren. Zu viele Epochen und das Modell merkt sich das Dataset, statt deine Stimme zu verallgemeinern. Fang mit 1 bis 3 Durchläufen an und miss.
- Nicht mit neuen Fällen evaluieren. Wenn du nur mit Beispielen testest, die im Training waren, betrügst du dich selbst. Evaluier mit Fragen, die das Modell nie gesehen hat.
- Prompting und RAG überspringen. Wenn du das Billige und Umkehrbare nicht ausgeschöpft hast, löst du mit Fine-Tuning etwas, das ein guter Prompt in fünf Minuten erledigt hätte.
Vorteile
- Du eine konsistente STIMME oder einen Stil willst, den Prompts nicht halten können.
- Du ein exaktes, wiederholbares Ausgabeformat brauchst (immer dasselbe Schema).
- Du mit Domänenvokabular arbeitest, das das Basismodell nicht beherrscht.
- Das Verhalten stabil ist und sich nicht jede Woche ändert.
- Du Latenz und Kosten pro Anfrage gegenüber riesigen Prompts senken willst.
Nachteile
- Du brauchst, dass das Modell konkrete, aktuelle Fakten kennt → nutze RAG.
- Du hast noch keinen guten System-Prompt getestet → fang mit Prompting an, es ist gratis.
- Dein Fall ändert sich ständig → neu trainieren skaliert nicht, besser RAG.
- Du hast keine Hunderte guter Beispiele und kannst sie nicht sammeln → es fehlen Daten.
- Du willst es nur für einen einmaligen Test → der Aufbau lohnt sich nicht.
Für wen ist Fine-Tuning?
Es ist nicht für jeden, und das ist gut so.
Es lohnt sich für dich, wenn: du ein Produkt oder einen Agenten mit eigener Markenpersönlichkeit baust und brauchst, dass die Stimme in jeder Antwort identisch ist; du ein Ausgabeformat hast, das das Basismodell nicht auf Anhieb einhält; du in einer Domäne mit eigenem Jargon arbeitest; oder du die Kosten pro Anfrage gegenüber riesigen Prompts senken willst, die du tausendmal am Tag wiederholst.
Es lohnt sich nicht, wenn: dein Problem eines des Wissens und nicht der Form ist (da hat RAG das Sagen); du noch keinen guten System-Prompt ausgereizt hast; oder dein Fall so einmalig ist, dass der Aufbau der Pipeline mehr kostet als der Nutzen.
Die ehrliche Frage ist nicht „mache ich Fine-Tuning?“, sondern „fehlt mir die Form oder fehlen mir die Daten?“. Wenn es die Form ist — der Ton, die Stimme, das Format —, ist Fine-Tuning das richtige Werkzeug und mit QLoRA und einem sauberen Dataset in Reichweite einer einzigen GPU. Wenn es die Daten sind, spar dir das Training und bau ein RAG. Und wenn du es noch nicht weißt, geh zurück zum Prompt: Fast immer lag die Antwort dort.
