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
- 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
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.
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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. |
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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. |
{
"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
autoauflö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.
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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. |
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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.
|
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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.
|
{
"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.
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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.
|
| Feld oder Schnittstelle | Typ oder Ergebnis | Standardwert oder Exitcode | Verhalten 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.
|
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.