हर भाषा में कमांड और कोड अंग्रेज़ी में ही रहेंगे। बड़े अक्षरों वाले प्लेसहोल्डर को अपने खाते और भुगतान किए गए कार्य के मानों से बदलें; साझा नोटबुक या लॉग में असली कुंजियाँ न डालें।
कॉन्फ़िगरेशन से दोहराए जा सकने वाले रन तक
- विवरण दें मॉडल, टीचर और लक्ष्य
- सीमाएँ तय करें डेटा, निजता और बजट
- जाँचें एडैप्टर और रनटाइम की कम्पैटिबिलिटी
- प्लान तय करें तय सेटिंग और फ़िंगरप्रिंट
- चलाएँ सिर्फ़ रिव्यू किया प्रोजेक्ट
विवरण दें: मॉडल, टीचर और लक्ष्य. सीमाएँ तय करें: डेटा, निजता और बजट. जाँचें: एडैप्टर और रनटाइम की कम्पैटिबिलिटी. प्लान तय करें: तय सेटिंग और फ़िंगरप्रिंट. चलाएँ: सिर्फ़ रिव्यू किया प्रोजेक्ट
प्रोजेक्ट तय करें और उसके डेटा की सुरक्षा करें
यह स्कीमा 1.0 का प्रोजेक्ट कॉन्ट्रैक्ट है। ऑटोमैटिक उदाहरण को training.json नाम से सहेजें। पथ प्रोजेक्ट रूट के भीतर रखें, शामिल संदर्भ-मॉडल ID तय करें और API key को प्रक्रिया के परिवेश में रखें। कॉन्फ़िगरेशन सशुल्क शिक्षक-संदर्भ और अलग से ट्रेन किए जा सकने वाले विद्यार्थी मॉडल को चुनता है; यह शिक्षक के भार डाउनलोड नहीं करता।
- अज्ञात कुंजियाँ अस्वीकार होती हैं। मॉडल, डेटा, रूब्रिक और आउटपुट के पथ प्रोजेक्ट रूट के भीतर होने चाहिए।
- शिक्षक के साथ साझा करना केवल स्वीकृत ट्रेनिंग स्रोतों पर लागू है। वैलिडेशन और फ़ाइनल टेस्ट का डेटा स्थानीय रहता है।
- पुराने सशुल्क कामों और सत्रों के वर्कफ़्लो के लिए TrainingClient उपलब्ध है।
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
schema_version |
string |
"1.0" |
ठीक 1.0 इस्तेमाल करें। स्पष्ट समर्थन मिलने तक स्कीमा के अन्य संस्करण अस्वीकार होंगे। |
mode |
enum |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | ज़रूरी मान: automatic या advanced। ऑटोमैटिक संगत डिफ़ॉल्ट तय करता है; एडवांस्ड में अलग-अलग नियंत्रण मिलते हैं।
|
objective |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | काम का विवरण ज़रूरी है; लंबाई 10–4000 अक्षर। लक्षित लोगों, क्षमताओं और अपेक्षित नतीजे का उल्लेख करें। |
model.path |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | प्रोजेक्ट रूट के भीतर स्थानीय मॉडल डायरेक्टरी दें, या स्थिर revision के साथ repository ID दें। शिक्षक का inference endpoint न दें। |
model.adapter |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | पंजीकृत adapter ID ज़रूरी है। transformers-causal-lm से Transformers का causal-language-model adapter चुना जाता है।
|
model.revision |
string | null |
null |
स्थानीय मॉडल का फ़िंगरप्रिंट दर्ज होता है। Repository ID के साथ 40 या 64 वर्णों का स्थिर revision देना ज़रूरी है। |
teacher.provider |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | आपकी सक्रिय सशुल्क योजना में शामिल सेवा-प्रदाता की पहचान ज़रूरी है। इससे मॉडल का स्वामित्व नहीं मिलता। |
teacher.reference_model_id |
integer |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | उस सेवा-प्रदाता की योजना में शामिल मॉडल का शून्य से बड़ा पूर्णांक दें; नमूना मान को असली ID से बदलें। |
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
data.sources |
string[] |
[] |
text फ़ील्ड वाली स्थानीय JSONL ट्रेनिंग फ़ाइलों के पथ। approved_only साझाकरण में शिक्षक से बने पाठ भी इनमें जोड़े जा सकते हैं।
|
data.teacher_sharing |
enum |
"approved_only" |
approved_only समीक्षित ट्रेनिंग सामग्री साझा करने देता है; none ग्राहक का डेटा शिक्षक को भेजने से रोकता है। छिपा मूल्यांकन डेटा हमेशा बाहर रहता है।
|
data.validation_path |
string | null |
null |
वैकल्पिक स्वतंत्र सत्यापन JSONL। इसे न देने पर समीक्षित योजना ट्रेनिंग से पहले तय नियम से डेटा बाँटती है। |
data.test_path |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | स्वतंत्र अंतिम टेस्ट फ़ाइल ज़रूरी है; इसे शिक्षक की तैयारी या अनुकूलन में कभी इस्तेमाल नहीं किया जाता। |
data.deduplicate |
boolean |
true |
अलग-अलग हिस्सों में दोहराए या आपस में मिलते उदाहरण हटाएँ; निजी पाठ दिखाए बिना हटाए गए उदाहरणों की रिपोर्ट दें। |
data.seed |
integer |
42 |
तय नियम से डेटा बाँटने और समर्थित होने पर हर बार समान शुरुआती मान पाने के लिए शून्य या उससे बड़ा पूर्णांक। |
{
"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"}
}
ऑटोमैटिक या एडवांस्ड ट्रेनिंग चुनें
ऑटोमैटिक मोड संगत सेटिंग तय करके योजना में दर्ज करता है। एडवांस्ड मोड में ट्रेनिंग सेटिंग साफ़ तौर पर दी जाती हैं; इसमें केवल मॉडल की संरचना, तरीका, परिशुद्धता और हार्डवेयर के अनुकूल मेल चलते हैं। डिफ़ॉल्ट सेटिंग हर स्थिति में मेमोरी या प्रदर्शन की गारंटी नहीं देतीं। बेमेल सेटिंग, भार बदलने से पहले ही अनुकूलता-जाँच में अस्वीकार हो जाती हैं।
- ट्रेनिंग के तरीके SFT, LoRA और QLoRA हैं; ऑटोमैटिक मोड
autoतरीका भी तय कर सकता है। - वितरित DDP के लिए स्वीकृत लॉन्चर नोड के रैंक और rendezvous सेटिंग देता है। कई नोड पर रन के लिए भरोसेमंद
torchrunपरिवेश साफ़ तौर पर तय होना चाहिए। - मॉडल की संरचना, tokenizer और संदर्भ-सीमा लागू रहती है। अडैप्टर हर मॉडल परिवार को समर्थन नहीं देता।
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
runtime.target |
enum |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | ज़रूरी मान: fusionpointai_hosting, customer_datacenter या colab। यह पहले से मौजूद रनटाइम चुनता है, हार्डवेयर नहीं खरीदता।
|
runtime.devices |
"auto" | integer[] |
"auto" |
auto संगत स्वीकृत डिवाइस चुनता है; साफ़ तौर पर दी गई सूची में उपलब्ध GPU के अलग-अलग, शून्य या उससे बड़े क्रमांक हों।
|
runtime.distributed.backend |
enum |
"none" |
एक प्रक्रिया के लिए none, या समर्थित एडैप्टर और स्वीकृत बहु-कार्यकर्ता लॉन्चर के साथ ddp।
|
runtime.distributed.nodes |
integer |
1 |
सकारात्मक पूर्णांक। एक से अधिक नोड के लिए DDP, नोड तक सहमत पहुँच, रैंक और सुरक्षित rendezvous चाहिए; यह मान अपने-आप कंप्यूट क्षमता नहीं देता। |
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
training.method |
enum |
"auto" |
auto, SFT, LoRA या QLoRA में से एक। ऑटोमैटिक मोड auto का उपयुक्त तरीका तय करता है; एडवांस्ड मोड में समर्थित तरीका साफ़ तौर पर चुनें।
|
training.epochs |
number | "auto" |
"auto" |
सकारात्मक सीमित संख्या या केवल ऑटोमैटिक मोड में auto; प्रभावी चरण भी स्वीकृत समय और संसाधनों की सीमा में रहते हैं।
|
training.learning_rate |
number | "auto" |
"auto" |
शून्य से बड़ी और 1 से कम सीमित संख्या, या केवल ऑटोमैटिक में auto। एडैप्टर और कारोबारी नियम इससे सख्त सीमाएँ लगा सकते हैं।
|
training.batch_size |
integer | "auto" |
"auto" |
हर डिवाइस के लिए सकारात्मक पूर्णांक या केवल ऑटोमैटिक में auto; चलाने से पहले मेमोरी की उपयुक्तता जाँची जाती है।
|
training.gradient_accumulation_steps |
integer | "auto" |
"auto" |
सकारात्मक पूर्णांक या केवल ऑटोमैटिक में auto। प्रभावी समूह-आकार में कार्यकर्ताओं की संख्या और संचय शामिल हैं।
|
training.max_sequence_length |
integer | "auto" |
"auto" |
टोकनाइज़र और मॉडल की सीमा के भीतर सकारात्मक पूर्णांक, या केवल ऑटोमैटिक में auto; मॉडल की संदर्भ-सीमा चुपचाप न बढ़ाएँ।
|
training.precision |
enum |
"auto" |
हार्डवेयर और बैकएंड के समर्थन के अनुसार auto, fp32, fp16 या bf16; एडवांस्ड मोड में साफ़ तौर पर दें।
|
training.lora.rank |
integer |
16 |
सकारात्मक एडैप्टर रैंक। केवल योग्य लक्ष्य मॉड्यूल के साथ LoRA/QLoRA में इस्तेमाल होता है। |
training.lora.alpha |
number |
32 |
एडैप्टर का पैमाना तय करने वाला सकारात्मक, सीमित मान। केवल LoRA/QLoRA में इस्तेमाल होता है। |
training.lora.dropout |
number |
0.05 |
0 सहित और 1 से कम सीमित मान। केवल LoRA/QLoRA में इस्तेमाल होता है। |
training.lora.target_modules |
"auto" | string[] |
"auto" |
auto समर्थित मॉड्यूल नाम योजना में तय करता है; या योग्य नामों की गैर-खाली सूची दें।
|
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
curriculum.topics |
string[] |
[] |
विषयों के नाम क्रम से दें। खाली रखने पर ऑटोमैटिक ज़रूरी शुरुआती विषय सुझाता है; एडवांस्ड में समीक्षित क्रम साफ़ तौर पर देना होगा। |
curriculum.max_improvement_cycles |
integer |
3 |
सकारात्मक पूर्णांक, अधिकतम 10। बजट पूरा हो, प्रगति रुके या प्रतिगमन आए तो उससे पहले रोकें। |
curriculum.stop_on_regression |
boolean |
true |
true होने पर रूब्रिक में तय प्रतिगमन आते ही सुधार रोकें। false होने पर भी प्रतिगमन अंतिम स्वीकृति में विफलता है।
|
{
"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"}
}
सीमित बजट और मापने योग्य स्वीकृति तय करें
हर प्रोजेक्ट के लिए समय, शिक्षक-अनुरोध और भंडारण की स्पष्ट सीमाएँ होती हैं। कोई सीमा पूरी होने, इंटेग्रिटी-जाँच विफल होने, प्रतिगमन आने या प्रगति रुकने पर काम रोकें। मान्य पुनर्प्राप्ति-स्थिति सहेजें और अधूरे मानदंड स्पष्ट करें। रूब्रिक स्वतंत्र स्वीकृति-कार्य तय करती है; उदाहरण के अंक को हासिल परिणाम नहीं बनाती।
- उदाहरण की रूब्रिक सामान्यीकृत 0–1 पैमाना और अलग-अलग अनिवार्य मानदंड इस्तेमाल करती है। सभी अनिवार्य मानदंड पूरे होने चाहिए।
- डेटा, मॉडल, मूल्यांकन, वितरित कॉन्फ़िगरेशन या बजट बदलने पर असंगत संचालन को जबरन फिर शुरू करने के बजाय नई समीक्षित योजना चाहिए।
- एक्सपोर्ट में सत्यापित मॉडल या एडैप्टर फ़ाइलें, टोकनाइज़र और मैनिफ़ेस्ट होते हैं; क्रेडेंशियल, असंबंधित अस्थायी डेटा या बिना समीक्षा की मॉडल कोड नहीं।
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
budgets.max_training_minutes |
number |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | चलाने के बाद तैयारी और मूल्यांकन में लगा समय मिलाकर, मिनटों में सकारात्मक सीमित रन-बजट ज़रूरी है। |
budgets.max_teacher_requests |
integer |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | सकारात्मक पूर्णांक ज़रूरी है; तैयारी, समीक्षा और दोबारा कोशिशें गिनें। सीमा पार होने से पहले काम रोक दें। |
budgets.max_storage_gib |
number |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | आपके स्वामित्व वाले भंडारण की सीमा GiB में सकारात्मक और तय होनी चाहिए; इसमें डेटा, चेकपॉइंट और आर्टिफ़ैक्ट शामिल हैं। असंबंधित फ़ाइलें कभी न हटाएँ। |
checkpoints.every_steps |
integer |
100 |
चेकपॉइंट के बीच का अंतराल सकारात्मक पूर्णांक हो। सफल पॉज़ पर मान्य परमाण्विक चेकपॉइंट भी सहेजें। |
checkpoints.keep_last |
integer |
3 |
1 से 5 तक पूर्णांक। नया चेकपॉइंट जाँच लेने के बाद ही पुराने, आपके स्वामित्व वाले चेकपॉइंट हटाएँ। |
checkpoints.resume_validation |
enum |
"strict" |
केवल strict। मॉडल, डेटा, कॉन्फ़िगरेशन, मूल्यांकनकर्ता या वितरित संरचना के फ़िंगरप्रिंट बदलें तो आगे न बढ़ें।
|
evaluation.rubric |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | पिन किए मूल्यांकनकर्ताओं और मापने योग्य ज़रूरी मानदंडों वाली रूब्रिक का पथ ज़रूरी है। |
evaluation.baseline_required |
boolean |
true |
इस कॉन्ट्रैक्ट में केवल true। वेट बदलने से पहले बिना बदलाव वाले आधार-मॉडल का मूल्यांकन करें।
|
output.directory |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | नई, आपके स्वामित्व वाली रन डायरेक्टरी ज़रूरी है। मौजूदा रन देख या फिर शुरू कर सकते हैं, लेकिन run उन्हें कभी ओवरराइट नहीं करता।
|
output.format |
enum |
"safetensors" |
केवल समर्थित होने पर safetensors या adapters। एडैप्टर एक्सपोर्ट के लिए पिन किया बेस मॉडल और टोकनाइज़र चाहिए।
|
| फ़ील्ड या इंटरफ़ेस | प्रकार या परिणाम | डिफ़ॉल्ट या एग्ज़िट कोड | व्यवहार और सत्यापन |
|---|---|---|---|
schema_version |
string |
"1.0" |
रूब्रिक स्कीमा 1.0; पैकेज रिलीज़ के संस्करण से अलग। |
name |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | रिपोर्ट में इस्तेमाल होने वाला रूब्रिक नाम खाली नहीं हो सकता। |
scale.minimum |
number |
0 |
न्यूनतम सामान्यीकृत स्कोर: इस स्कीमा में 0। |
scale.maximum |
number |
1 |
अधिकतम सामान्यीकृत स्कोर: इस स्कीमा में 1। |
criteria |
object[] |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | सूची खाली न हो। हर ज़रूरी कसौटी पूरी हो और सभी ID अलग हों। |
criteria[].id |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | कसौटी की स्थिर पहचान ज़रूरी है; रिपोर्ट में इसे जस का तस रखा जाता है। |
criteria[].description |
string | null |
null |
वैकल्पिक व्याख्यात्मक पाठ; विवरण अपने-आप अर्थगत मूल्यांकन नहीं करता। |
criteria[].metric |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | अनिवार्य पंजीकृत metric: exact_match, macro_f1, text_similarity, chrf या पंजीकृत custom scorer।
|
criteria[].minimum_score |
number |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | 0 से 1 के बीच सीमित न्यूनतम अंक ज़रूरी हैं। उदाहरण के अंक, नतीजे का वादा नहीं हैं। |
regression.maximum_score_drop |
number |
0.02 |
बिना बदलाव वाले बेसलाइन से स्वीकार्य कुल गिरावट 0 से 1 तक; हर बची हुई कसौटी पर जाँची जाती है। |
final_test.path |
string |
अनिवार्य / कोई डिफ़ॉल्ट नहीं | ज़रूरी है; data.test_path वाली उसी स्वतंत्र फ़ाइल का पथ दें।
|
final_test.allow_training_use |
boolean |
false |
केवल false। ऐसा कॉन्फ़िगरेशन अस्वीकार करें जो अलग रखी परीक्षा के जवाबों को ट्रेनिंग या शिक्षक के इनपुट में जाने दे।
|
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.