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

TrainingProject কনফিগারেশন রেফারেন্স

মডেল, ডেটা, প্রশিক্ষণ, বাজেট, পুনরুদ্ধার ও মূল্যায়নের প্রকল্প-ঘর, ডিফল্ট এবং যাচাইয়ের নিয়ম।

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

Configuration থেকে পুনরুৎপাদনযোগ্য run

পরিশোধিত কাজ বা ওজন হালনাগাদের আগে সব setting নির্ধারণ ও পর্যালোচনা করুন।
  1. বর্ণনা Model, teacher ও লক্ষ্য
  2. সীমা নির্ধারণ Data, privacy ও budget
  3. যাচাই Adapter ও runtime সামঞ্জস্য
  4. Plan স্থির করুন নির্ধারিত setting ও fingerprint
  5. চালান শুধু পর্যালোচিত 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।
উদাহরণ · 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"}
}

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 ব্যর্থ হয়।
উদাহরণ · 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"}
}

সীমিত বাজেট ও পরিমাপযোগ্য গ্রহণযোগ্যতা নির্ধারণ করুন

প্রতিটি প্রকল্পে সময়, 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 প্রত্যাখ্যান করুন।
উদাহরণ · text
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.