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.
TrainingProject-Ablauf
- Projekt Modell, Ziel und Datenrichtlinie
- Plan Kompatibilität, Lehrplan und Budgets
- Ausführen Daten, Training und Checkpoints
- Verbessern Begrenzte Themen- und Regressionsevaluation
- Exportieren Geprüftes Artefakt und reproduzierbarer Bericht
Projekt: Modell, Ziel und Datenrichtlinie. Plan: Kompatibilität, Lehrplan und Budgets. Ausführen: Daten, Training und Checkpoints. Verbessern: Begrenzte Themen- und Regressionsevaluation. Exportieren: Geprüftes Artefakt und reproduzierbarer Bericht
Ein Projekt, eine reproduzierbare Konfiguration
Die Projektkonfiguration bindet ein lokales Student-Modell, eine bezahlte Teacher-Referenz, Ziel, Datenrichtlinie, Laufzeitumgebung, Lehrplan und Bewertungsraster. Automatic löst kompatible Standardwerte auf; Advanced bietet unterstützte Einstellungen. Der Probelaufplan zeigt Modellkompatibilität, Themen, Datenflüsse, Budgets, Fingerprints und erwartete Artefakte, bevor das Training beginnt.
- Python-Projekt-API und
fpai-trainingverwenden dieselbe Engine. - Modell-, Datensatz-, Evaluator- und Konfigurationspfade werden innerhalb des Projektverzeichnisses validiert.
- Versionieren Sie eigene Evaluatoren und bewahren Sie Laufmanifeste auf.
{
"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"}
}
{
"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"}
}
fpai-training init --directory ./german-project
fpai-training doctor --config ./german-project/training.json
fpai-training plan --config ./german-project/training.json --dry-run
fpai-training run --config ./german-project/training.json
fpai-training status --run ./german-project/runs/german-001
fpai-training pause --run ./german-project/runs/german-001
fpai-training resume --run ./german-project/runs/german-001
fpai-training cancel --run ./german-project/runs/german-001
fpai-training evaluate --run ./german-project/runs/german-001 --split test
fpai-training export --run ./german-project/runs/german-001 --format safetensors
# init creates a project; doctor checks local compatibility; plan makes no teacher call.
# run requires current paid reference access, enforces budgets and trains locally.
# pause saves a checkpoint; resume verifies project fingerprints; cancel is terminal.
# evaluate reads local held-out rows; export validates the accepted local artifact.
import os
from fusionpointai_training import TrainingProject
project = TrainingProject.from_file(
"./german-project/training.json",
api_key=os.environ["FUSIONPOINTAI_API_KEY"],
)
plan = project.plan(dry_run=True)
result = project.run()
evaluation = project.evaluate(split="test")
artifact = project.export(format="safetensors")
# Related controls: project.status(), project.pause(), project.resume(), project.cancel().
Trainings- und Evaluationsverhalten
Der Transformers-Adapter für kausale Sprachmodelle führt für kompatible Modelle und Laufzeitumgebungen echtes SFT-, LoRA- oder QLoRA-Training aus. Das Projekt koordiniert bezahlten Teacher-Zugriff, lokale Datensätze, themenbezogene Evaluation, Regressionsprüfungen und begrenzte Verbesserungszyklen. Nicht unterstützte Architektur-, Hardware- oder Exportkombinationen scheitern an der Kompatibilitätsprüfung.
- Abbruchgründe umfassen
accepted,budget_exhausted,no_progress,regression,cancelledundfailed. - Native Checkpoints und Laufstatus bleiben im privaten, eigenen Laufverzeichnis.
- Teacher-Freigaben folgen der Projektrichtlinie; Validierungs- und Abschlusstestdaten bleiben lokal.
{
"schema_version": "1.0",
"name": "support-category-evaluation",
"scale": {"minimum": 0.0, "maximum": 1.0},
"criteria": [
{"id": "support_category", "description": "Match the expected support category.", "metric": "macro_f1", "minimum_score": 0.85}
],
"regression": {"maximum_score_drop": 0.02},
"final_test": {"path": "./data/test.jsonl", "allow_training_use": false}
}
SDK 0.2.0 CLI AND PROJECT CONTRACT
Configuration/rubric values above are examples, not achieved scores or guarantees.
doctor must reject incompatible architecture, precision, hardware and export settings.
plan --dry-run validates and estimates; it must not update weights or start paid work.
run uses the declared data-sharing policy and enforces all configured budgets.
pause saves a valid atomic checkpoint before stopping owned training workers.
resume validates the checkpoint's model/config/data/evaluator fingerprints.
cancel requests termination of this run's workers; preserve useful logs and artifacts.
evaluate --split test must never feed test examples into training.
export validates files and manifests; never include credentials or unrelated cache files.
Project API:
TrainingProject.from_file(path, *, api_key) -> TrainingProject
plan(*, dry_run=True) -> dict
run() -> dict
status() -> dict
pause() -> dict
resume() -> dict
cancel() -> dict
evaluate(*, split="test") -> dict
export(*, format="safetensors") -> dict
Exit codes:
0 accepted/success; 2 invalid configuration; 3 incompatible runtime/model;
4 authentication/access; 5 budget exhausted; 6 acceptance not met;
7 execution failed; 130 interrupted.
Reports must record stop_reason and unmet criteria, not just an exit code.
Berichte und Artefakte prüfen
Ein Projektlauf protokolliert die unveränderte Baseline, gemessene Kriterien, Regressionen, Budgets und unerfüllte Anforderungen. Der Export prüft lokale Modell- oder Adapterdateien und erstellt Manifeste. Das Verhalten hängt von kompatibler Software und Hardware ab; die Beispiele sind weder Hardware-Benchmarks noch eine Garantie für Inferenz-Ergebnisse.
- Training allein belegt keine Gleichwertigkeit mit dem Teacher-Modell.
- Dokumentationsbeispiele lösen nicht automatisch kostenpflichtige Anfragen oder Trainingsläufe aus.
- Prüfen Sie vor der Verwendung eines Artefakts die tatsächlichen lokalen Berichte und Dateien.
TrainingProject delivery files
model/ validated model or adapter weights and tokenizer assets
exports/<format>/ accepted delivery files with a SHA-256 manifest
run-manifest.json pinned model/data/config/runtime versions
baseline-report.json untouched student model's measured criteria
evaluation-report.json final criteria, measured scores and regressions
artifact-manifest.json safe relative paths, bytes and SHA-256 per file
training-report.json real steps, timings, budgets and stop reason
Never export credentials, environment files or private cache directories.