সব ভাষাতেই command ও code ইংরেজিতে থাকবে। বড় হাতের অক্ষরে লেখা placeholder নিজের account ও paid job-এর মান দিয়ে বদলান; shared notebook বা log-এ আসল key দেবেন না।
Configuration থেকে পুনরুৎপাদনযোগ্য run
- বর্ণনা Model, teacher ও লক্ষ্য
- সীমা নির্ধারণ Data, privacy ও budget
- যাচাই Adapter ও runtime সামঞ্জস্য
- Plan স্থির করুন নির্ধারিত setting ও fingerprint
- চালান শুধু পর্যালোচিত project
বর্ণনা: Model, teacher ও লক্ষ্য. সীমা নির্ধারণ: Data, privacy ও budget. যাচাই: Adapter ও runtime সামঞ্জস্য. Plan স্থির করুন: নির্ধারিত setting ও fingerprint. চালান: শুধু পর্যালোচিত project
প্রকল্প নির্ধারণ ও ডেটা সুরক্ষিত রাখুন
এটি schema 1.0 প্রকল্প চুক্তি। Automatic উদাহরণটি training.json নামে সংরক্ষণ করুন। প্রকল্পের মূল ডিরেক্টরির ভেতরে path নির্ধারণ করুন, অন্তর্ভুক্ত reference model ID দিন এবং API key process environment-এ রাখুন। কনফিগারেশনে পরিশোধিত teacher reference এবং স্বাধীনভাবে প্রশিক্ষণযোগ্য student বেছে নেওয়া হয়; teacher-এর ওজন কখনো ডাউনলোড করা হয় না।
- অজানা key প্রত্যাখ্যান করা হয়। Model, data, rubric ও output path প্রকল্পের মূল ডিরেক্টরির ভেতরেই থাকতে হবে।
- Teacher-এর সঙ্গে শেয়ার করা যায় শুধু অনুমোদিত প্রশিক্ষণ-উৎস। Validation ও final-test item স্থানীয়ই থাকে।
- বিদ্যমান paid-job session workflow-এ TrainingClient ব্যবহার করা যায়।
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
schema_version |
string |
"1.0" |
হুবহু 1.0 ব্যবহার করুন। স্পষ্টভাবে সমর্থিত না হওয়া পর্যন্ত অন্য schema version প্রত্যাখ্যান করা হয়। |
mode |
enum |
আবশ্যক / ডিফল্ট নেই | আবশ্যক: automatic অথবা advanced। Automatic সামঞ্জস্যপূর্ণ ডিফল্ট নির্ধারণ করে; Advanced-এ স্পষ্ট নিয়ন্ত্রণ পাওয়া যায়। |
objective |
string |
আবশ্যক / ডিফল্ট নেই | কাজের আবশ্যক বিবরণ, ১০–৪০০০ অক্ষর। কাদের জন্য, কী সক্ষমতা এবং কী ফল প্রত্যাশিত তা উল্লেখ করুন। |
model.path |
string |
আবশ্যক / ডিফল্ট নেই | প্রকল্প root-এর ভেতরের আবশ্যক স্থানীয় model directory, অথবা অপরিবর্তনীয় revision-সহ repository identifier। কখনো teacher inference endpoint নয়। |
model.adapter |
string |
আবশ্যক / ডিফল্ট নেই | নিবন্ধিত adapter ID আবশ্যক। transformers-causal-lm দিলে Transformers causal-language-model adapter বেছে নেওয়া হয়। |
model.revision |
string | null |
null |
Local model-এর fingerprint করা হয়। Repository identifier-এর সঙ্গে অপরিবর্তনীয় ৪০ বা ৬৪ অক্ষরের revision লাগবে। |
teacher.provider |
string |
আবশ্যক / ডিফল্ট নেই | সক্রিয় পরিশোধিত plan থেকে provider identifier আবশ্যক। এতে model-এর মালিকানা হস্তান্তর হয় না। |
teacher.reference_model_id |
integer |
আবশ্যক / ডিফল্ট নেই | ওই provider plan-এ অন্তর্ভুক্ত model থেকে ধনাত্মক integer আবশ্যক; placeholder বদলাতে হবে। |
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
data.sources |
string[] |
[] |
text field-সহ স্থানীয় JSONL প্রশিক্ষণ-উৎসের path। approved_only sharing চালু থাকলে teacher-তৈরি lesson এগুলোর পরিপূরক হতে পারে। |
data.teacher_sharing |
enum |
"approved_only" |
approved_only-তে পর্যালোচিত প্রশিক্ষণ-সামগ্রী শেয়ার করা যায়; none-এ গ্রাহকের data teacher-কে পাঠানো নিষিদ্ধ। গোপন evaluation data সবসময় বাদ থাকে। |
data.validation_path |
string | null |
null |
ঐচ্ছিক স্বাধীন validation JSONL। না দিলে প্রশিক্ষণের আগে পর্যালোচিত plan নির্ধারিত পদ্ধতিতে ভাগ করে। |
data.test_path |
string |
আবশ্যক / ডিফল্ট নেই | স্বাধীন final test file আবশ্যক; teacher preparation বা optimization-এ কখনো ব্যবহার করা হয় না। |
data.deduplicate |
boolean |
true |
Split-গুলোর মধ্যে নকল ও overlap থাকা উদাহরণ সরান; ব্যক্তিগত লেখা প্রকাশ না করে বাদ দেওয়ার তথ্য জানান। |
data.seed |
integer |
42 |
Backend সমর্থন করলে নির্ধারিত split ও পুনরুৎপাদনযোগ্য initialization-এর জন্য অঋণাত্মক integer। |
{
"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 বা Advanced প্রশিক্ষণ বেছে নিন
Automatic mode সামঞ্জস্যপূর্ণ সেটিংস নির্ধারণ করে পরিকল্পনায় নথিবদ্ধ করে। Advanced mode-এ স্পষ্ট প্রশিক্ষণ সেটিংস দেওয়া যায়, তবে architecture, method, precision ও hardware-এর সমন্বয় সামঞ্জস্যপূর্ণ হতে হবে। ডিফল্ট মান সর্বজনীন memory বা কর্মদক্ষতার নিশ্চয়তা নয়। অসামঞ্জস্যপূর্ণ সমন্বয়ে ওজন হালনাগাদের আগেই compatibility যাচাই ব্যর্থ হয়।
- প্রশিক্ষণ পদ্ধতি SFT, LoRA ও QLoRA; Automatic mode-এ method-এর মান auto-ও নির্ধারণ করা যায়।
- বিতরণকৃত DDP-তে অনুমোদিত launcher node rank ও rendezvous সেটিংস দেয়; একাধিক node চালাতে স্পষ্ট ও বিশ্বস্ত torchrun environment প্রয়োজন।
- Model architecture, tokenizer ও context সীমা অবশ্যই মানতে হবে। Adapter সব model family সমর্থন করে না।
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
runtime.target |
enum |
আবশ্যক / ডিফল্ট নেই | আবশ্যক: fusionpointai_hosting, customer_datacenter অথবা colab। বিদ্যমান runtime বেছে নেয়; hardware কেনে না। |
runtime.devices |
"auto" | integer[] |
"auto" |
auto সামঞ্জস্যপূর্ণ অনুমোদিত device বেছে নেয়; স্পষ্ট তালিকায় অনন্য, অঋণাত্মক ও দৃশ্যমান GPU index থাকবে। |
runtime.distributed.backend |
enum |
"none" |
এক process-এর জন্য none, অথবা সমর্থিত adapter ও অনুমোদিত multi-worker launcher-সহ ddp। |
runtime.distributed.nodes |
integer |
1 |
ধনাত্মক integer। একাধিক হলে DDP, সম্মত node access, rank ও সুরক্ষিত rendezvous প্রয়োজন; এই মান থেকে compute capacity বরাদ্দ হয় না। |
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
training.method |
enum |
"auto" |
auto, SFT, LoRA অথবা QLoRA-এর একটি। Automatic mode auto নির্ধারণ করে; Advanced mode স্পষ্ট সমর্থিত method নেয়। |
training.epochs |
number | "auto" |
"auto" |
ধনাত্মক সসীম সংখ্যা, অথবা শুধু Automatic mode-এ auto; অনুমোদিত সময় ও resource অনুযায়ী কার্যকর step-ও সীমাবদ্ধ। |
training.learning_rate |
number | "auto" |
"auto" |
১-এর কম ধনাত্মক সসীম সংখ্যা, অথবা শুধু Automatic mode-এ auto। Adapter ও বাণিজ্যিক নীতিতে আরও সংকীর্ণ সীমা থাকতে পারে। |
training.batch_size |
integer | "auto" |
"auto" |
প্রতি device-এ ধনাত্মক integer, অথবা শুধু Automatic mode-এ auto; চালানোর আগে memory-তে মানায় কি না যাচাই হয়। |
training.gradient_accumulation_steps |
integer | "auto" |
"auto" |
ধনাত্মক integer, অথবা শুধু Automatic mode-এ auto। কার্যকর batch size-এ worker সংখ্যা ও accumulation ধরা হয়। |
training.max_sequence_length |
integer | "auto" |
"auto" |
Tokenizer ও model-এর সীমার মধ্যে ধনাত্মক integer, অথবা শুধু Automatic mode-এ auto; নীরবে model context বাড়ানো হয় না। |
training.precision |
enum |
"auto" |
Hardware ও backend সমর্থন করলে auto, fp32, fp16 অথবা bf16; Advanced mode-এ স্পষ্টভাবে দিতে হয়। |
training.lora.rank |
integer |
16 |
ধনাত্মক adapter rank। শুধু যোগ্য target module-সহ LoRA/QLoRA-তে ব্যবহৃত হয়। |
training.lora.alpha |
number |
32 |
ধনাত্মক সসীম adapter scaling মান। শুধু LoRA/QLoRA-তে ব্যবহৃত হয়। |
training.lora.dropout |
number |
0.05 |
০ অন্তর্ভুক্ত কিন্তু ১ বাদ—এমন সসীম মান। শুধু LoRA/QLoRA-তে ব্যবহৃত হয়। |
training.lora.target_modules |
"auto" | string[] |
"auto" |
auto সমর্থিত module name plan-এ নির্ধারণ করে, অথবা যোগ্য নামের খালি নয় এমন তালিকা দিন। |
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
curriculum.topics |
string[] |
[] |
ক্রম অনুযায়ী topic name। খালি রাখলে Automatic পূর্বশর্ত প্রস্তাব করে; Advanced-এ স্পষ্ট পর্যালোচিত ক্রম চাই। |
curriculum.max_improvement_cycles |
integer |
3 |
ধনাত্মক integer, সর্বোচ্চ ১০। Budget শেষ, অগ্রগতি থামা বা regression হলে আগেই থামুন। |
curriculum.stop_on_regression |
boolean |
true |
true হলে rubric-এ নির্ধারিত regression এলে উন্নতি থামে। false হলেও regression-এ final acceptance ব্যর্থ হয়। |
{
"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"}
}
সীমিত বাজেট ও পরিমাপযোগ্য গ্রহণযোগ্যতা নির্ধারণ করুন
প্রতিটি প্রকল্পে সময়, teacher request ও storage-এর স্পষ্ট বাজেট থাকে। কোনো বাজেট শেষ হলে, integrity check ব্যর্থ হলে, regression দেখা দিলে বা অগ্রগতি থামলে সেখানেই কাজ থামান। বৈধ recovery state সংরক্ষণ করুন এবং পূরণ না হওয়া মানদণ্ডের ব্যাখ্যা দিন। Rubric স্বাধীন গ্রহণযোগ্যতার কাজ নির্ধারণ করে; উদাহরণে পাওয়া score-কে অর্জিত ফল বানায় না।
- উদাহরণ rubric-এ ০–১ normalized scale এবং আলাদা আবশ্যক মানদণ্ড আছে। সব আবশ্যক মানদণ্ড পাস করতে হবে।
- Data, model, evaluation, topology বা budget বদলালে অসামঞ্জস্যপূর্ণ resume জোর করে চালানোর বদলে নতুন পর্যালোচিত plan দরকার।
- Export-এ যাচাইকৃত model বা adapter file, tokenizer ও manifest থাকে; credential, সম্পর্কহীন cache data বা অপর্যালোচিত model code থাকে না।
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
budgets.max_training_minutes |
number |
আবশ্যক / ডিফল্ট নেই | প্রশিক্ষণের আবশ্যক ধনাত্মক সসীম সময়-বাজেট, মিনিটে; run শুরুর পর preparation ও evaluation-এর wall time-সহ। |
budgets.max_teacher_requests |
integer |
আবশ্যক / ডিফল্ট নেই | আবশ্যক ধনাত্মক integer; preparation, review ও retry attempt গুনুন। সীমা ছাড়ানোর আগেই fail closed করুন। |
budgets.max_storage_gib |
number |
আবশ্যক / ডিফল্ট নেই | মালিকানাধীন storage-এর আবশ্যক ধনাত্মক সসীম বাজেট, GiB-তে; data, checkpoint ও artifact অন্তর্ভুক্ত, অন্যের file কখনো মুছবেন না। |
checkpoints.every_steps |
integer |
100 |
ধনাত্মক integer checkpoint interval। সফল pause-এও বৈধ atomic checkpoint সংরক্ষণ করুন। |
checkpoints.keep_last |
integer |
3 |
১ থেকে ৫-এর মধ্যে integer। নতুন checkpoint যাচাই করার পর শুধু পুরোনো মালিকানাধীন checkpoint সরান। |
checkpoints.resume_validation |
enum |
"strict" |
শুধু strict। Model, data, configuration, evaluator বা distributed-topology fingerprint বদলালে প্রত্যাখ্যান করুন। |
evaluation.rubric |
string |
আবশ্যক / ডিফল্ট নেই | Pinned evaluator ও পরিমাপযোগ্য আবশ্যক মানদণ্ড-সহ বৈধ rubric-এর path আবশ্যক। |
evaluation.baseline_required |
boolean |
true |
এই contract-এ শুধু true। ওজন বদলানোর আগে অপরিবর্তিত baseline মূল্যায়ন করুন। |
output.directory |
string |
আবশ্যক / ডিফল্ট নেই | নতুন মালিকানাধীন run directory আবশ্যক। বিদ্যমান run দেখা বা resume করা যায়, কিন্তু run দিয়ে তার ওপর লেখা যাবে না। |
output.format |
enum |
"safetensors" |
সমর্থিত হলে safetensors অথবা adapters। Adapter export-এর জন্য pinned base model ও tokenizer আবশ্যক। |
| ঘর বা ইন্টারফেস | ধরন বা ফল | ডিফল্ট বা exit code | আচরণ ও যাচাই |
|---|---|---|---|
schema_version |
string |
"1.0" |
Rubric schema 1.0; package release version থেকে আলাদা। |
name |
string |
আবশ্যক / ডিফল্ট নেই | Report-এ ব্যবহারের জন্য nonempty rubric name আবশ্যক। |
scale.minimum |
number |
0 |
সর্বনিম্ন normalized score: এই schema-তে 0। |
scale.maximum |
number |
1 |
সর্বোচ্চ normalized score: এই schema-তে 1। |
criteria |
object[] |
আবশ্যক / ডিফল্ট নেই | খালি নয় এমন তালিকা। প্রতিটি আবশ্যক criterion পাস করতে হবে; ID অনন্য হতে হবে। |
criteria[].id |
string |
আবশ্যক / ডিফল্ট নেই | স্থিতিশীল criterion identifier আবশ্যক; report-এ অপরিবর্তিত থাকে। |
criteria[].description |
string | null |
null |
ব্যাখ্যামূলক লেখা ঐচ্ছিক। Description নিজে semantic grader নয়। |
criteria[].metric |
string |
আবশ্যক / ডিফল্ট নেই | নিবন্ধিত metric আবশ্যক: exact_match, macro_f1, text_similarity, chrf অথবা custom registered scorer। |
criteria[].minimum_score |
number |
আবশ্যক / ডিফল্ট নেই | ০ ও ১-এর মধ্যে আবশ্যক সসীম threshold। উদাহরণের threshold ফলের নিশ্চয়তা নয়। |
regression.maximum_score_drop |
number |
0.02 |
অপরিবর্তিত baseline থেকে অনুমোদিত সর্বোচ্চ absolute normalized drop, ০ থেকে ১; বজায় রাখা প্রতিটি criterion-এ যাচাই হয়। |
final_test.path |
string |
আবশ্যক / ডিফল্ট নেই | আবশ্যক; data.test_path-এর একই স্বাধীন file নির্দেশ করতে হবে। |
final_test.allow_training_use |
boolean |
false |
শুধু false। Held-out test answer প্রশিক্ষণ বা teacher input-এ যাওয়ার অনুমতি দেয় এমন configuration প্রত্যাখ্যান করুন। |
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.