Plattform

Produkte

Private KI-Infrastruktur — von Compute bis Agenten.

Zielgruppen

Use Cases

Für Enterprise, KMU und private Entwickler.

Wissen & Support

Ressourcen

Alles, was du brauchst, um erfolgreich mit Mycelis zu arbeiten.

Guide · 12 Min Lesezeit

Fine-Tuning Guide

Was ist Fine-Tuning?

Beim Fine-Tuning passt du ein vortrainiertes Sprachmodell (z. B. Llama-3.1-8B) auf deine spezifischen Daten an. Das Modell lernt dabei:

  • Domänen-spezifisches Wissen (z. B. interne Prozesse, Fachterminologie)
  • Bestimmte Antwortformate oder -stile
  • Aufgaben, die für allgemeine Modelle zu spezifisch sind

Mycelis verwendet LoRA (Low-Rank Adaptation) — eine speichereffiziente Methode, bei der nur ein kleiner Adapter trainiert wird, nicht das komplette Modell.


Datenvorbereitung

Format

Fine-Tuning-Daten müssen als JSONL vorliegen. Jede Zeile ist ein separates Trainingsbeispiel im Chat-Format:

{"messages": [{"role": "user", "content": "Was ist unsere Rückgabepolitik?"}, {"role": "assistant", "content": "Unsere Rückgabepolitik erlaubt Retouren innerhalb von 30 Tagen..."}]}
{"messages": [{"role": "system", "content": "Du bist ein freundlicher Support-Agent."}, {"role": "user", "content": "Wie lange dauert die Lieferung?"}, {"role": "assistant", "content": "Standardlieferungen dauern 3–5 Werktage..."}]}

Empfehlungen

Aspekt Empfehlung
Mindestanzahl Beispiele 100 Paare (besser: 500+)
Maximale Beispiele 10.000 (mehr bringt meist wenig)
Qualität vs. Quantität Hochwertige, diverse Daten schlagen schlechte Massendaten
Gleichgewicht Ähnlich viele Beispiele pro Kategorie/Thema
Länge Konversationen unter 2.048 Token bevorzugen

Daten konvertieren

Wenn du Daten in einem anderen Format hast (CSV, Excel, plain Text), kannst du sie mit folgendem Python-Snippet konvertieren:

import json

with open("deine_daten.csv") as f_in, open("training.jsonl", "w") as f_out:
    for line in f_in:
        frage, antwort = line.strip().split(";")
        example = {
            "messages": [
                {"role": "user", "content": frage},
                {"role": "assistant", "content": antwort}
            ]
        }
        f_out.write(json.dumps(example, ensure_ascii=False) + "\n")

Training starten

Option A — Nur Training (TrainingWizard)

Das Modell wird trainiert und ist anschließend unter Dashboard → Fine-Tuning abrufbar.

  1. Gehe zu Dashboard → Fine-Tuning → Neues Training
  2. Wähle ein Basis-Modell (z. B. Llama-3.1-8B-Instruct)
  3. Lade deine JSONL-Datei hoch
  4. Konfiguriere Hyperparameter:
Parameter Empfehlung
Epochen 2–5 (mehr = overfitting-Risiko)
Learning Rate 2e-4 (gut für LoRA)
LoRA Rank 16–64 (höher = mehr Kapazität, mehr VRAM)
Batch Size 4–8
  1. Klicke Training starten

Option B — Training + Auto-Deploy (DeploymentWizard)

Das Modell wird nach dem Training automatisch deployed. Du musst nicht warten oder manuell eingreifen.

  1. Gehe zu Dashboard → Meine Modelle → Neues Deployment
  2. Wähle GPU-Instanz und dann Training starten
  3. Konfiguriere Training-Daten und Deployment-Einstellungen in einem Schritt
  4. Nach Abschluss des Trainings wird das Deployment automatisch provisioniert

Training überwachen

Unter Dashboard → Fine-Tuning siehst du den Status jedes Trainings:

  • Warteschlange — Job wartet auf freie GPU-Kapazität
  • Training läuft — Aktiver Trainingsvorgang
  • Abgeschlossen — Gewichte bereit zum Deployen
  • Fehlgeschlagen — Fehlermeldung einsehen und Daten/Parameter prüfen

Trainiertes Modell deployen

Wenn das Training abgeschlossen ist:

  1. Gehe zu Dashboard → Fine-Tuning
  2. Klicke auf das abgeschlossene Training → Als Deployment erstellen
  3. Das LoRA-Adapter-Gewicht wird automatisch geladen

Alternativ wähle beim Erstellen eines neuen GPU-Deployments unter ModellquelleTrainiertes Modell das gewünschte Training aus.


Häufige Probleme

Modell antwortet nicht wie erwartet

  • Zu wenige Trainingsbeispiele → mehr Daten hinzufügen
  • Zu viele Epochen → overfitting, Epochen reduzieren
  • Systemkontext fehlt → System-Prompts in JSONL-Daten aufnehmen

Training schlägt fehl

  • JSONL-Format prüfen: jede Zeile muss valides JSON sein
  • Token-Länge: einzelne Beispiele über 2.048 Token kürzen
  • Datei-Encoding: UTF-8 ohne BOM verwenden

Nächste Schritte