সব ভাষাতেই command ও code ইংরেজিতে থাকবে। বড় হাতের অক্ষরে লেখা placeholder নিজের account ও paid job-এর মান দিয়ে বদলান; shared notebook বা log-এ আসল key দেবেন না।
প্রকল্প তৈরি করে চালান
- ইনস্টল Python পরিবেশ
- কনফিগার মডেল, ডেটা ও মূল্যায়নের মানদণ্ড
- পরিকল্পনা সামঞ্জস্য ও বাজেট
- প্রশিক্ষণ স্থানীয় অপ্টিমাইজেশন
- পরীক্ষা মূল্যায়ন ও আর্টিফ্যাক্ট
ইনস্টল: Python পরিবেশ. কনফিগার: মডেল, ডেটা ও মূল্যায়নের মানদণ্ড. পরিকল্পনা: সামঞ্জস্য ও বাজেট. প্রশিক্ষণ: স্থানীয় অপ্টিমাইজেশন. পরীক্ষা: মূল্যায়ন ও আর্টিফ্যাক্ট
Environment প্রস্তুত করুন
আলাদা virtual environment-এ Python 3.10 বা পরের সংস্করণ ব্যবহার করুন। Training extra এবং runtime-সামঞ্জস্যপূর্ণ PyTorch build ইনস্টল করুন। TrainingProject বিদ্যমান Transformers causal-language-model adapter ব্যবহার করে; এতে SFT, LoRA বা QLoRA সক্ষমতা যাচাই করা হয়। প্রয়োজন account API key, teacher কাজের জন্য সক্রিয় paid reference access, সামঞ্জস্যপূর্ণ স্থানীয় model, অনুমোদিত data এবং পর্যাপ্ত storage। Runtime নির্বাচন করলেই hardware বরাদ্দ হয় না।
- Base package-এ TrainingClient ও project API থাকে; train extra স্থানীয় model-training dependency ইনস্টল করে।
- API key project file বা command argument-এ নয়, runtime-এর secret environment-এ রাখুন।
- QLoRA-র জন্য সামঞ্জস্যপূর্ণ CUDA runtime ও quantization dependency দরকার।
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
# Install the GPU-compatible PyTorch build for your runtime first.
python -m pip install 'fusionpointai-training[train] @ https://fusionpointai.com/downloads/fusionpointai-training.zip'
# API-only use without local training dependencies:
# python -m pip install 'fusionpointai-training @ https://fusionpointai.com/downloads/fusionpointai-training.zip'
Project কনফিগার ও পর্যালোচনা করুন
Project directory তৈরি করে training, validation ও final-test JSONL file প্রস্তুত করুন, তারপর training.json ও rubric.json সম্পাদনা করুন। স্থানীয় student model path, provider এবং অন্তর্ভুক্ত reference_model_id দিন। Plan ওজন না বদলে বা teacher-কে call না করে configuration, model compatibility, data fingerprint, sharing policy, budget ও output যাচাই করে।
- schema_version 1.0 ব্যবহার করুন; এটি configuration schema, package version নয়।
- Project root-এর ভেতরে মেলে এমন relative path ব্যবহার করুন।
- Run-এর জন্য নতুন output directory চাই; resume আলাদা operation এবং কঠোর fingerprint যাচাইসাপেক্ষ।
# Enter the key using a secure runtime secret facility or this history-safe prompt.
read -rs -p 'FusionPointAI API key: ' FUSIONPOINTAI_API_KEY
export FUSIONPOINTAI_API_KEY
printf '\n'
python --version
fpai-training --version
# After the project run, clear the shell value: unset FUSIONPOINTAI_API_KEY
{
"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"}
}
import os
from fusionpointai_training import TrainingProject
project = TrainingProject.from_file(
"./support-project/training.json",
api_key=os.environ["FUSIONPOINTAI_API_KEY"],
)
plan = project.plan(dry_run=True)
print("Topics:", plan["topics"], "Budgets:", plan["budgets"])
result = project.run()
print("Run:", result["run_id"], result["status"], result["stop_reason"])
evaluation = project.evaluate(split="test")
print("Accepted:", evaluation["accepted"], evaluation["report_path"])
artifact = project.export(format="safetensors")
print("Artifact:", artifact["artifact_path"], artifact["sha256"])
Evaluation ও স্থানীয় artifact পরীক্ষা করুন
Training অপরিবর্তিত model-এর baseline চালায় এবং স্থানীয় held-out row-এ final evaluation করে। Report-এ মাপা criterion, regression, fingerprint, budget ও অপূর্ণ শর্ত নথিভুক্ত হয়। Export স্থানীয় safetensors model বা adapter package যাচাই করে manifest লেখে। Adapter-এর জন্য হুবহু pinned base model ও tokenizer-ও লাগে। সফল run মানেই rubric-এ মাপা ফলের বাইরে কাজের মানের নিশ্চয়তা নয়।
- Baseline ও final held-out file training ও teacher input থেকে আলাদা রাখুন।
- Output ব্যবহারের আগে evaluation-report.json ও artifact-manifest.json দেখুন।
- Export model upload করে না বা production inference deploy করে না।
cat ./support-project/runs/support-001/training-report.json
cat ./support-project/runs/support-001/evaluation-report.json
cat ./support-project/runs/support-001/artifact-manifest.json
sha256sum ./support-project/runs/support-001/exports/safetensors/artifact-manifest.json
# Compare the digest with the value returned by project.export().
# Adapter exports also require the matching base model and tokenizer.