Zum Hauptinhalt springen
Kapitel des Trainingsleitfadens Alle Dokumentationen

Referenz zur TrainingProject-Konfiguration

Alle Projektfelder mit Standardwerten und Validierungsregeln für Modelle, Daten, Training, Budgets, Wiederherstellung und Evaluation.

Befehle und Code bleiben in allen Sprachen auf Englisch. Ersetzen Sie GROSSGESCHRIEBENE Platzhalter durch Werte Ihres eigenen Kontos und bezahlten Auftrags. Fügen Sie echte Schlüssel nicht in gemeinsam genutzte Notebooks oder Protokolle ein.

Von der Konfiguration zum reproduzierbaren Lauf

Alle Einstellungen vor kostenpflichtigen Aufrufen oder Gewichtsaktualisierungen auflösen und prüfen.
  1. Beschreiben Modell, Lehrmodell und Ziel
  2. Begrenzen Daten, Datenschutz und Budgets
  3. Validieren Kompatibilität von Adapter und Laufzeit
  4. Plan festschreiben Aufgelöste Einstellungen und Fingerprints
  5. Ausführen Nur das geprüfte Projekt

Beschreiben: Modell, Lehrmodell und Ziel. Begrenzen: Daten, Datenschutz und Budgets. Validieren: Kompatibilität von Adapter und Laufzeit. Plan festschreiben: Aufgelöste Einstellungen und Fingerprints. Ausführen: Nur das geprüfte Projekt

Projekt definieren und Daten schützen

Schema 1.0 beschreibt die Projektkonfiguration von SDK 0.2.0. Speichern Sie die Konfiguration für automatisches Training als training.json. Relative Pfade werden ausgehend vom Projektverzeichnis aufgelöst. Geben Sie die Referenz-ID aus Ihrem Anbieterplan an und speichern Sie den API-Schlüssel in der geheimen Prozessumgebung. Die Konfiguration wählt ein Teacher-Modell und ein unabhängig trainierbares Student-Modell aus; Teacher-Gewichte werden nicht heruntergeladen.

  • Unbekannte Schlüssel werden abgewiesen, statt stillschweigend ignoriert zu werden. Pfade müssen innerhalb des Projektverzeichnisses bleiben.
  • An das Teacher-Modell dürfen nur ausdrücklich freigegebene Trainingsquellen gesendet werden. Validierungs- und Abschlusstestdaten werden nie übermittelt.
  • Die Schema-Version 1.0 ist unabhängig von der Paketversion.
Projekt, Modell und Lehrmodell
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
schema_version string "1.0" Genau 1.0 verwenden. Andere Schemaversionen werden abgewiesen, bis sie ausdrücklich unterstützt werden.
mode enum Erforderlich / kein Standardwert Erforderlich: automatic oder advanced. Automatisches Training löst kompatible Standardwerte auf; erweitertes Training bietet explizite Steuerungsmöglichkeiten.
objective string Erforderlich / kein Standardwert Erforderliche Aufgabenbeschreibung mit 10 bis 4000 Zeichen. Zielgruppe, Fähigkeiten und erwartetes Ergebnis benennen.
model.path string Erforderlich / kein Standardwert Erforderlich: lokales Modellverzeichnis innerhalb des Projektverzeichnisses oder Repository-Kennung mit unveränderlicher Revision. Kein Inferenzendpunkt eines Teacher-Modells.
model.adapter string Erforderlich / kein Standardwert Erforderliche registrierte Adapter-ID. transformers-causal-lm wählt den Transformers-Adapter für kausale Sprachmodelle aus.
model.revision string | null null Lokale Modelle werden mit einem Fingerprint versehen. Repository-Kennungen benötigen eine unveränderliche Revision aus 40 oder 64 Zeichen.
teacher.provider string Erforderlich / kein Standardwert Erforderliche Provider-Kennung aus deinem aktiven kostenpflichtigen Tarif. Sie überträgt kein Modelleigentum.
teacher.reference_model_id integer Erforderlich / kein Standardwert Erforderliche positive Ganzzahl eines Modells aus dem betreffenden Provider-Tarif. Platzhalter müssen ersetzt werden.
Daten und Datenschutz
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
data.sources string[] [] Pfade zu lokalen JSONL-Trainingsquellen mit einem text-Feld. Bei Freigabe mit approved_only können Lektionen des Teacher-Modells diese ergänzen.
data.teacher_sharing enum "approved_only" approved_only erlaubt geprüfte Trainingsinhalte; none untersagt, Kundendaten an das Lehrmodell zu senden. Verborgene Evaluationsdaten sind immer ausgeschlossen.
data.validation_path string | null null Optionaler unabhängiger Validierungsdatensatz im JSONL-Format. Fehlt er, legt der geprüfte Plan vor dem Training eine deterministische Aufteilung fest.
data.test_path string Erforderlich / kein Standardwert Erforderliche unabhängige abschließende Testdatei. Sie wird niemals für die Vorbereitung durch das Lehrmodell oder die Optimierung verwendet.
data.deduplicate boolean true Doppelte und überlappende Beispiele zwischen den Aufteilungen entfernen. Ausschlüsse melden, ohne private Texte offenzulegen.
data.seed integer 42 Nichtnegative Ganzzahl für deterministische Aufteilung und reproduzierbare Initialisierung, sofern das Backend dies unterstützt.
Beispiel · json
{
  "schema_version": "1.0",
  "mode": "automatic",
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "data": {
    "sources": ["./data/train.jsonl"], "teacher_sharing": "none",
    "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl",
    "deduplicate": true, "seed": 42
  },
  "runtime": {"target": "customer_datacenter", "devices": "auto"},
  "training": {"method": "auto"},
  "curriculum": {"topics": ["intent", "ambiguous_requests", "class_balance"], "max_improvement_cycles": 3, "stop_on_regression": true},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "checkpoints": {"keep_last": 3},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-001", "format": "safetensors"}
}

Automatic- oder Advanced-Modus wählen

Automatic löst kompatible Einstellungen auf und hält sie im Plan fest. Advanced verlangt explizite Trainingseinstellungen und akzeptiert nur kompatible Kombinationen aus Architektur, Methode, Genauigkeit und Hardware. Standardwerte garantieren weder universelle Speicheranforderungen noch Leistung. Nicht unterstützte Kombinationen scheitern vor Gewichtsaktualisierungen an der Kompatibilitätsprüfung.

  • Trainingsmethoden sind SFT, LoRA und QLoRA; Automatic kann auch den Methodenwert auto auflösen.
  • Für DDP stellt der freigegebene Launcher Node-Ranks und Rendezvous-Einstellungen bereit. Multi-Node-Ausführung erfordert eine ausdrücklich eingerichtete, vertrauenswürdige torchrun-Umgebung.
  • Modellarchitektur, Tokenizer und Kontextgrenzen sind verbindlich. Der Adapter unterstützt nicht alle Modellfamilien.
Laufzeitumgebung und Bereitstellung
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
runtime.target enum Erforderlich / kein Standardwert Erforderlich: fusionpointai_hosting, customer_datacenter oder colab. Wählt eine vorhandene Laufzeit; kauft keine Hardware.
runtime.devices "auto" | integer[] "auto" auto wählt kompatible, freigegebene Geräte. Eine explizite Liste enthält eindeutige, nichtnegative Indizes sichtbarer GPUs.
runtime.distributed.backend enum "none" none für einen Prozess oder ddp mit einem unterstützten Adapter und freigegebenem Launcher für mehrere Worker.
runtime.distributed.nodes integer 1 Positive Ganzzahl. Werte über eins erfordern DDP, vereinbarten Node-Zugriff, Ranks und ein sicheres Rendezvous. Dieser Wert stellt keine Kapazität bereit.
Trainingseinstellungen
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
training.method enum "auto" Einer der Werte auto, SFT, LoRA oder QLoRA. Automatic löst auto auf; Advanced verwendet eine ausdrücklich angegebene unterstützte Methode.
training.epochs number | "auto" "auto" Positive endliche Zahl oder ausschließlich beim automatischen Training auto. Die effektive Schrittzahl ist zusätzlich durch freigegebene Zeit und Ressourcen begrenzt.
training.learning_rate number | "auto" "auto" Positive endliche Zahl kleiner als 1 oder ausschließlich beim automatischen Training auto. Adapter- und kommerzielle Vorgaben können engere Grenzen setzen.
training.batch_size integer | "auto" "auto" Positive Ganzzahl pro Gerät oder ausschließlich beim automatischen Training auto; die Speicherverträglichkeit wird vor der Ausführung geprüft.
training.gradient_accumulation_steps integer | "auto" "auto" Positive Ganzzahl oder ausschließlich beim automatischen Training auto. Die effektive Batch-Größe berücksichtigt Workerzahl und Akkumulation.
training.max_sequence_length integer | "auto" "auto" Positive Ganzzahl innerhalb der Tokenizer- und Modellgrenzen oder ausschließlich beim automatischen Training auto; der Modellkontext wird nie stillschweigend erweitert.
training.precision enum "auto" auto, fp32, fp16 oder bf16, sofern von Hardware und Backend unterstützt; beim erweiterten Training explizit festlegen.
training.lora.rank integer 16 Positive Adapter-Rangzahl. Wird nur für LoRA/QLoRA mit geeigneten Zielmodulen verwendet.
training.lora.alpha number 32 Positive endliche Adapter-Skalierung. Wird nur für LoRA/QLoRA verwendet.
training.lora.dropout number 0.05 Endlicher Wert von einschließlich 0 bis ausschließlich 1. Wird nur für LoRA/QLoRA verwendet.
training.lora.target_modules "auto" | string[] "auto" auto löst unterstützte Modulnamen im Plan auf; alternativ eine nichtleere Liste geeigneter Namen angeben.
Steuerung des Lernplans
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
curriculum.topics string[] [] Geordnete Themenliste. Ein leerer Wert lässt das automatische Training Voraussetzungen vorschlagen; beim erweiterten Training ist eine explizite, geprüfte Reihenfolge erforderlich.
curriculum.max_improvement_cycles integer 3 Positive Ganzzahl, höchstens 10. Bei Budgetgrenze, ausbleibendem Fortschritt oder Rückschritt früher abbrechen.
curriculum.stop_on_regression boolean true Bei true wird die Verbesserung bei einem im Bewertungsraster definierten Rückschritt angehalten. Bei false führt ein Rückschritt dennoch zum Scheitern der abschließenden Abnahme.
Beispiel · json
{
  "schema_version": "1.0",
  "mode": "advanced",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "data": {"sources": ["./data/train.jsonl"], "teacher_sharing": "none", "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl"},
  "runtime": {"target": "customer_datacenter", "devices": [0, 1], "distributed": {"backend": "ddp", "nodes": 1}},
  "training": {
    "method": "LoRA",
    "epochs": 3,
    "learning_rate": 0.0002,
    "batch_size": 1,
    "gradient_accumulation_steps": 16,
    "max_sequence_length": 2048,
    "precision": "bf16",
    "lora": {"rank": 16, "alpha": 32, "dropout": 0.05}
  },
  "curriculum": {
    "topics": ["intent", "ambiguous_requests", "class_balance"],
    "max_improvement_cycles": 3,
    "stop_on_regression": true
  },
  "checkpoints": {"every_steps": 100, "keep_last": 3, "resume_validation": "strict"},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-advanced-001", "format": "safetensors"}
}

Begrenzte Budgets und messbare Abnahmekriterien festlegen

Für jedes Projekt gelten ausdrücklich festgelegte Zeit-, Lehrmodell-Anfrage- und Speicherbudgets. Beim ersten überschrittenen Budget, fehlgeschlagenen Integritätscheck, Rückschritt oder ausbleibenden Fortschritt wird gestoppt. Gültige Wiederherstellungsdaten werden gespeichert und nicht erfüllte Kriterien erläutert. Ein Bewertungsraster definiert unabhängige Abnahmetests; ein Beispielwert belegt kein erreichtes Ergebnis.

  • Das Beispielraster verwendet eine normalisierte Skala von 0 bis 1 und separate Pflichtkriterien. Alle Pflichtkriterien müssen erfüllt sein.
  • Änderungen an Daten, Modell, Evaluation, Topologie oder Budgets erfordern einen neu geprüften Plan, nicht das Erzwingen einer unpassenden Fortsetzung.
  • Exporte enthalten validierte Modell- oder Adapterdateien, den Tokenizer und Manifeste, jedoch keine Zugangsdaten, sachfremden Cache-Daten oder ungeprüften Modellcode.
Budgets, Wiederherstellung und Ausgabe
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
budgets.max_training_minutes number Erforderlich / kein Standardwert Erforderliches positives, endliches Ausführungsbudget in Minuten, einschließlich Vorbereitungs- und Evaluationszeit ab Laufbeginn.
budgets.max_teacher_requests integer Erforderlich / kein Standardwert Erforderliche positive Ganzzahl; Vorbereitungs-, Prüf- und Wiederholungsanfragen mitzählen. Vor einer Überschreitung sicher abbrechen.
budgets.max_storage_gib number Erforderlich / kein Standardwert Erforderliches positives, endliches Speicherbudget in GiB für eigene Daten, Checkpoints und Artefakte. Niemals fremde Dateien löschen.
checkpoints.every_steps integer 100 Positives Ganzzahlintervall für Checkpoints. Bei erfolgreicher Pause zusätzlich einen gültigen atomaren Checkpoint speichern.
checkpoints.keep_last integer 3 Ganzzahl von 1 bis 5. Veraltete eigene Checkpoints erst löschen, nachdem ein neuerer validiert wurde.
checkpoints.resume_validation enum "strict" Nur strict. Bei geänderten Fingerprints von Modell, Daten, Konfiguration, Evaluator oder verteilter Topologie ablehnen.
evaluation.rubric string Erforderlich / kein Standardwert Erforderlicher Pfad zu einem gültigen Bewertungsraster mit festgelegten Evaluatoren und messbaren Pflichtkriterien.
evaluation.baseline_required boolean true Für diese Spezifikation ausschließlich true. Das unveränderte Basismodell vor Gewichtsaktualisierungen evaluieren.
output.directory string Erforderlich / kein Standardwert Erforderliches neues eigenes Laufverzeichnis. Vorhandene Läufe können geprüft oder fortgesetzt, durch run jedoch nie überschrieben werden.
output.format enum "safetensors" safetensors oder adapters, sofern unterstützt. Adapterexporte benötigen das festgelegte Basismodell und den Tokenizer.
Felder des Bewertungsrasters
Feld oder SchnittstelleTyp oder ErgebnisStandardwert oder ExitcodeVerhalten und Validierung
schema_version string "1.0" Bewertungsraster-Schema 1.0, unabhängig von der Paketversion.
name string Erforderlich / kein Standardwert Erforderlicher nichtleerer Name des Bewertungsrasters für Berichte.
scale.minimum number 0 Untere Grenze des normalisierten Werts: in diesem Schema 0.
scale.maximum number 1 Obere Grenze des normalisierten Werts: in diesem Schema 1.
criteria object[] Erforderlich / kein Standardwert Nichtleere Liste. Jedes Pflichtkriterium muss erfüllt sein; IDs müssen eindeutig sein.
criteria[].id string Erforderlich / kein Standardwert Erforderliche stabile Kriterienkennung, die in Berichten erhalten bleibt.
criteria[].description string | null null Optionaler Erläuterungstext. Eine Beschreibung ist kein semantischer Evaluator.
criteria[].metric string Erforderlich / kein Standardwert Erforderliche registrierte Metrik: exact_match, macro_f1, text_similarity, chrf oder ein registrierter eigener Scorer.
criteria[].minimum_score number Erforderlich / kein Standardwert Erforderlicher endlicher Schwellenwert zwischen 0 und 1. Ein Beispielwert ist kein zugesichertes Ergebnis.
regression.maximum_score_drop number 0.02 Zulässiger absoluter normalisierter Rückgang gegenüber dem unveränderten Ausgangswert, von 0 bis 1; Bewertung je erhaltener Fähigkeit.
final_test.path string Erforderlich / kein Standardwert Erforderlich; muss dieselbe unabhängige Datei wie data.test_path bezeichnen.
final_test.allow_training_use boolean false Ausschließlich false. Konfigurationen ablehnen, die Antworten aus zurückgehaltenen Tests für Training oder Lehrmodell-Eingaben zulassen.
Beispiel · text
SDK 0.2.0 CONFIGURATION RULES
Unknown fields, duplicate IDs, nonfinite numbers and unsafe paths are rejected.
All model, data, rubric and output paths must resolve inside the project root.
Automatic mode resolves "auto" once; save all resolved values in the plan manifest.
Advanced mode requires explicit method, epochs, learning_rate, batch_size,
gradient_accumulation_steps, max_sequence_length and precision.
SFT does not consume LoRA options. LoRA/QLoRA require a compatible adapter.
Model files and pinned revisions are verified within the project root.
Use the CLI for explicit GPU indexes; Python callers can set CUDA_VISIBLE_DEVICES
before starting Python and keep runtime.devices set to auto.
No automatic execution of untrusted model code, shell commands or plugins.
All three budgets must be finite, positive and explicitly supplied.
Storage includes owned checkpoints, datasets and artifacts, not unrelated files.
Held-out test data must not be sent to the teacher or used for weight updates.
CLI overrides are limited to the documented flags; never silently override a plan.
RUBRIC RULES
Every criterion requires a registered metric and minimum_score; descriptions are not semantic evaluators.
Built-in metrics: exact_match, macro_f1, text_similarity and chrf.
Custom deterministic scorers use register_evaluator(name, scorer, version="...").
Evaluator versions and scoring configuration are pinned in the plan.
0 <= minimum_score <= 1 for the example's normalized scale.
All required criteria must pass; do not average away a failed criterion.
The final_test.path must match data.test_path; allow_training_use must be false.
Scores and budgets in examples are requested settings, not measured results.