Post 3: Warum Fine-tuning? Wenn RAG und Prompting nicht reichen

Serie: Self-Hosted LLMs für Datensouveränität | Code: GitHub TL;DR – Für eilige Leser Die Ausgangslage: Dein LLM läuft (Post 2), aber das Verhalten ist inkonsistent. Prompting allein reicht nicht. Die drei Ansätze: Prompting: Flexibel, aber variable Ergebnisse RAG: Fügt Wissen hinzu, aber keine Verhaltensgarantien Fine-tuning: Brennt konsistentes Verhalten ein Wann Fine-tuning? Spezifische Output-Formate (JSON, strukturierte Daten) 100% Regeleinhaltung erforderlich Latenz-Optimierung durch kürzere Prompts Kleinere, spezialisierte Modelle statt große Generalisten Unser Ansatz: Instruction Fine-tuning mit QLoRA – ressourcenschonend und kombinierbar mit RAG. ...

January 21, 2025 · 9 min

Post 4: Dataset Engineering: Von Dokumenten zu Trainingsdaten

Serie: Self-Hosted LLMs für Datensouveränität | Code: GitHub Inhaltsverzeichnis Das Problem: Keine Daten, kein Training Die Pipeline im Überblick Was wir bauen: Ein Instruction Dataset für RAG-QA Schritt 1: Document Loading und Chunking Schritt 2: QA-Pair Generation mit GPT-4o-mini Schritt 3: Quality Control – Der unterschätzte Schritt Schritt 4: Dataset Generation - Vom QA-Pair zum Instruction Sample Schritt 5: Train/Val/Eval Split Lessons Learned Was wir beim nächsten Mal besser machen würden Code & Ressourcen Fazit Das Problem: Keine Daten, kein Training Die meisten Fine-tuning-Tutorials starten so: ...

January 28, 2025 · 21 min

Post 5: LoRA Training – 7B Model auf 16GB GPU

Serie: Self-Hosted LLMs für Datensouveränität | Code: GitHub Hinweis: Technische Begriffe in diesem Post werden beim ersten Auftreten kurz erklärt. Detaillierte Definitionen findest du im Glossar. TL;DR – Für eilige Leser Das Problem: Full Fine-tuning von Mistral-7B würde ~90GB VRAM benötigen (Model + Gradients + Optimizer States). Selbst mit Optimierungen (Mixed Precision, Gradient Checkpointing) kommst du nicht unter 50GB. Du hast nur 16GB. Die Lösung: QLoRA kombiniert 4-bit Quantization mit LoRA (Low-Rank Adaptation). Statt alle 7 Milliarden Parameter zu trainieren, trainierst du nur 6.8 Millionen zusätzliche Parameter — das sind 0.09% des Originals. ...

February 4, 2025 · 23 min

Post 5.3: Debugging Story – Das pad_token Problem

Serie: Self-Hosted LLMs für Datensouveränität | Code: GitHub Hinweis: Dieser Post ist ein Bonus-Kapitel zur Blog-Serie. Er dokumentiert eine echte Debugging-Journey und zeigt, dass nicht alles beim ersten Mal glatt läuft – selbst wenn die Metrics perfekt aussehen. TL;DR – Für eilige Leser Das Problem: Nach erfolgreichem Training (Loss 0.33, Validation Loss 0.33) generierte das Model endlos weiter statt nach der Antwort zu stoppen. Statt einer präzisen Antwort kam: “Answer… Question: … [/INST] Answer… Question: …” bis max_new_tokens erreicht war. ...

February 25, 2025 · 10 min