মূল content-এ যান
Training guide-এর অধ্যায় সব নথিপত্র

TrainingProject configuration ও workflow

Objective-ভিত্তিক training, evaluation, recovery ও export-এর SDK 0.2.0 contract।

সব ভাষাতেই command ও code ইংরেজিতে থাকবে। বড় হাতের অক্ষরে লেখা placeholder নিজের account ও paid job-এর মান দিয়ে বদলান; shared notebook বা log-এ আসল key দেবেন না।

TrainingProject-এর কর্মপ্রবাহ

একটি প্রকল্পের কনফিগারেশন পরিকল্পনা, প্রশিক্ষণ, মূল্যায়ন ও রপ্তানি পরিচালনা করে।
  1. প্রকল্প মডেল, লক্ষ্য ও ডেটা নীতি
  2. পরিকল্পনা সামঞ্জস্য, পাঠক্রম ও বাজেট
  3. চালু ডেটা, প্রশিক্ষণ ও চেকপয়েন্ট
  4. উন্নতি নির্ধারিত সীমার মধ্যে বিষয় ও কর্মদক্ষতার অবনতি মূল্যায়ন
  5. রপ্তানি যাচাইকৃত আর্টিফ্যাক্ট ও পুনরুৎপাদনযোগ্য প্রতিবেদন

প্রকল্প: মডেল, লক্ষ্য ও ডেটা নীতি. পরিকল্পনা: সামঞ্জস্য, পাঠক্রম ও বাজেট. চালু: ডেটা, প্রশিক্ষণ ও চেকপয়েন্ট. উন্নতি: নির্ধারিত সীমার মধ্যে বিষয় ও কর্মদক্ষতার অবনতি মূল্যায়ন. রপ্তানি: যাচাইকৃত আর্টিফ্যাক্ট ও পুনরুৎপাদনযোগ্য প্রতিবেদন

একটি project, একটি পুনরুৎপাদনযোগ্য configuration

Project configuration স্থানীয় student model, paid teacher reference, objective, data policy, runtime, curriculum ও rubric একসঙ্গে বেঁধে দেয়। Automatic mode সামঞ্জস্যপূর্ণ default নির্ধারণ করে; Advanced mode-এ সমর্থিত নিয়ন্ত্রণ পাওয়া যায়। Training শুরুর আগে dry-run plan model compatibility, topic, data flow, budget, fingerprint ও প্রত্যাশিত artifact জানায়।

  • Python project API ও fpai-training CLI একই engine ব্যবহার করে।
  • সব model, dataset, evaluator ও configuration path project root-এর মধ্যে যাচাই হয়।
  • Custom evaluator version pin করে run manifest সংরক্ষণ করুন।
উদাহরণ · 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"}
}
উদাহরণ · 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"}
}
উদাহরণ · bash
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.
উদাহরণ · python
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().

Training ও evaluation-এর আচরণ

Transformers causal-language-model adapter সামঞ্জস্যপূর্ণ model ও runtime-এ প্রকৃত SFT, LoRA বা QLoRA optimization করে। Project paid teacher access, স্থানীয় dataset, topic-ভিত্তিক evaluation, regression check এবং সীমিত improvement সমন্বয় করে। Architecture, hardware বা export সমন্বয় অসমর্থিত হলে compatibility check ব্যর্থ হয়।

  • Stop reason হলো accepted, budget_exhausted, no_progress, regression, cancelled অথবা failed।
  • Native checkpoint ও run state ব্যক্তিগত মালিকানাধীন run storage-এ থাকে।
  • Teacher sharing project policy মানে; validation ও final-test data স্থানীয় থাকে।
উদাহরণ · json
{
  "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}
}
উদাহরণ · text
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.

Report ও artifact পর্যালোচনা করুন

Project run অপরিবর্তিত baseline, মাপা criterion, regression, budget ও অপূর্ণ শর্ত নথিবদ্ধ করে। Export স্থানীয় model বা adapter file যাচাই করে এবং manifest লেখে। SDK-র আচরণ সামঞ্জস্যপূর্ণ software ও hardware-এর ওপর নির্ভর করে; এই উদাহরণ hardware benchmark বা inference ফল দাবি করে না।

  • শুধু training থেকে teacher-এর সমান হওয়ার দাবি আসে না।
  • নথির উদাহরণ স্বয়ংক্রিয়ভাবে paid call বা training চালায় না।
  • Artifact ব্যবহারের আগে প্রকৃত স্থানীয় report ও file পর্যালোচনা করুন।
উদাহরণ · text
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.