@mcptoolshop/backpropagate 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.hi.md CHANGED
@@ -15,9 +15,9 @@
15
15
  <a href="https://mcp-tool-shop-org.github.io/backpropagate/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page"></a>
16
16
  </p>
17
17
 
18
- # एक एडाप्टर को प्रशिक्षित करें। इसे ओलामा पर भेजें। आगे बढ़ें।
18
+ # एक एडाप्टर को प्रशिक्षित करें। इसे ओलामा में भेजें। आगे बढ़ें।
19
19
 
20
- बैकप्रोपैगेट एक पायथन लाइब्रेरी है जो बड़े भाषा मॉडल को एक सिंगल जीपीयू पर फाइन-ट्यून करने के लिए उपयोग की जाती है। तीन पंक्तियों के कोड से 7 बिलियन पैरामीटर वाला मॉडल 16 जीबी के कार्ड पर प्रशिक्षित किया जा सकता है। एक और कमांड इसे ओलामा पर एक्सपोर्ट कर देता है ताकि आप `ollama run` कमांड का उपयोग करके अपने फाइन-ट्यून मॉडल को चला सकें। यह विंडोज पर भी आसानी से काम करता है।
20
+ बैकप्रोपैगेट एक पायथन लाइब्रेरी है जिसका उपयोग एकल जीपीयू पर बड़े भाषा मॉडल को ठीक करने के लिए किया जाता है। तीन पंक्तियों के कोड से 16GB कार्ड पर 7B मॉडल को प्रशिक्षित किया जा सकता है। एक और कमांड इसे ओलामा में निर्यात करता है ताकि आप अपने फाइनट्यून को `ollama run` के साथ चला सकें। यह विंडोज पर बेहतरीन तरीके से काम करता है।
21
21
 
22
22
  ```python
23
23
  from backpropagate import Trainer
@@ -32,7 +32,7 @@ backprop export ./output/lora --format gguf --quantization q4_k_m --ollama --oll
32
32
  ollama run my-model
33
33
  ```
34
34
 
35
- बस इतना ही। इसमें कोई YAML कॉन्फ़िगरेशन फ़ाइल नहीं है। कोई `accelerate launch` प्रक्रिया नहीं है। कोई अलग "अब इसे GGUF में बदलें" ट्यूटोरियल नहीं है। यदि आपके पास एक CUDA जीपीयू है और आपके प्रशिक्षण डेटा के साथ एक JSONL फ़ाइल है, तो आप केवल तीन पंक्तियों से एक काम करने वाला फाइन-ट्यून मॉडल प्राप्त कर सकते हैं।
35
+ बस इतना ही। कोई YAML कॉन्फ़िगरेशन फ़ाइल नहीं है। कोई `accelerate launch` समारोह नहीं है। कोई अलग "अब इसे GGUF में बदलें" ट्यूटोरियल नहीं है। यदि आपके पास एक CUDA GPU और आपके प्रशिक्षण डेटा वाली एक JSONL फ़ाइल है, तो आप एक कार्यात्मक फाइनट्यून से केवल तीन पंक्तियों की दूरी पर हैं।
36
36
 
37
37
  ## इंस्टॉल करें
38
38
 
@@ -47,81 +47,83 @@ uv tool install backpropagate
47
47
  pip install backpropagate
48
48
  ```
49
49
 
50
- यदि आप वैकल्पिक सुविधाओं का उपयोग करना चाहते हैं, तो इंस्टॉलेशन को इनमें से किसी एक से बदलें:
50
+ यदि आप वैकल्पिक सुविधाओं को चाहते हैं, तो इंस्टॉलेशन को इनमें से किसी एक से बदलें:
51
51
 
52
52
  ```bash
53
53
  pipx install "backpropagate[standard]" # adds Unsloth (2x faster training) + the web UI
54
54
  pipx install "backpropagate[full]" # adds everything: unsloth, ui, monitoring, export, etc.
55
55
  ```
56
56
 
57
- क्या आप डॉकर का उपयोग करना पसंद करते हैं? `docker pull ghcr.io/mcp-tool-shop-org/backpropagate:latest` भी काम करता है। इमेज `linux/amd64` और `linux/arm64` दोनों के लिए उपलब्ध हैं, इसलिए Apple Silicon और ARM Linux उपयोगकर्ताओं को एक देशी इमेज मिलती है। "UI एक कंटेनर में" के लिए एक मानक `compose.yaml` फ़ाइल रिपॉजिटरी के रूट पर मौजूद है - `docker compose up` कमांड वेब UI को `http://localhost:7860` पर चलाता है, जिसमें एक स्थायी `~/.backpropagate` वॉल्यूम माउंट भी होता है।
57
+ क्या आप डॉकर का उपयोग करना पसंद करते हैं? `docker pull ghcr.io/mcp-tool-shop-org/backpropagate:latest` भी काम करेगा। दोनों `linux/amd64` और `linux/arm64` के लिए इमेज उपलब्ध हैं, इसलिए Apple सिलिकॉन और ARM लिनक्स उपयोगकर्ताओं को एक मूल इमेज मिलेगी। "कंटेनर में UI" के लिए एक मानक `compose.yaml` रिपॉजिटरी की रूट में मौजूद है - `docker compose up` वेब UI को `http://localhost:7860` पर एक स्थायी `~/.backpropagate` वॉल्यूम माउंट के साथ लाता है।
58
58
 
59
- ## बैकप्रोपैगेट कहाँ फिट बैठता है
59
+ ## बैकप्रोपैगेट किस क्षेत्र में काम करता है
60
60
 
61
- बड़े भाषा मॉडल (LLMs) को फाइन-ट्यून करने के लिए कई अच्छी लाइब्रेरी उपलब्ध हैं। प्रत्येक लाइब्रेरी अलग-अलग कार्यों में उत्कृष्ट है:
61
+ LLM को ठीक करने के लिए कई अच्छी लाइब्रेरी उपलब्ध हैं। वे सभी अलग-अलग चीजों में उत्कृष्ट हैं:
62
62
 
63
- - **[Axolotl](https://github.com/OpenAccess-AI-Collective/axolotl)** यदि आपको YAML कॉन्फ़िगरेशन पसंद हैं और आप कॉपी करने के लिए व्यंजनों का एक समुदाय चाहते हैं।
64
- - **[LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory)** यदि आप एक वेब GUI और DPO/PPO/RLHF के लिए अंतर्निहित समर्थन चाहते हैं।
65
- - **[Unsloth](https://github.com/unslothai/unsloth)** यदि आपको सबसे तेज़ प्रशिक्षण की आवश्यकता है और आप एक समर्थित मॉडल परिवार का उपयोग कर रहे हैं।
66
- - **[torchtune](https://github.com/pytorch/torchtune)** यदि आप मेटा के पहले-पार्टी PyTorch-देशी व्यंजनों को संपादित करना चाहते हैं।
63
+ - **[Axolotl](https://github.com/OpenAccess-AI-Collective/axolotl)** - यदि आप YAML कॉन्फ़िगरेशन पसंद करते हैं और आपको कॉपी करने के लिए व्यंजनों का एक समुदाय चाहिए।
64
+ - **[LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory)** - यदि आप DPO/PPO/RLHF और एक वेब GUI चाहते हैं।
65
+ - **[Unsloth](https://github.com/unslothai/unsloth)** - यदि आपको सबसे तेज़ प्रशिक्षण की आवश्यकता है और आप समर्थित मॉडल परिवार पर हैं।
66
+ - **[torchtune](https://github.com/pytorch/torchtune)** - यदि आप मेटा के पहले-पक्षीय PyTorch-नेटिव व्यंजनों को संपादित करना चाहते हैं।
67
67
 
68
- बैकप्रोपैगेट एक लापता विकल्प है: **एक सिंगल उपभोक्ता जीपीयू पर काम करने वाले ऑपरेटरों के लिए 3-पंक्ति पायथन एपीआई, जो एक एडाप्टर को प्रशिक्षित करना और उसे भेजना चाहते हैं।** इसमें कोई YAML, कोई GUI, कोई DPO/PPO, और कोई मल्टी-नोड सिस्टम नहीं है। इसमें केवल वह लूप है जिसकी वास्तव में सभी को आवश्यकता होती है, और वह एक्सपोर्ट स्टेप जो बाधा उत्पन्न करता है।
68
+ बैकप्रोपैगेट वह विकल्प है जिसकी कमी थी: **एक एकल उपभोक्ता GPU पर अकेले ऑपरेटरों के लिए 3-पंक्ति पायथन API जो एक एडाप्टर को प्रशिक्षित करना और उसे भेजना चाहते हैं।** कोई YAML नहीं, कोई GUI नहीं, कोई ऑनलाइन RL (PPO/GRPO) नहीं, कोई मल्टी-नोड नहीं। बस वह लूप जिसकी वास्तव में हर किसी को आवश्यकता है और वह निर्यात चरण जो बाधा डालता है।
69
69
 
70
- यदि आपने ऊपर दी गई लाइब्रेरी में से किसी एक को आज़माया है और कॉन्फ़िगरेशन फ़ाइल प्रक्रिया से निराश हो गए हैं, या किसी मॉडल परिवार की सीमा का सामना किया है, या विंडोज-फर्स्ट डिफ़ॉल्ट सेटिंग्स चाहते हैं - तो बैकप्रोपैगेट आपके लिए है।
70
+ यदि आपने ऊपर दी गई लाइब्रेरी में से किसी एक को आज़माया और कॉन्फ़िगरेशन-फ़ाइल समारोह से निराश हो गए, या मॉडल-परिवार की कमी का सामना किया, या विंडोज-प्रथम डिफ़ॉल्ट्स चाहते थे - तो बैकप्रोपैगेट आपके लिए है।
71
71
 
72
- ## 16 जीबी के उपभोक्ता जीपीयू पर आप क्या फाइन-ट्यून कर सकते हैं
72
+ ## आप 16GB उपभोक्ता GPU पर क्या ठीक कर सकते हैं
73
73
 
74
- यहां 16 जीबी के कार्ड (RTX 4080 / 5080 / 4070 Ti Super) पर व्यावहारिक सीमाएं दी गई हैं:
74
+ यहां 16GB कार्ड (RTX 4080 / 5080 / 4070 Ti Super) पर व्यावहारिक सीमा दी गई है:
75
75
 
76
76
  | मॉडल | विधि | स्थिति |
77
77
  |---|---|---|
78
- | Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | आरामदायक। पूर्ण सीक्वेंस लंबाई, अतिरिक्त जगह। |
79
- | Phi-4-mini-3.8B / Qwen-3.5-4B / SmolLM3-3B (≤3B पैरामीटर की सीमा) | `mode="full"` (पूर्ण फाइन-ट्यूनिंग) | v1.4 `backprop train` पर `--mode=full` या `Trainer(..., mode="full")` का उपयोग करें। ग्रेडिएंट चेकपॉइंटिंग + पेज्ड 8-बिट एडम, एक्टिवेशन मेमोरी को sqrt(L) पर बनाए रखता है। |
80
- | Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | मानक। लगभग 7-8 जीबी। बैकप्रोपैगेट की डिफ़ॉल्ट सेटिंग्स। |
81
- | Llama-3 13B | QLoRA + सैंपल पैकिंग | कठिन लेकिन काम करता है। छोटे सीक्वेंस का उपयोग करें। |
82
- | Mixtral 8x7B (कुल 47 बिलियन पैरामीटर) | AQLM 2-बिट + LoRA | v1.5 के लिए योजनाबद्ध जब पोस्ट किया जाए तो V1_5_BRIEF देखें। |
78
+ | Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | आरामदायक। पूरी अनुक्रम लंबाई, अतिरिक्त जगह। |
79
+ | SmolLM3-3B / Qwen2.5-3B / Llama-3.2-3B / Llama-3.2-1B | `mode="full"` (पूर्ण फाइन-ट्यूनिंग) | v1.4 - `backprop train` या `Trainer(..., mode="full")` पर `--mode=full` पास करें। पूर्ण-सटीक (bf16) भार लोड करता है - कोई 4-बिट नहीं, कोई एडाप्टर नहीं; ग्रेडिएंट चेकपॉइंटिंग + पेज्ड 8-बिट एडम इसे 16GB के भीतर रखता है। |
80
+ | Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | मानक। ~7-8 GB। बैकप्रोपैगेट के डिफ़ॉल्ट प्रीसेट। |
81
+ | Llama-3 13B | QLoRA + नमूना पैकिंग | तंग लेकिन काम करता है। कम अनुक्रमों का उपयोग करें। |
82
+ | Mixtral 8x7B (कुल 47B पैरामीटर) | | दायरे से बाहर - 2-बिट (AQLM / QuIP#) मर्ज करने योग्य-एडाप्टर + GGUF-निर्यात अनुबंध को तोड़ता है, इसलिए इसे [v1.5 प्रक्षेपवक्र संक्षिप्त](docs/V1_5_BRIEF.md) में वापस ले लिया गया। 16GB कार्ड पर, ≤8B बेस का उपयोग करें। |
83
83
 
84
- AQLM 2-बिट क्वांटाइजेशन (`quant_method="aqlm"`), जो Mixtral-8x7B के लिए 16GB पर एक प्रायोगिक विकल्प है, v1.4 के लिए निर्धारित था और अब v1.5 के लिए योजनाबद्ध है। `aqlm` लाइब्रेरी परिपक्व है; v1.4 में, पूर्ण फाइन-ट्यूनिंग के समर्थन को प्राथमिकता दी गई (≤3B मॉडलों के लिए `mode="full"`), एक नए क्वांटाइजेशन बैकएंड को जोड़ने की तुलना में। v1.5 के कार्यान्वयन योजना के लिए V1_5_BRIEF देखें जब वह पोस्ट किया जाए।
84
+ `mode="full"` 4B तक के मॉडल को स्वीकार करता है। ऊपर दी गई पूर्ण-एफटी पंक्ति में चार प्रीसेट वास्तविक ~3B (सत्य पैरामीटर गणना 3.08-3.24B) हैं और 16GB कार्ड पर फिट होते हैं। 3.8-4B वर्ग (Phi-4-mini-3.8B, Qwen-3.5-4B) भी सीमा द्वारा स्वीकार किया जाता है, लेकिन पूर्ण FT के लिए 24GB+ कार्ड की आवश्यकता होती है - भार + ग्रेडिएंट अकेले 16GB तक पहुंचते हैं, इससे पहले कि ऑप्टिमाइज़र और सक्रियण - इसलिए 16GB कार्ड पर उन पर `mode="lora"` का उपयोग करें (वे LoRA पंक्ति में हैं)। 4B से अधिक मॉडल `RUNTIME_FULL_FT_MODEL_TOO_LARGE` के साथ बाहर निकल जाते हैं।
85
85
 
86
- 3B और उससे छोटे मॉडलों के लिए, 16GB पर पूर्ण फाइन-ट्यूनिंग (सिर्फ LoRA नहीं) संभव है और अब v1.4 में `mode="full"` के रूप में उपलब्ध है। इसे सक्षम करने के लिए `Trainer(..., mode="full")` या `backprop train --mode=full --model phi-4-mini-3.8b` का उपयोग करें। 3B से बड़े मॉडलों के लिए, यह मोड `RUNTIME_FULL_FT_MODEL_TOO_LARGE` त्रुटि के साथ अस्वीकार कर दिया जाता है, और LoRA और 3B से छोटे मॉडलों को रिकवरी विकल्प के रूप में सूचीबद्ध किया जाता है। कॉन्फ़िगरेशन गणित और Biderman 2024 / Thinking Machines 2025 द्वारा किए गए गुणवत्ता तुलना के लिए [पूर्ण फाइन-ट्यूनिंग हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) देखें। 7B+ मॉडलों के लिए, पूर्ण फाइन-ट्यूनिंग के लिए 24GB+ GPU की आवश्यकता होती है एक A100 क्लाउड रेंटल पर विचार करें, या LoRA का उपयोग करें, जो हाल के शोध से पता चलता है कि अधिकांश पोस्ट-ट्रेनिंग कार्यों पर पूर्ण फाइन-ट्यूनिंग की गुणवत्ता से मेल खाता है (संदर्भों के लिए [एंटी-पिच अनुभाग](#what-backpropagate-is-not-for) देखें)।
86
+ 2-बिट परिमाणीकरण (AQLM / QuIP#) **दायरे से बाहर है।** इसे v1.4 के लिए निर्धारित किया गया था, फिर [v1.5 प्रक्षेपवक्र संक्षिप्त](docs/V1_5_BRIEF.md) में वापस ले लिया गया: 2-बिट बेस को पूर्ण-सटीक भार में साफ-सुथरा तरीके से वापस मर्ज नहीं किया जा सकता है, जो बैकप्रोपैगेट के मर्ज करने योग्य-एडाप्टर GGUF ओलामा निर्यात अनुबंध को तोड़ता है (पाइपलाइन का पूरा बिंदु)। इसके बजाय बैकप्रोपैगेट द्वारा भेजे जाने वाले हेडरूम लीवर v1.5 **FP8 कंप्यूट पथ** (`--fp8`, ब्लैकवेल/हॉपर) और ≤4B मॉडल के लिए `mode="full"` हैं - दोनों मर्ज करने योग्य और निर्यात करने योग्य बने रहते हैं।
87
+
88
+ 3B और उससे छोटे मॉडल के लिए, 16GB पर पूर्ण फाइन-ट्यूनिंग (केवल LoRA नहीं) संभव है और अब v1.4 में `mode="full"` के रूप में उपलब्ध है। इसे सक्षम करने के लिए `Trainer(..., mode="full")` या `backprop train --mode=full --model phi-4-mini-3.8b` पास करें। एक कठोर गेट > 4B मॉडल के लिए मोड को `RUNTIME_FULL_FT_MODEL_TOO_LARGE` के साथ अस्वीकार करता है, LoRA + 4B से कम प्रीसेट को रिकवरी विकल्पों के रूप में नामित करता है। कॉन्फ़िगरेशन गणित + बिडरमैन 2024 / थिंकिंग मशीन 2025 गुणवत्ता तुलना के लिए [पूर्ण फाइन-ट्यूनिंग हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) देखें। 7B+ मॉडल के लिए, पूर्ण फाइन-ट्यूनिंग के लिए 24GB+ GPU की आवश्यकता होती है - A100 क्लाउड रेंटल पर विचार करें, या LoRA के साथ बने रहें, जो हालिया शोध से पता चलता है कि अधिकांश पोस्ट-ट्रेनिंग कार्यों पर पूर्ण फाइन-ट्यूनिंग गुणवत्ता से मेल खाता है (संदर्भ के लिए [एंटी-पिच अनुभाग](#what-backpropagate-is-not-for) देखें)।
87
89
 
88
90
  ## बैकप्रोपैगेट किसके लिए नहीं है
89
91
 
90
- यदि आपका उपयोग-मामला नीचे दिए गए में से है, तो आपको किसी अन्य लाइब्रेरी के साथ बेहतर अनुभव होगा Backpropagate सही विकल्प नहीं है, और इसे काम करने के लिए मजबूर करने से सही उपकरण का उपयोग करने की तुलना में अधिक लागत आएगी। इस अनुभाग को शुरू करने से पहले पढ़ना, इंस्टॉलेशन और परीक्षण चक्र को बचाता है:
92
+ यदि आपका उपयोग मामला नीचे दिया गया है, तो आपको किसी अन्य लाइब्रेरी के साथ बेहतर अनुभव होगा - बैकप्रोपैगेट सही विकल्प नहीं है और इसे काम करने की कोशिश करने से सही उपकरण तक पहुंचने से अधिक खर्च आएगा। शुरू करने से पहले इस अनुभाग को पढ़ने से इंस्टॉलेशन-और-वापस जाने के चक्र से बचा जा सकता है:
91
93
 
92
- - **7B+ मॉडलों का पूर्ण-पैरामीटर फाइन-ट्यूनिंग** — Backpropagate LoRA / QLoRA का उपयोग करता है, जो प्रत्येक वजन को अपडेट करने के बजाय एक छोटे एडाप्टर को प्रशिक्षित करता है। 7B और उससे बड़े मॉडलों के लिए, पूर्ण फाइन-ट्यूनिंग के लिए 24GB+ GPU मेमोरी की आवश्यकता होती है और यह 16GB के उपभोक्ता कार्ड पर फिट नहीं होता है। 3B और उससे छोटे मॉडलों के लिए, पूर्ण फाइन-ट्यूनिंग 16GB पर संभव है और v1.4 में `mode="full"` के रूप में उपलब्ध है ( `Trainer(..., mode="full")` या `--mode=full` का उपयोग करके CLI पर; 3B से बड़े मॉडलों के लिए `RUNTIME_FULL_FT_MODEL_TOO_LARGE` त्रुटि उत्पन्न होती है और LoRA और 3B से छोटे मॉडल को रिकवरी विकल्प के रूप में सूचीबद्ध किया जाता है)। बड़ी तस्वीर: हाल के शोध ([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/)) से पता चलता है कि LoRA, सही कॉन्फ़िगरेशन के साथ, अधिकांश पोस्ट-ट्रेनिंग कार्यों (निर्देश-अनुसरण, डोमेन अनुकूलन, व्यक्तित्व/शैली) पर पूर्ण फाइन-ट्यूनिंग की गुणवत्ता से मेल खाता है, और यह 67% कम कंप्यूट संसाधनों का उपयोग करता है — इसलिए, अधिकांश ऑपरेटरों द्वारा किए जाने वाले कार्यों के लिए, LoRA का उपयोग करने से आपको कुछ भी नहीं खोना पड़ता। `mode="full"` उन मामलों के लिए मौजूद है जहां आपने गुणवत्ता में अंतर को मापा है और अतिरिक्त कंप्यूट संसाधनों का उपयोग करने का निर्णय लिया है। यदि आपको वास्तव में 7B+ मॉडल का पूर्ण फाइन-ट्यूनिंग करने की आवश्यकता है, तो HuggingFace `transformers.Trainer` का उपयोग सीधे 24GB+ कार्ड पर करें।
93
- - **DPO / PPO / GRPO / प्राथमिकता ट्यूनिंग** Backpropagate केवल सिंगल-स्टेज सुपरवाइज्ड फाइन-ट्यूनिंग करता है। प्राथमिकता सीखने के लिए, सीधे TRL या LLaMA-Factory का उपयोग करें।
94
- - **मल्टी-नोड प्रशिक्षण** — केवल एक मशीन पर सिंगल GPU। एक मशीन पर मल्टी-GPU काम करता है ( `accelerate launch` के माध्यम से), लेकिन आधिकारिक तौर पर समर्थित नहीं है।
95
- - **macOS प्रशिक्षण** — Apple Silicon में CUDA नहीं है, इसलिए प्रशिक्षण को Linux या Windows बॉक्स पर NVIDIA GPU के साथ चलाना होगा। आप प्रशिक्षित मॉडल को Ollama के माध्यम से Mac पर चला सकते हैं।
96
- - **परीक्षण किए गए मॉडल परिवारों के बाहर की कोई भी चीज़** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B। अन्य मॉडल अक्सर काम करते हैं लेकिन CI में पिन नहीं किए गए हैं।
94
+ - **7B+ मॉडल का पूर्ण-पैरामीटर फाइन-ट्यूनिंग** — बैकप्रोपगेट LoRA / QLoRA का उपयोग करता है, जो हर वेट को अपडेट करने के बजाय एक छोटे एडाप्टर को प्रशिक्षित करता है। 7B और उससे बड़े मॉडल के लिए, पूर्ण फाइन-ट्यूनिंग के लिए 24GB+ GPU मेमोरी की आवश्यकता होती है और यह 16GB उपभोक्ता कार्ड पर फिट नहीं होता है। 3B और उससे छोटे मॉडल के लिए, पूर्ण फाइन-ट्यूनिंग 16GB पर संभव है और v1.4 में `mode="full"` के रूप में उपलब्ध है (CLI पर `Trainer(..., mode="full")` या `--mode=full` पास करें; एक हार्ड गेट 4B से बड़े मॉडल के लिए `RUNTIME_FULL_FT_MODEL_TOO_LARGE` उत्पन्न करता है और 4B से छोटे मॉडल के लिए LoRA + प्रीसेट को रिकवरी के रूप में नामित करता है)। मुख्य बात: हालिया शोध ([बिडरमैन 2024](https://arxiv.org/abs/2405.09673), [थिंकिंग मशीन्स 2025](https://thinkingmachines.ai/blog/lora/)) दर्शाता है कि सही कॉन्फ़िगरेशन पर LoRA, अधिकांश पोस्ट-ट्रेनिंग कार्यों (निर्देश-अनुपालन, डोमेन अनुकूलन, व्यक्तित्व/शैली) पर पूर्ण फाइन-ट्यूनिंग गुणवत्ता से मेल खाता है, जो 67% कंप्यूट शक्ति का उपयोग करता है — इसलिए, अधिकांश ऑपरेटरों द्वारा वास्तव में वांछित कार्य के लिए, LoRA का उपयोग करने से कोई नुकसान नहीं होता है। `mode="full"` उन मामलों के लिए मौजूद है जहां आपने गुणवत्ता में अंतर मापा है और अतिरिक्त कंप्यूट शक्ति खर्च करने का निर्णय लिया है। यदि आपको वास्तव में 7B+ मॉडल के पूर्ण फाइन-ट्यूनिंग की आवश्यकता है, तो HuggingFace `transformers.Trainer` को सीधे 24GB+ कार्ड पर उपयोग करें।
95
+ - **ऑनलाइन RL PPO / GRPO / RLVR** — बैकप्रोपगेट सिंगल-स्टेज SFT प्लस संदर्भ-मुक्त प्राथमिकता ट्यूनिंग करता है (ORPO v1.5 में उपलब्ध है; SimPO/KTO की योजना बनाई जा रही है)। यह जो *नहीं* करता है, वह है ऑनलाइन रीइन्फोर्समेंट लर्निंग — PPO, GRPO, या RLVR — जिसके लिए एक इनाम मॉडल या प्रशिक्षण चरण के शीर्ष पर एक पीढ़ी-और-स्कोरिंग लूप की आवश्यकता होती है। उन कार्यों के लिए, TRL या LLaMA-Factory का सीधे उपयोग करें। (संदर्भ-मुक्त प्राथमिकता ट्यूनिंग सिंगल-स्टेज एनवेलप में फिट बैठता है क्योंकि मेमोरी में रखने के लिए कोई अलग संदर्भ मॉडल नहीं है; [क्विक स्टार्ट](#quick-start) के तहत ORPO नोट देखें)।
96
+ - **मल्टी-नोड प्रशिक्षण** — केवल एक मशीन पर एक GPU। एक मशीन पर मल्टी-GPU काम करता है ( `accelerate launch` के माध्यम से) लेकिन आधिकारिक तौर पर समर्थित नहीं है।
97
+ - **CUDA रेल पर macOS प्रशिक्षण** — Apple Silicon में CUDA नहीं है, इसलिए CUDA पथ को NVIDIA GPU वाले Linux या Windows बॉक्स पर चलाना होगा। आप अभी भी प्रशिक्षित मॉडल को Ollama के माध्यम से Mac पर चला सकते हैं। **v1.5 में नया:** एक प्रायोगिक MLX रेल (`--backend mlx`) Apple Silicon पर मूल रूप से LoRA एडाप्टर को प्रशिक्षित करता है — [Apple Silicon (MLX)](#apple-silicon-mlx--experimental-v15) देखें। यह केवल LoRA-SFT है और वास्तविक सिलिकॉन पर बनाया गया है, लेकिन अभी तक पूरी तरह से सत्यापित नहीं है, इसलिए LoRA SFT (ORPO, पूर्ण फाइन-ट्यून, FP8, मल्टी-रन) से परे किसी भी चीज़ के लिए, आप अभी भी CUDA रेल का उपयोग करना चाहेंगे।
98
+ - **परीक्षण किए गए मॉडल परिवारों के बाहर कुछ भी** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B। अन्य मॉडल अक्सर काम करते हैं लेकिन CI में पिन नहीं किए गए हैं।
97
99
 
98
100
  यदि आपको इनमें से किसी भी चीज़ की आवश्यकता है, तो ऊपर सूचीबद्ध पुस्तकालयों में से किसी एक का उपयोग करें। वे इसमें बेहतर हैं।
99
101
 
100
- ## बैकप्रोपगेट आपको क्या देता है
102
+ ## बैकप्रोपगेट आपको क्या प्रदान करता है
101
103
 
102
- एक इंस्टॉलेशन में, चार चीजें:
104
+ एक इंस्टॉलेशन में चार चीजें:
103
105
 
104
- **1. एक वास्तविक 3-पंक्ति API जो किसी कॉन्फ़िगरेशन फ़ाइल के बिना चलता है।**
105
- इस README के शीर्ष पर दिया गया स्निपेट एंड-टू-एंड चलता है। कोई `accelerate config` नहीं, कोई YAML नहीं, कोई Hydra ओवरराइड नहीं। बस `Trainer(model).train(data)` और आपके पास फाइन-ट्यूनिंग है।
106
+ **1. एक वास्तविक 3-लाइन API जो बिना कॉन्फ़िगरेशन फ़ाइल के चलता है।**
107
+ इस README के शीर्ष पर दिया गया स्निपेट एंड-टू-एंड चलता है। कोई `accelerate config`, कोई YAML, कोई हाइड्रा ओवरराइड नहीं। बस `Trainer(model).train(data)` और आपके पास एक फाइन-ट्यून मॉडल है।
106
108
 
107
109
  **2. विंडोज जो वास्तव में काम करता है।**
108
- अधिकांश ML लाइब्रेरी विंडोज को एक afterthought के रूप में मानते हैं। बैकप्रोपगेट का परीक्षण Windows + RTX 5080 पर पहले दर्जे का किया गया है। लाइब्रेरी आपके लिए रनटाइम की विचित्रताओं को संभालती है - यह जानता है कि आपके डेटा को कैसे प्री-टोकनाइज़ करना है ताकि विंडोज मल्टीप्रोसेसिंग क्रैश न हो, यह स्वचालित रूप से RTX 40/50 कार्ड पर xformers को अक्षम कर देता है जहां यह खराब हो जाता है, और यह डेटालोडर सेटिंग्स चुनता है जो खराब नहीं होती हैं। आपको इनमें से कुछ भी जानने की आवश्यकता नहीं है। यह बस चलता है।
110
+ अधिकांश ML पुस्तकालय विंडोज को एक afterthought के रूप में मानते हैं। बैकप्रोपगेट को विंडोज + RTX 5080 पर पहले से परीक्षण किया गया है। पुस्तकालय आपके लिए रनटाइम की विशिष्टताओं को संभालता है यह जानता है कि आपके डेटा को पहले से कैसे टोकनाइज़ करना है ताकि विंडोज मल्टीप्रोसेसिंग क्रैश न हो, यह स्वचालित रूप से RTX 40/50 कार्ड पर xformers को अक्षम कर देता है जहां यह विफल हो जाएगा, और यह डेटा लोडर सेटिंग्स चुनता है जो विफल नहीं होते हैं। आपको इनमें से किसी भी चीज़ को जानने की आवश्यकता नहीं है। यह बस चलता है।
109
111
 
110
- **3. बिना पर्यवेक्षण के चलने के लिए बनाया गया।**
111
- प्रशिक्षण में घंटों लगते हैं। आप इसका ध्यान नहीं रखना चाहते। बैकप्रोपगेट को चलने के लिए डिज़ाइन किया गया है:
112
+ **3. बिना निगरानी वाले रनों के लिए बनाया गया।**
113
+ प्रशिक्षण में घंटों लगते हैं। आप इसकी निगरानी नहीं करना चाहते हैं। बैकप्रोपगेट को लगातार चलने के लिए डिज़ाइन किया गया है:
112
114
 
113
- - यदि आपके पास GPU मेमोरी खत्म हो जाती है, तो यह स्वचालित रूप से बैच आकार को आधा कर देता है और पुनः प्रयास करता है - अधिकतम तीन बार। कोई मैनुअल ट्यूनिंग नहीं।
114
- - यदि आपका GPU बहुत गर्म हो जाता है, तो यह तब तक रुक जाता है जब तक कि चीजें ठंडी न हो जाएं और फिर जारी रहता है।
115
- - प्रत्येक चेकपॉइंट को परमाणु रूप से लिखा जाता है - यदि आपका लैपटॉप बचत के दौरान क्रैश हो जाता है, तो पिछला अच्छा चेकपॉइंट अभी भी बरकरार रहता है।
116
- - प्रत्येक प्रशिक्षण रन को एक अद्वितीय ID मिलता है जो प्रत्येक लॉग लाइन, प्रत्येक चेकपॉइंट और प्रत्येक Weights & Biases प्रविष्टि पर अंकित होता है। यदि कुछ गलत होता है, तो एक ID एक रखरखावकर्ता को सब कुछ सहसंबंधित करने की अनुमति देता है।
117
- - त्रुटियां स्थिर कोड के साथ आती हैं (`RUNTIME_GPU_OOM`, `DEP_OLLAMA_REGISTRATION_FAILED`, आदि) ताकि आप अपने लॉग को खोज सकें और [समस्या निवारण गाइड](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) में समाधान ढूंढ सकें। CUDA-विशिष्ट विफलताओं के लिए एक समर्पित [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) है।
115
+ - यदि आपके पास GPU मेमोरी कम हो जाती है, तो यह स्वचालित रूप से बैच आकार को आधा कर देता है और तीन बार तक पुनः प्रयास करता है। कोई मैन्युअल ट्यूनिंग नहीं।
116
+ - यदि आपका GPU बहुत गर्म हो जाता है, तो यह तब तक रुक जाता है जब तक कि चीजें शांत न हो जाएं और फिर जारी रहता है।
117
+ - प्रत्येक चेकपॉइंट को परमाणु रूप से लिखा जाता है यदि आपका लैपटॉप मध्य-सहेजते समय क्रैश हो जाता है, तो पिछला अच्छा चेकपॉइंट अभी भी बरकरार रहता है।
118
+ - प्रत्येक प्रशिक्षण रन को एक अद्वितीय ID मिलता है जो प्रत्येक लॉग लाइन, प्रत्येक चेकपॉइंट और प्रत्येक वेट्स एंड बायसेस प्रविष्टि पर मुद्रित होता है। यदि कुछ गलत हो जाता है, तो एक ID एक रखरखावकर्ता को सब कुछ सहसंबंधित करने की अनुमति देता है।
119
+ - त्रुटियां स्थिर कोड के साथ आती हैं (`RUNTIME_GPU_OOM`, `DEP_OLLAMA_REGISTRATION_FAILED`, आदि) ताकि आप अपने लॉग और [समस्या निवारण मार्गदर्शिका](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) में समाधान खोज सकें। CUDA-विशिष्ट विफलताओं के लिए एक समर्पित [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) है।
118
120
 
119
121
  **4. प्रशिक्षित एडाप्टर से `ollama run` तक एक कमांड।**
120
- कई लाइब्रेरी एक मॉडल को प्रशिक्षित करती हैं। उनमें से बहुत कम ही आपको तब भी रास्ता देते हैं जब आप वास्तव में इसका उपयोग करना चाहते हैं। बैकप्रोपगेट GGUF (वह प्रारूप जिसका उपयोग Ollama करता है) में निर्यात करता है और एक कमांड में एक Ollama मॉडल को पंजीकृत करता है। आप "प्रशिक्षण पूरा हुआ" से "मैं अपने फाइन-ट्यून मॉडल के साथ चैट कर सकता हूं" तक लगभग 30 सेकंड में पहुँच जाते हैं।
122
+ कई पुस्तकालय एक मॉडल को प्रशिक्षित करते हैं। उनमें से कुछ ही आपको वास्तव में इसका उपयोग करने पर रास्ते से हटते हैं। बैकप्रोपगेट GGUF (Ollama द्वारा उपयोग किया जाने वाला प्रारूप) में निर्यात करता है और एक कमांड में एक Ollama मॉडल को पंजीकृत करता है। आप "प्रशिक्षण पूरा" से "मैं अपने फाइन-ट्यून मॉडल के साथ चैट कर सकता हूं" लगभग 30 सेकंड में जा सकते हैं।
121
123
 
122
- ## शुरुआत कैसे करें।
124
+ ## त्वरित शुरुआत
123
125
 
124
- यह रिपॉजिटरी एक छोटा उदाहरण डेटासेट प्रदान करता है, ताकि इस README फ़ाइल के शीर्ष पर दिया गया कोड एक नए इंस्टॉलेशन पर भी चल सके:
126
+ रिपो एक छोटा सा उदाहरण डेटासेट भेजता है ताकि इस README के शीर्ष पर दिया गया स्निपेट एक स्वच्छ इंस्टॉलेशन पर चले:
125
127
 
126
128
  ```bash
127
129
  pipx install "backpropagate[standard]"
@@ -134,31 +136,80 @@ trainer.export('gguf', quantization='q4_k_m')
134
136
  "
135
137
  ```
136
138
 
137
- यह 5 छोटे ShareGPT-प्रारूप वाले वार्तालापों पर Qwen 2.5 7B एडेप्टर को प्रशिक्षित करता है, और फिर परिणाम को GGUF प्रारूप में निर्यात करता है। अपने स्वयं के डेटा के लिए, अपने JSONL फ़ाइल को एक उदाहरण प्रति पंक्ति के प्रारूप में व्यवस्थित करें:
139
+ यह 5 छोटे ShareGPT-प्रारूप वार्तालापों पर Qwen 2.5 7B एडाप्टर को प्रशिक्षित करता है, फिर परिणाम को GGUF में निर्यात करता है। अपने स्वयं के डेटा के लिए, अपने JSONL को एक पंक्ति में एक उदाहरण के रूप में स्वरूपित करें:
138
140
 
139
141
  ```jsonl
140
142
  {"conversations": [{"from": "human", "value": "What is Python?"}, {"from": "gpt", "value": "A programming language."}]}
141
143
  {"conversations": [{"from": "human", "value": "Explain recursion."}, {"from": "gpt", "value": "A function that calls itself."}]}
142
144
  ```
143
145
 
144
- Alpaca (`instruction` / `output`), OpenAI चैट (`messages`), और कच्चे टेक्स्ट प्रारूप भी काम करते हैं - Backpropagate स्वचालित रूप से प्रारूप का पता लगाता है।
146
+ अल्पाका (`instruction` / `output`), OpenAI चैट (`messages`), और कच्चे पाठ प्रारूप भी काम करते हैं बैकप्रोपगेट प्रारूप का स्वचालित रूप से पता लगाता है।
147
+
148
+ ### वरीयता ट्यूनिंग (ओआरपीओ, सिम्पो, केटीओ)
149
+
150
+ v1.5 में नया: सादे प्रदर्शनों के बजाय प्राथमिकताओं पर प्रशिक्षित करें। ORPO संदर्भ-मुक्त और सिंगल-स्टेज है — यह प्राथमिकता संकेत को SFT चरण में जोड़ता है, इसलिए कोई अलग इनाम या संदर्भ मॉडल नहीं है और 3-लाइन आकार अपरिवर्तित रहता है। `--method orpo` (CLI) या `method="orpo"` (Python) पास करें और `{prompt, chosen, rejected}` (या केवल `{chosen, rejected}`) पंक्तियों के एक डेटासेट को फीड करें:
151
+
152
+ ```jsonl
153
+ {"prompt": "What is Python?", "chosen": "A high-level programming language known for readability.", "rejected": "idk look it up"}
154
+ {"prompt": "Explain recursion.", "chosen": "A function that calls itself with a smaller input until a base case.", "rejected": "when something repeats"}
155
+ ```
156
+
157
+ ```python
158
+ from backpropagate import Trainer
159
+
160
+ trainer = Trainer("Qwen/Qwen2.5-7B-Instruct", method="orpo")
161
+ trainer.train("preferences.jsonl", steps=100)
162
+ trainer.export("gguf", quantization="q4_k_m")
163
+ ```
164
+
165
+ ```bash
166
+ backprop train --data preferences.jsonl --method orpo --steps 100
167
+ ```
168
+
169
+ ओआरपीओ के लिए डिफ़ॉल्ट लर्निंग दर स्वचालित रूप से घटकर `8e-6` हो जाती है (क्योंकि इसका नुकसान साधारण एसएफटी की तुलना में अधिक तीव्र होता है); ऑड्स-अनुपात दंड को भारित करने के लिए `--orpo-beta` (डिफ़ॉल्ट `0.1`) ट्यून करें। ओआरपीओ केवल `mode="lora"` पर ही काम करता है।
145
170
 
146
- अधिक एंड-टू-एंड वर्कफ़्लो (जैसे, फाइन-ट्यूनिंग और Hugging Face हब पर अपलोड करना, OOM होने पर पुनः आरंभ करना, एक लंबे अभियान में कई बार चलाना, आदि) के लिए, [हैंडबुक रेसिपीज़ पेज](https://mcp-tool-shop-org.github.io/backpropagate/handbook/recipes/) देखें।
171
+ **v1.6 में नया — सिम्पो और केटीओ।** `--method simpo` ([मेंग एट अल. 2024](https://arxiv.org/abs/2405.14734)) लंबाई-मानकीकृत इनाम के साथ संदर्भ-मुक्त है और ओआरपीओ के समान युग्मित `{prompt, chosen, rejected}` डेटा लेता है (`--simpo-beta`, `--simpo-gamma`)। `--method kto` ([एथयाराज एट अल. 2024](https://arxiv.org/abs/2402.01306)) **युग्मित नहीं** `{prompt, completion, label}` डेटा लेता है — प्रति उदाहरण थंब्स-अप/डाउन — प्रतिक्रिया के उस बड़े वर्ग के लिए जो क्यूरेटेड ए/बी युग्म नहीं हैं; यह आपके लेबल गणनाओं से वांछनीय/अवांछनीय नुकसान भार को स्वचालित रूप से संतुलित करता है। दोनों केवल `mode="lora"` पर ही काम करते हैं और सिंगल-जीपीयू एसएफटी लिफाफे में रहते हैं (कोई अलग संदर्भ मॉडल नहीं) इसका उपयोग किस लिए करना है, इसके लिए [वरीयता-ट्यूनिंग हैंडबुक](https://mcp-tool-shop-org.github.io/backpropagate/handbook/preference-tuning/) देखें। ऑनलाइन आरएल (पीपीओ/जीआरपीओ) के लिए [बैकप्रोपगेट क्या नहीं है](#what-backpropagate-is-not-for) देखें।
172
+
173
+ ### तर्क-आधारित SFT (R1 डिस्टिलेशन)
174
+
175
+ v1.5 में नया: तर्क मॉडल को आसानी से डिस्टिल करें। `--reasoning-trace` (CLI) या `Trainer(..., reasoning_trace=True)` (Python) पास करें और ऐसे ट्रेस प्रदान करें जो सहायक के टर्न के अंदर `<think>...</think>` श्रृंखला-आधारित विचार को बनाए रखें — यह [DeepSeek-R1](https://arxiv.org/abs/2501.12948) डिस्टिलेशन का शुद्ध-SFT आधा हिस्सा है, RL की आवश्यकता नहीं है। बैकप्रोपैगेट प्रशिक्षण लक्ष्य में `<think>` को बनाए रखता है, खाली/अत्यधिक लंबे ट्रेस को हटा देता है (ट्रेस-लंबाई फ़िल्टरिंग), और लंबे CoT के लिए डिफ़ॉल्ट `max_seq_length` को 8192 तक बढ़ाता है। महत्वपूर्ण रूप से, `<think>` **सादा पाठ** रहता है — कोई विशेष टोकन नहीं, कोई एम्बेडिंग आकार परिवर्तन नहीं — इसलिए मर्ज किया गया GGUF अभी भी किसी अन्य फाइन-ट्यून की तरह Ollama में निर्यात होता है। केवल SFT। डेटासेट आकार और समायोज्य टोकन बैंड के लिए [reasoning-trace recipe](https://mcp-tool-shop-org.github.io/backpropagate/handbook/recipes/#reasoning-trace-sft-r1-distillation) देखें।
176
+
177
+ ### एप्पल सिलिकॉन (MLX) — प्रयोगात्मक, v1.5
178
+
179
+ v1.5 में नया: **एक API, दो रेल।** CUDA डिफ़ॉल्ट, सत्यापित बैकएंड बना रहता है; MLX एक दूसरी रेल है जो Apple के [`mlx_lm.lora`](https://github.com/ml-explore/mlx-lm) टूलचेन के माध्यम से M-श्रृंखला Mac पर प्रशिक्षित होती है (एकीकृत मेमोरी, कोई CUDA नहीं)। समान 3-पंक्ति आकार हार्डवेयर द्वारा रेल का चयन करता है — `backend='auto'` (डिफ़ॉल्ट) NVIDIA पर CUDA और Apple सिलिकॉन पर MLX पर रूट करता है, इसलिए मौजूदा CUDA सेटअप बाइट-दर-बाइट समान हैं:
180
+
181
+ ```python
182
+ from backpropagate import Trainer
183
+
184
+ # On an M-series Mac with `pip install 'backpropagate[mlx]'`:
185
+ trainer = Trainer("mlx-community/Qwen2.5-0.5B-Instruct-4bit", backend="mlx")
186
+ trainer.train("examples/quickstart.jsonl", steps=100)
187
+ ```
188
+
189
+ ```bash
190
+ backprop train --data my_data.jsonl --backend mlx --steps 100
191
+ ```
192
+
193
+ v1.5 में MLX रेल **केवल LoRA SFT है** — कोई ORPO नहीं, कोई FP8 नहीं, कोई `mode='full'` नहीं, अभी तक MLX पर कोई मल्टी-रन नहीं (प्रत्येक को `CONFIG_INVALID_SETTING` के साथ अस्वीकार कर दिया जाता है; उन कार्यों के लिए NVIDIA बॉक्स पर `backend='cuda'`/`'auto'` का उपयोग करें)। परिणामी एडाप्टर सादा सेफ़टेंसर है और उसी पथ के माध्यम से CUDA रेल की तरह Ollama में निर्यात होता है।
194
+
195
+ > ⚠️ **सटीक स्थिति:** एमएलएक्स रेल v1.5 में **निर्मित + यूनिट-परीक्षण (मॉक किया गया)** के साथ आता है, लेकिन अभी तक वास्तविक ऐप्पल सिलिकॉन पर **डॉगफूड-सत्यापित नहीं** है — `mlx-lm` केवल ऐप्पल के लिए है और इसे उस एनवीडिया रिग पर नहीं चलाया जा सकता था जिस पर यह बनाया गया था। इसे प्रयोगात्मक मानें — वही ढांचा जो v1.5 में एफपी8 पथ में था (एफपी8 को v1.6 में ब्लैकवेल पर डॉगफूड-सत्यापित किया गया; एमएलएक्स को अभी भी वास्तविक सिलिकॉन पर उस चरण से गुजरने की आवश्यकता है) — और कृपया एक बार जब यह एम-सीरीज़ मैक पर चलता है, तो [विसंगतियों की रिपोर्ट करें](#reporting-bugs)। गैर-एप्पल होस्ट पर `--backend mlx` को जबरदस्ती लागू करने पर `CONFIG_INVALID_SETTING` त्रुटि आती है; मैक पर लापता `mlx_lm` टूलचेन `DEP_MLX_UNAVAILABLE` उत्पन्न करता है।
196
+
197
+ अधिक एंड-टू-एंड वर्कफ़्लो (फाइन-ट्यून-एंड-पुश-टू-HF-हब, OOM के बाद फिर से शुरू करें, लंबे अभियान में मल्टी-रन SLAO, आदि) के लिए [हैंडबुक रेसिपी पेज](https://mcp-tool-shop-org.github.io/backpropagate/handbook/recipes/) देखें।
147
198
 
148
199
  ### वेब UI (वैकल्पिक)
149
200
 
150
- यदि आप Python कोड लिखने के बजाय क्लिक करना पसंद करते हैं, तो UI एक्सट्रा स्थापित करें और लॉन्च करें:
201
+ यदि आप Python में टाइप करने के बजाय क्लिक करना पसंद करते हैं, तो UI एक्स्ट्रा स्थापित करें और लॉन्च करें:
151
202
 
152
203
  ```bash
153
204
  pipx install "backpropagate[ui]"
154
205
  backprop ui --port 7862
155
206
  ```
156
207
 
157
- एक स्थानीय वेब इंटरफ़ेस `http://localhost:7862` पर खुलता है, जहाँ आप एक डेटासेट का चयन कर सकते हैं, एक मॉडल चुन सकते हैं, प्रशिक्षण कर सकते हैं और परिणाम निर्यात कर सकते हैं। डिफ़ॉल्ट रूप से, UI केवल स्थानीय रूप से उपलब्ध होता है। इसे अन्य उपकरणों पर उपलब्ध कराने के लिए, `--share` + `--auth` सुरक्षा अनुबंध के लिए [वेब UI](#web-ui) अनुभाग देखें।
208
+ एक स्थानीय वेब इंटरफ़ेस `http://localhost:7862` पर खुलता है, जिसका उपयोग डेटासेट ब्राउज़ करने, प्रारूपों को मान्य करने और प्रशिक्षण कॉन्फ़िगरेशन को दृश्य रूप से इकट्ठा करने के लिए किया जा सकता है। प्रशिक्षण स्वयं `backprop train` के माध्यम से चलता है (UI-संचालित प्रशिक्षण रोडमैप पर है — स्टार्ट बटन वर्तमान में उस नोट को प्रदर्शित करता है)। UI डिफ़ॉल्ट रूप से केवल स्थानीय है। इसे अन्य उपकरणों तक विस्तारित करने के लिए, [Web UI](#web-ui) नीचे `--share` + `--auth` सुरक्षा अनुबंध देखें।
158
209
 
159
- ## कई बार प्रशिक्षण
210
+ ## मल्टी-रन प्रशिक्षण
160
211
 
161
- यदि आप कई डेटासेट पर क्रमिक रूप से फाइन-ट्यूनिंग करना चाहते हैं - उदाहरण के लिए, यदि आपको हर हफ्ते नया प्रशिक्षण डेटा मिलता है और आप इसे जोड़ना चाहते हैं, लेकिन पहले सीखी गई जानकारी को भूलना नहीं चाहते हैं - तो Backpropagate का `multi_run` मोड आपके लिए है:
212
+ यदि आप कई डेटासेट में वृद्धिशील रूप से फाइन-ट्यून करना चाहते हैं मान लीजिए कि आपको हर हफ्ते नया प्रशिक्षण डेटा मिलता है और आप इसे पहले से सीखे गए ज्ञान को भूले बिना जोड़ना चाहते हैं तो बैकप्रोपैगेट का `multi_run` मोड आपके लिए है:
162
213
 
163
214
  ```python
164
215
  from backpropagate import Trainer
@@ -173,17 +224,17 @@ result = trainer.multi_run(
173
224
  )
174
225
  ```
175
226
 
176
- यह पांच प्रशिक्षण चक्र चलाता है, और प्रत्येक चक्र के बीच एडेप्टर को इस तरह मर्ज करता है कि पिछली जानकारी बनी रहे और नए उदाहरण शामिल हों। यह तकनीक हाल के निरंतर-सीखने अनुसंधान पर आधारित है - [संदर्भ](#references) अनुभाग में अधिक जानकारी प्राप्त करें, जो इस README फ़ाइल के अंत में दिया गया है।
227
+ यह पांच प्रशिक्षण पास चलाता है, जो रन के बीच एडाप्टर को इस तरह से मर्ज करता है कि पहले के ज्ञान को संरक्षित किया जा सके, जबकि नए उदाहरणों को शामिल किया जा सके। यह तकनीक हालिया निरंतर-शिक्षण अनुसंधान पर आधारित है इस README के नीचे [References](#references) देखें।
177
228
 
178
- CLI (कमांड लाइन इंटरफ़ेस) संस्करण:
229
+ CLI संस्करण:
179
230
 
180
231
  ```bash
181
232
  backprop multi-run --data my_data.jsonl --runs 5 --steps 100 --samples 1000
182
233
  ```
183
234
 
184
- ## चेकपॉइंट से पुनः आरंभ करें
235
+ ## चेकपॉइंट से फिर से शुरू करें
185
236
 
186
- एक 5-चक्र प्रशिक्षण जो चौथे चक्र में क्रैश हो जाता है, उसे पुनः आरंभ किया जा सकता है। प्रत्येक `multi_run` सत्र अपनी रन आईडी को ऑन-डिस्क इतिहास और चेकपॉइंट मैनिफेस्ट में लिखता है, इसलिए जहां से आपने छोड़ा था, वहीं से शुरू करने के लिए केवल एक कमांड की आवश्यकता होती है:
237
+ 5-रन प्रशिक्षण जो रन 4 पर क्रैश हो जाता है, उसे ठीक किया जा सकता है। प्रत्येक मल्टी-रन सत्र अपने रन आईडी को ऑन-डिस्क इतिहास और चेकपॉइंट मेनिफेस्ट में लिखता है, इसलिए जहां आपने छोड़ा था, वहां से उठाना एक कमांड है:
187
238
 
188
239
  ```bash
189
240
  backprop resume <run-id>
@@ -191,11 +242,11 @@ backprop multi-run --data ... --resume <run-id>
191
242
  backprop train --data ... --resume <run-id> # single-run resume
192
243
  ```
193
244
 
194
- `backprop multi-run` का डिफ़ॉल्ट व्यवहार (बिना `--resume` विकल्प के) समान आउटपुट निर्देशिका में चल रहे सत्र का पता लगाता है और उसे जारी रखता है। यदि आप एक नए सत्र से शुरुआत करना चाहते हैं, तो एक नई आउटपुट निर्देशिका का उपयोग करें।
245
+ `backprop multi-run` (कोई `--resume` नहीं) का डिफ़ॉल्ट व्यवहार उसी आउटपुट निर्देशिका में एक प्रगति पर प्रविष्टि का स्वचालित रूप से पता लगाता है और उसे जारी रखता है। एक स्वच्छ शुरुआत के लिए, एक ताज़ा आउटपुट निर्देशिका पर इंगित करें।
195
246
 
196
247
  ## प्रशिक्षण इतिहास
197
248
 
198
- प्रत्येक `backprop train` और `backprop multi-run` कमांड `<output>/run_history.json` फ़ाइल में एक पंक्ति रिकॉर्ड करता है - उपयोग किया गया मॉडल, डेटासेट, हाइपरपैरामीटर, स्थिति, अंतिम हानि, हानि इतिहास। आप पिछले रनों को सूचीबद्ध और जांच सकते हैं:
249
+ प्रत्येक `backprop train` और `backprop multi-run` आह्वान `<output>/run_history.json` में एक पंक्ति रिकॉर्ड करता है उपयोग किया गया मॉडल, डेटासेट, हाइपरपैरामीटर, स्थिति, अंतिम हानि, हानि इतिहास। आप पिछले रन को सूचीबद्ध और निरीक्षण कर सकते हैं:
199
250
 
200
251
  ```bash
201
252
  backprop list-runs # last 20 runs
@@ -206,7 +257,7 @@ backprop show-run abcd1234 # detail view (partial ID is fine)
206
257
 
207
258
  ## प्रयोग ट्रैकिंग
208
259
 
209
- Backpropagate स्थापित प्रयोग ट्रैकर (Weights & Biases, TensorBoard, MLflow) का स्वचालित रूप से पता लगाता है और उन्हें एकीकृत करता है। यदि `wandb` स्थापित है और आप लॉग इन हैं, तो प्रत्येक रन स्वचालित रूप से W&B पर लॉग इन हो जाता है, और रन का नाम ऑन-डिस्क रन आईडी से मेल खाता है - जिससे आप W&B, अपने लॉग और `run_history.json` फ़ाइल में एक ही पहचानकर्ता का उपयोग करके खोज कर सकते हैं।
260
+ बैकप्रोपैगेट स्थापित प्रयोग ट्रैकर्स (वेट्स एंड बायसेस, टेंसरबोर्ड, MLflow) का स्वचालित रूप से पता लगाता है और उन्हें जोड़ता है। यदि `wandb` स्थापित है और आप लॉग इन हैं, तो प्रत्येक रन स्वचालित रूप से W&B में एक रन नाम के साथ लॉग करता है जो ऑन-डिस्क रन आईडी से मेल खाता है इसलिए आप W&B, अपने लॉग और `run_history.json` में एक पहचानकर्ता का उपयोग करके खोज सकते हैं।
210
261
 
211
262
  ```bash
212
263
  pip install backpropagate[monitoring] # installs wandb + psutil
@@ -214,23 +265,25 @@ wandb login # one-time setup
214
265
  backprop train --data my_data.jsonl
215
266
  ```
216
267
 
217
- `Trainer(report_to=["wandb"])`, `Trainer(report_to=["tensorboard"])`, या `Trainer(report_to="none")` का उपयोग करके इसे ओवरराइड किया जा सकता है।
268
+ `Trainer(report_to=["wandb"])`, `Trainer(report_to=["tensorboard"])`, या `Trainer(report_to="none")` के साथ ओवरराइड करें ताकि बाहर निकल सकें।
218
269
 
219
270
  ## वेब UI
220
271
 
221
- Reflex वेब इंटरफ़ेस वैकल्पिक है - इसे `pipx install "backpropagate[ui]"` के साथ स्थापित करें और लॉन्च करें:
272
+ रिफ्लेक्स वेब इंटरफ़ेस वैकल्पिक है `pipx install "backpropagate[ui]"` के साथ स्थापित करें और लॉन्च करें:
222
273
 
223
274
  ```bash
224
275
  backprop ui --port 7862
225
276
  ```
226
277
 
227
- UI स्थानीय रूप से `http://localhost:7862` पर चलता है। इसे अन्य उपकरणों पर उपलब्ध कराने के लिए (आपके नेटवर्क पर अन्य लोग, एक सार्वजनिक URL, आदि), आपको `--share` (या `--host`) को `--auth` के साथ जोड़ना होगा:
278
+ UI स्थानीय रूप से `http://localhost:7862` पर चलता है। आज यह वर्कफ़्लो के **ब्राउज़ / मान्य / कॉन्फ़िगर** आधे हिस्से को कवर करता है — इसे एक डेटासेट पर इंगित करें, स्वचालित रूप से पता लगाए गए प्रारूप और आँकड़ों की जांच करें, एक मॉडल चुनें और एक रन कॉन्फ़िगरेशन को इकट्ठा करें। **रन लॉन्च CLI से किया जाता है** (`backprop train` / `backprop multi-run`); UI में स्टार्ट बटन उस पर इंगित करने वाला एक नोट प्रदर्शित करता है। UI-संचालित प्रशिक्षण एक नियोजित अनुवर्ती है — तब तक UI ऑन-रैंप है और CLI ट्रिगर है।
279
+
280
+ इसे अन्य उपकरणों (आपके नेटवर्क पर अन्य लोग, एक सार्वजनिक URL, आदि) के साथ साझा करने के लिए, आपको `--share` (या `--host`) को `--auth` के साथ जोड़ना होगा:
228
281
 
229
282
  ```bash
230
283
  backprop ui --share --auth alice:hunter2
231
284
  ```
232
285
 
233
- `backprop ui --share` बिना `--auth` के एक त्रुटि के साथ समाप्त हो जाता है। इसका कारण यह है कि `--share` एक URL प्रकाशित करता है जिसे इंटरनेट पर कोई भी व्यक्ति एक्सेस कर सकता है, और बिना प्रमाणीकरण के, इसका मतलब है कि कोई भी आपके प्रशिक्षण पाइपलाइन को चला सकता है और आपके HuggingFace टोकन को पढ़ सकता है। इसके लिए कोई विकल्प उपलब्ध नहीं है - यदि आप क्रेडेंशियल सेट नहीं करना चाहते हैं, तो SSH पोर्ट-फॉरवर्डिंग का उपयोग करें:
286
+ `backprop ui --share` बिना `--auth` के त्रुटि के साथ समाप्त हो जाता है। कारण: `--share` एक URL प्रकाशित करता है जिस तक इंटरनेट पर कोई भी पहुंच सकता है, और प्रमाणीकरण के बिना, इसका मतलब है कि कोई भी आपके प्रशिक्षण पाइपलाइन को चला सकता है और आपके HuggingFace टोकन को पढ़ सकता है। इसके लिए कोई विकल्प नहीं है - यदि आप क्रेडेंशियल सेट नहीं करना चाहते हैं, तो इसके बजाय SSH पोर्ट-फ़ॉरवर्डिंग का उपयोग करें:
234
287
 
235
288
  ```bash
236
289
  # On the client:
@@ -242,30 +295,30 @@ backprop ui # no --share
242
295
 
243
296
  पूर्ण खतरे के मॉडल के लिए [handbook/security.md](https://mcp-tool-shop-org.github.io/backpropagate/handbook/security/) देखें।
244
297
 
245
- UI से किए गए फ़ाइल सिस्टम लेखन को एक ही डायरेक्टरी तक सीमित कर दिया गया है:
298
+ UI से फ़ाइल सिस्टम में लिखी जाने वाली फ़ाइलें एक ही निर्देशिका में सीमित हैं:
246
299
 
247
300
  - डिफ़ॉल्ट: `~/.backpropagate/ui-outputs`
248
- - बदलने के लिए: `BACKPROPAGATE_UI__OUTPUT_DIR=/path/you/own` सेट करें
249
- - इस बदलाव को 'ब्लैकलिस्ट' से जांचा जाता है - सिस्टम या क्रेडेंशियल पाथ (`/etc`, `~/.ssh`, `~/.aws`, `C:\Windows\System32`, आदि) को अनुमति नहीं है।
301
+ - ओवरराइड: `BACKPROPAGATE_UI__OUTPUT_DIR=/path/you/own` सेट करें
302
+ - ओवरराइड को अस्वीकृति सूची के साथ मान्य किया जाता है - सिस्टम या क्रेडेंशियल पथ (`/etc`, `~/.ssh`, `~/.aws`, `C:\Windows\System32`, आदि) अस्वीकार किए जाते हैं।
250
303
 
251
- ## प्लेटफ़ॉर्म संबंधी जानकारी
304
+ ## प्लेटफ़ॉर्म नोट्स
252
305
 
253
- **आवश्यकताएं:** पायथन 3.10 या उससे ऊपर का संस्करण, CUDA जीपीयू (8 जीबी या उससे अधिक वीआरएएम), पायटॉर्च 2.0 या उससे ऊपर का संस्करण।
306
+ **आवश्यकताएं:** Python 3.10+ · CUDA GPU (8GB+ VRAM) · PyTorch 2.0+
254
307
 
255
- Python 3.10 का जीवनकाल अक्टूबर 2026 में समाप्त हो रहा है, और Backpropagate v1.4 में 3.10 को हटा देगा। नए इंस्टॉलेशन के लिए, Python 3.11 या 3.12 को प्राथमिकता दें - 3.11 सबसे अधिक परीक्षण किया गया संस्करण है।
308
+ पायथन 3.10 कम से कम v1.6 तक समर्थित है; इसकी अपस्ट्रीम जीवन अवधि अक्टूबर 2026 में समाप्त हो जाएगी और इसे उसके बाद के पहले संस्करण में हटाने की योजना बनाई गई है। नए इंस्टॉलेशन के लिए, पायथन 3.11 या 3.12 को प्राथमिकता दें 3.11 सबसे अधिक परीक्षण किया गया संस्करण है।
256
309
 
257
- Backpropagate विभिन्न प्लेटफ़ॉर्म पर प्रशिक्षण के दौरान आने वाली समस्याओं को संभालता है, लेकिन यह इंस्टॉलेशन के समय होने वाली समस्याओं को ठीक नहीं कर सकता। दो सबसे आम समस्याएं हैं:
310
+ Backpropagate विभिन्न प्लेटफ़ॉर्म पर प्रशिक्षण के दौरान आने वाली रनटाइम संबंधी विशिष्टताओं को संभालता है, लेकिन यह इंस्टॉलेशन के समय आने वाली समस्याओं को ठीक नहीं कर सकता है। दो सबसे आम समस्याएं हैं:
258
311
 
259
- - **गलत CUDA ड्राइवर।** PyTorch प्रत्येक CUDA संस्करण के लिए एक बाइनरी जारी करता है। यदि आप गलत बाइनरी चुनते हैं, तो आपको केवल CPU-आधारित PyTorch मिलेगा और प्रशिक्षण बहुत धीमा होगा। अपने ड्राइवर के लिए <https://pytorch.org/get-started/locally/> पर दिए गए ड्राइवर चयनकर्ता का उपयोग करें। अपने ड्राइवर/CUDA संस्करण को देखने के लिए `nvidia-smi` कमांड चलाएं।
260
- - **Windows + GGUF एक्सपोर्ट।** `[export]` एक्सट्रा `llama-cpp-python` को स्रोत कोड से बनाता है, जिसके लिए Visual Studio Build Tools (C++ घटक) और CMake की आवश्यकता होती है।
312
+ - **गलत CUDA व्हील।** PyTorch प्रत्येक CUDA संस्करण के लिए एक बाइनरी के रूप में प्रकाशित किया जाता है। यदि आप गलत संस्करण चुनते हैं, तो आपको चुपचाप केवल CPU-आधारित PyTorch मिलेगा और प्रशिक्षण असंभव रूप से धीमा होगा। अपने ड्राइवर के लिए <https://pytorch.org/get-started/locally/> पर व्हील पिकर का उपयोग करें। अपना ड्राइवर / CUDA संस्करण देखने के लिए `nvidia-smi` चलाएं।
313
+ - **Windows + GGUF निर्यात।** `[export]` एक्स्ट्रा स्रोत से `llama-cpp-python` बनाता है, जिसके लिए विज़ुअल स्टूडियो बिल्ड टूल्स (C++ घटक) और CMake की आवश्यकता होती है।
261
314
 
262
- **macOS:** GPU प्रशिक्षण समर्थित नहीं है (CUDA उपलब्ध नहीं है) आप प्रशिक्षित एडेप्टर को Ollama के माध्यम से Mac पर चला सकते हैं, लेकिन `trainer.train()` में `DEP_GPU_NOT_AVAILABLE` त्रुटि उत्पन्न होगी। प्रशिक्षण के लिए CUDA Linux या Windows मशीन का उपयोग करें।
315
+ **macOS:** CUDA समर्थित नहीं है (कोई CUDA नहीं) - CUDA-आधारित `trainer.train()` `DEP_GPU_NOT_AVAILABLE` त्रुटि उत्पन्न करेगा, और आप प्रशिक्षित एडाप्टर को Ollama के माध्यम से Mac पर चला सकते हैं। **v1.5 में नया:** एक प्रायोगिक MLX रेल (`--backend mlx`, `pip install 'backpropagate[mlx]'`) `mlx_lm.lora` के माध्यम से Apple Silicon पर मूल रूप से एक LoRA एडाप्टर को प्रशिक्षित करता है - केवल LoRA SFT, और निर्मित + यूनिट-परीक्षण किया गया है लेकिन अभी तक वास्तविक सिलिकॉन पर सत्यापित नहीं किया गया है (देखें [Apple Silicon (MLX)](#apple-silicon-mlx--experimental-v15))। CUDA पथ के लिए, या ORPO / पूर्ण फाइन-ट्यून / FP8 / मल्टी-रन के लिए, एक CUDA Linux या Windows मशीन का उपयोग करें।
263
316
 
264
- स्थापना संबंधी समस्याओं को ठीक करने के लिए विस्तृत गाइड के लिए [समस्या निवारण मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) देखें, और ड्राइवर/VRAM/xformers/bf16-vs-fp16 संबंधी समस्याओं के लिए समर्पित [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) देखें।
317
+ [समस्या निवारण हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) पर लंबे प्रारूप में इंस्टॉलेशन फिक्स-इट गाइड देखें, और समर्पित [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) पर ड्राइवर / VRAM / xformers / bf16-vs-fp16 मुद्दों के बारे में जानकारी देखें।
265
318
 
266
319
  ## CLI
267
320
 
268
- प्रत्येक Python API के लिए एक CLI (कमांड लाइन इंटरफेस) विकल्प उपलब्ध है:
321
+ प्रत्येक Python API का एक CLI मिरर है:
269
322
 
270
323
  ```bash
271
324
  backprop train --data my_data.jsonl --model Qwen/Qwen2.5-7B-Instruct --steps 100
@@ -282,80 +335,80 @@ backprop replay <run-id> # re-run with same config / dataset
282
335
  backprop export-runs --format jsonl # bulk export run history
283
336
  ```
284
337
 
285
- पूरा संदर्भ [CLI मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/cli-reference/) पर उपलब्ध है, या `backprop <उप-कमांड> --help` कमांड का उपयोग करें।
338
+ पूर्ण संदर्भ [CLI हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/cli-reference/) पर या `backprop <subcommand> --help`।
286
339
 
287
340
  ## कॉन्फ़िगरेशन
288
341
 
289
- प्रत्येक सेटिंग को `BACKPROPAGATE_` उपसर्ग का उपयोग करके एक पर्यावरण चर के माध्यम से बदला जा सकता है:
342
+ प्रत्येक सेटिंग को `BACKPROPAGATE_` उपसर्ग का उपयोग करके एक पर्यावरण चर के साथ ओवरराइड किया जा सकता है:
290
343
 
291
344
  | चर | डिफ़ॉल्ट | टिप्पणियाँ |
292
345
  |---|---|---|
293
346
  | `BACKPROPAGATE_LOG_LEVEL` | `INFO` | `DEBUG` / `INFO` / `WARNING` / `ERROR` |
294
- | `BACKPROPAGATE_LOG_JSON` | ऑटो | JSON या कंसोल लॉग को बाध्यकारी करें। |
347
+ | `BACKPROPAGATE_LOG_JSON` | ऑटो | JSON या कंसोल लॉग को बाध्य करें |
295
348
  | `BACKPROPAGATE_MODEL__NAME` | `Qwen/Qwen2.5-7B-Instruct` | डिफ़ॉल्ट मॉडल |
296
- | `BACKPROPAGATE_TRAINING__LEARNING_RATE` | `2e-4` | लर्निंग रेट |
297
- | `BACKPROPAGATE_LORA__R` | `256` | LoRA रैंक (v1.3 डिफ़ॉल्ट; v1.2.x के डिफ़ॉल्ट 16 के लिए `--lora-preset=fast` का उपयोग करें) |
298
- | `BACKPROPAGATE_UI__OUTPUT_DIR` | `~/.backpropagate/ui-outputs` | UI फ़ाइल सिस्टम सैंडबॉक्स। |
349
+ | `BACKPROPAGATE_TRAINING__LEARNING_RATE` | `2e-4` | सीखने की दर |
350
+ | `BACKPROPAGATE_LORA__R` | `256` | LoRA रैंक (v1.3 डिफ़ॉल्ट; v1.2.x के 16 के डिफ़ॉल्ट के लिए `--lora-preset=fast` पास करें) |
351
+ | `BACKPROPAGATE_UI__OUTPUT_DIR` | `~/.backpropagate/ui-outputs` | UI फ़ाइल सिस्टम सैंडबॉक्स |
299
352
 
300
- नेस्टेड कुंजियों के लिए डबल अंडरस्कोर (`_`) का उपयोग करें (`MODEL__NAME`, `MODEL_NAME` नहीं)। पूरा संदर्भ [पर्यावरण चर मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/env-vars/) पर उपलब्ध है।
353
+ नेस्टेड कुंजियों में डबल अंडरस्कोर (`MODEL__NAME`, `MODEL_NAME` नहीं) का उपयोग किया जाता है। पूर्ण संदर्भ [पर्यावरण-चर हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/env-vars/) पर है।
301
354
 
302
355
  ## मॉडल प्रीसेट
303
356
 
304
357
  | प्रीसेट | VRAM | लाइसेंस | टिप्पणियाँ |
305
358
  |---|---|---|---|
306
- | Qwen-3.5-4B | ~8GB | Apache 2.0 | 5B से कम आकार के लिए अनुशंसित डिफ़ॉल्ट। इस आकार पर सर्वोत्तम गुणवत्ता। |
307
- | Phi-4-mini-3.8B | ~8GB | MIT | तर्क/गणित/कोड में मजबूत। सख्त लाइसेंस-अनुकूल। |
308
- | SmolLM3-3B | ~6GB | Apache 2.0 | पूरी तरह से खुला स्रोत। 64K का मूल संदर्भ। |
309
- | Qwen 2.5 7B | ~12GB | Apache 2.0 | मौजूदा डिफ़ॉल्ट। पुराने 7B प्रीसेट में सर्वोत्तम गुणवत्ता। |
310
- | Qwen 2.5 3B | ~8GB | Qwen-Research | ⚠ अनुसंधान लाइसेंस - वाणिज्यिक उपयोग से पहले Qwen के लाइसेंस नियमों को देखें। |
311
- | Llama 3.2 3B | ~8GB | Llama Community | Qwen 3B का एक अच्छा विकल्प, कुछ शर्तों के साथ। |
312
- | Llama 3.2 1B | ~6GB | Llama Community | छोटे कार्ड पर त्वरित प्रयोग के लिए। |
359
+ | Qwen-3.5-4B | ~8GB | Apache 2.0 | 5B से कम के लिए अनुशंसित डिफ़ॉल्ट। इस आकार पर सर्वोत्तम गुणवत्ता। |
360
+ | Phi-4-mini-3.8B | ~8GB | MIT | तर्क / गणित / कोड पर मजबूत। सख्त लाइसेंस-स्वच्छ। |
361
+ | SmolLM3-3B | ~6GB | Apache 2.0 | पूरी तरह से खुला नुस्खा। मूल 64K संदर्भ। |
362
+ | Qwen 2.5 7B | ~12GB | Apache 2.0 | मौजूदा डिफ़ॉल्ट। पुराने 7B प्रीसेट की सर्वोत्तम गुणवत्ता। |
363
+ | Qwen 2.5 3B | ~8GB | Qwen-Research | ⚠ अनुसंधान लाइसेंस - वाणिज्यिक उपयोग से पहले Qwen लाइसेंस शर्तों को देखें। |
364
+ | Llama 3.2 3B | ~8GB | Llama Community | अनुमति देने वाली शर्तों के साथ Qwen 3B का एक ठोस विकल्प। |
365
+ | Llama 3.2 1B | ~6GB | Llama Community | छोटे कार्ड पर त्वरित प्रयोगों के लिए। |
313
366
  | Mistral 7B | ~12GB | Apache 2.0 | Qwen 7B के समान, अलग चैट टेम्पलेट। |
314
367
 
315
- अन्य मॉडल भी काम कर सकते हैं, लेकिन केवल ये आठ मॉडल CI (निरंतर एकीकरण) में उपयोग किए जाते हैं। रैंक-256 / सभी-लीनियर लक्ष्यों के लिए Biderman 2024 + Thinking Machines 2025 के अनुसार `--lora-preset=quality` (डिफ़ॉल्ट) या यदि आपको v1.2.x का आकार चाहिए तो रैंक-16 / q+v लक्ष्य के लिए `--lora-preset=fast` का उपयोग करें।
368
+ अन्य मॉडल अक्सर काम करते हैं, लेकिन केवल ये आठ CI में पिन किए गए हैं। Biderman 2024 + Thinking Machines 2025 के अनुसार रैंक-256 / सभी-रैखिक लक्ष्यों के लिए `--lora-preset=quality` (डिफ़ॉल्ट) पास करें, या यदि आपको v1.2.x फ़ुटप्रिंट की आवश्यकता है तो पुराने रैंक-16 / q+v लक्ष्य के लिए `--lora-preset=fast` पास करें।
316
369
 
317
370
  ## समस्या निवारण
318
371
 
319
- सबसे आम शुरुआती विफलताओं का संक्षिप्त विवरण। पूरा रिवर्स इंडेक्स [समस्या निवारण मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) पर उपलब्ध है। ड्राइवर/VRAM/मिश्रित परिशुद्धता के बारे में अधिक जानकारी के लिए, [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) देखें।
372
+ सबसे आम पहली-रन विफलताओं का एक संक्षिप्त सूचकांक। पूर्ण रिवर्स इंडेक्स [समस्या निवारण हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) पर है। ड्राइवर / VRAM / मिश्रित-सटीक गहन-विश्लेषण के लिए [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) देखें।
320
373
 
321
374
  | लक्षण | त्रुटि कोड | समाधान |
322
375
  |---|---|---|
323
- | प्रशिक्षण के दौरान GPU की मेमोरी समाप्त हो जाती है। | `RUNTIME_GPU_OOM` | स्वचालित — बैकप्रोपगेट बैच के आकार को आधा कर देता है और 3 बार तक पुनः प्रयास करता है। इसे निष्क्रिय करने के लिए: `Trainer(oom_recovery=False)`. बैच के आकार को कम करने के लिए: `--batch-size 1`. |
324
- | हगिंगफेस 401 / "मॉडल नहीं मिला" त्रुटि देता है। | `DEP_MODEL_LOAD_FAILED` | `huggingface-cli login` चलाएं और फिर से प्रयास करें। टाइपिंग की गलतियों के लिए, <https://huggingface.co/models> से सटीक आईडी कॉपी करें। |
325
- | `register_with_ollama` कनेक्शन अस्वीकृत। | `DEP_OLLAMA_REGISTRATION_FAILED` | डेमॉन शुरू करें: `ollama serve`। <https://ollama.com> से इंस्टॉल करें। पुनः प्रयास करने योग्य। |
326
- | चेकपॉइंट सहेजते समय डिस्क भर गई। | `STATE_CHECKPOINT_INVALID` | क्रैश होने पर एटॉमिक राइट्स `.partial` नामक एक डायरेक्टरी बनाते हैं - इसे हटाना सुरक्षित है। पिछला अच्छा चेकपॉइंट बरकरार है। |
327
- | जीपीयू के अत्यधिक गर्म होने के कारण प्रशिक्षण रुका हुआ है। | `RUNTIME_GPU_TEMPERATURE_CRITICAL` | स्वचालित — बैकप्रोपगेट तापमान सीमा पर रुक जाता है और जीपीयू के ठंडा होने पर फिर से शुरू हो जाता है। यदि यह बार-बार होता रहता है, तो वायु प्रवाह में सुधार करें। |
328
- | `backprop ui --share` अस्वीकृत। | `INPUT_AUTH_REQUIRED` | `--auth user:password` का उपयोग करें, या इसके बजाय एसएसएच पोर्ट-फॉरवर्डिंग का उपयोग करें (देखें [वेब यूआई](#web-ui))। |
329
- | GGUF एक्सपोर्ट पहली बार में विफल रहा। | `RUNTIME_GGUF_EXPORT_FAILED` | `pip install backpropagate[export]`। विंडोज पर, आपको Visual C++ Build Tools + CMake की भी आवश्यकता है। |
376
+ | प्रशिक्षण के दौरान GPU की मेमोरी समाप्त हो जाती है | `RUNTIME_GPU_OOM` | स्वचालित — बैकप्रोपैगेट बैच आकार को आधा कर देता है और 3 बार तक पुनः प्रयास करता है। इसे बंद करने के लिए: `Trainer(oom_recovery=False)`। आकार को कम करने के लिए: `--batch-size 1`। |
377
+ | हगिंगफेस 401 / "मॉडल नहीं मिला" लौटाता है। | `DEP_MODEL_LOAD_FAILED` | `huggingface-cli login` और पुनः प्रयास करें। टाइपो के लिए, <https://huggingface.co/models> से सटीक आईडी कॉपी करें। |
378
+ | `register_with_ollama` कनेक्शन अस्वीकृत। | `DEP_OLLAMA_REGISTRATION_FAILED` | डेमॉन शुरू करें: `ollama serve`। <https://ollama.com> से स्थापित करें। पुनः प्रयास किया जा सकता है। |
379
+ | चेकपॉइंट सहेजते समय डिस्क भर गई। | `STATE_CHECKPOINT_INVALID` | एटॉमिक लेखन क्रैश होने पर `.partial` नामक एक निर्देशिका छोड़ देता है इसे सुरक्षित रूप से हटाया जा सकता है। पिछला अच्छा चेकपॉइंट बरकरार है। |
380
+ | जीपीयू ज़्यादा गरम होने पर प्रशिक्षण रोक दिया गया। | `RUNTIME_GPU_TEMPERATURE_CRITICAL` | स्वचालित — बैकप्रोपैगेट तापमान सीमा पर रुक जाता है और जैसे ही जीपीयू ठंडा होता है, फिर से शुरू हो जाता है। यदि यह लगातार होता रहता है, तो वायु प्रवाह में सुधार करें। |
381
+ | `backprop ui --share` अस्वीकृत। | `RUNTIME_UI_AUTH_NOT_ENFORCED` | `--auth user:password` पास करें, या इसके बजाय SSH पोर्ट-फ़ॉरवर्डिंग का उपयोग करें (देखें [वेब यूआई](#web-ui))। |
382
+ | पहला प्रयास करने पर जीजीयूएफ निर्यात विफल। | `RUNTIME_GGUF_EXPORT_FAILED` | `pip install backpropagate[export]`; विंडोज पर आपको विज़ुअल सी++ बिल्ड टूल्स + सीएमएके की भी आवश्यकता होगी। |
330
383
 
331
- ## बग की रिपोर्ट करना
384
+ ## बग की रिपोर्ट करना।
332
385
 
333
- जब कुछ विफल होता है, तो बैकप्रोपगेट स्टार्टअप पर एक पंक्ति प्रिंट करता है जैसे `run_started run_id=<uuid>` और हर लॉग पंक्ति, हर चेकपॉइंट और हर वेट्स एंड बायसेस प्रविष्टि के साथ समान आईडी को जोड़ता है। **किसी भी बग रिपोर्ट में `run_id` शामिल करें** — यह एक रखरखावकर्ता को उस विशिष्ट रन के लिए सब कुछ सहसंबंधित करने की अनुमति देता है।
386
+ जब कुछ विफल हो जाता है, तो बैकप्रोपैगेट स्टार्टअप पर एक पंक्ति प्रिंट करता है, जैसे `run_started run_id=<uuid>` और प्रत्येक लॉग पंक्ति, प्रत्येक चेकपॉइंट और प्रत्येक वेट्स और बायसेस प्रविष्टि से समान आईडी को जोड़ता है। **किसी भी बग रिपोर्ट में `run_id` शामिल करें** — इससे एक रखरखावकर्ता उस विशिष्ट रन के लिए सब कुछ सहसंबंधित कर सकता है।
334
387
 
335
388
  एक अच्छी बग रिपोर्ट में शामिल हैं:
336
389
 
337
- 1. **`run_id`**: यह UUID (यूनिवर्सल यूनिक आइडेंटिफायर) है जो स्टार्टअप के समय प्रदर्शित होता है। एक UUID एक रखरखावकर्ता को उस विशेष रन के लिए प्रत्येक लॉग लाइन, प्रत्येक चेकपॉइंट और प्रत्येक वेट्स एंड बायसेस प्रविष्टि को जोड़ने में मदद करता है।
338
- 2. **त्रुटि कोड**: यह `stderr` में `[कोड_नाम]: संदेश` के रूप में दिखाई देने वाली लाइन है। स्थिर कोडों की सूची के लिए, [त्रुटि कोड](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) देखें।
339
- 3. **संशोधित ट्रेसबैक (Traceback)।** गैर-विस्तृत मोड में `stderr` स्वचालित रूप से संशोधित किया जाता है (Bearer टोकन, `sk-*`, `hf_*`, AWS कुंजियाँ, `password=` / `token=` / `api_key=` जोड़े हटा दिए जाते हैं) - इसे सुरक्षित रूप से पेस्ट किया जा सकता है। पूर्ण, बिना संशोधित ट्रेसबैक के लिए, `BACKPROPAGATE_DEBUG=1` (या `--verbose`) के साथ पुनः चलाएं; पोस्ट करने से पहले इसकी समीक्षा करें।
340
- 4. **`backprop info` आउटपुट।** एक कमांड Python / PyTorch / CUDA / GPU मॉडल / VRAM / ऑपरेटिंग सिस्टम / स्थापित अतिरिक्त सुविधाओं के बारे में जानकारी प्रदर्शित करता है - यह सब कुछ एक रखरखावकर्ता को किसी प्लेटफ़ॉर्म-विशिष्ट समस्या का पता लगाने के लिए आवश्यक होता है।
390
+ 1. **`run_id`** स्टार्टअप पर मुद्रित UUID। एक UUID एक रखरखावकर्ता को उस विशिष्ट रन के लिए प्रत्येक लॉग पंक्ति, प्रत्येक चेकपॉइंट और प्रत्येक वेट्स और बायसेस प्रविष्टि को सहसंबंधित करने देता है।
391
+ 2. **त्रुटि कोड** stderr में `[CODE_NAME]: message` पंक्ति। स्थिर कोड की सूची के लिए [त्रुटि कोड](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) देखें।
392
+ 3. **संपादित ट्रेसबैक।** गैर-विस्तृत मोड में stderr स्वचालित रूप से संपादित किया जाता है (बेयरर टोकन, `sk-*`, `hf_*`, AWS कुंजियाँ, `password=` / `token=` / `api_key=` जोड़े हटा दिए जाते हैं) इसे सुरक्षित रूप से पेस्ट किया जा सकता है। पूर्ण, बिना संपादित ट्रेसबैक के लिए, `BACKPROPAGATE_DEBUG=1` (या `--verbose`) के साथ पुनः चलाएं; पोस्ट करने से पहले समीक्षा करें।
393
+ 4. **`backprop info` आउटपुट।** एक कमांड पायथन / पायटॉर्च / CUDA / GPU मॉडल / VRAM / OS / स्थापित अतिरिक्त सब कुछ प्रिंट करता है जिसकी रखरखावकर्ता को प्लेटफ़ॉर्म-विशिष्ट प्रतिगमन को अलग करने के लिए आवश्यकता होती है।
341
394
 
342
- [बग रिपोर्ट टेम्पलेट](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) इन सभी चीजों के लिए स्पष्ट रूप से जानकारी मांगता है, इसलिए समस्या निवारण प्रक्रिया तेजी से होती है। प्रश्न, विचार, या "क्या यह अपेक्षित है?" जैसे विषय [GitHub Discussions](https://github.com/mcp-tool-shop-org/backpropagate/discussions) पर पोस्ट किए जाने चाहिए। सुरक्षा संबंधी मुद्दों की रिपोर्ट [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) फॉर्म के माध्यम से निजी तौर पर की जानी चाहिए - नीति और प्रतिक्रिया समय-सीमा के लिए [SECURITY.md](SECURITY.md) देखें।
395
+ [बग रिपोर्ट टेम्पलेट](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) इनमें से प्रत्येक के लिए स्पष्ट रूप से संकेत देता है ताकि जांच तेजी से हो सके। प्रश्न, विचार, या "क्या यह अपेक्षित है?" थ्रेड [गिटहब डिस्कशन](https://github.com/mcp-tool-shop-org/backpropagate/discussions) में होने चाहिए। सुरक्षा संबंधी मुद्दों की निजी तौर पर [गिटहब सुरक्षा सलाहकार](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) फॉर्म के माध्यम से रिपोर्ट की जानी चाहिए नीति और प्रतिक्रिया समयसीमा के लिए [SECURITY.md](SECURITY.md) देखें।
343
396
 
344
397
  ## गोपनीयता
345
398
 
346
- सभी प्रशिक्षण आपके GPU पर स्थानीय रूप से होता है। Backpropagate केवल HuggingFace से मॉडल डाउनलोड करने के लिए नेटवर्क अनुरोध करता है (जो आप शुरू करते हैं)। कोई टेलीमेट्री नहीं, कोई क्लाउड निर्भरता नहीं।
399
+ सभी प्रशिक्षण आपके जीपीयू पर स्थानीय रूप से होते हैं। बैकप्रोपैगेट हगिंगफेस से मॉडल डाउनलोड करने के अलावा कोई नेटवर्क अनुरोध नहीं करता है (जिसे आप शुरू करते हैं)। कोई टेलीमेट्री नहीं, कोई क्लाउड निर्भरता नहीं।
347
400
 
348
401
  ## संदर्भ
349
402
 
350
- बैकप्रोपगेट की डिफ़ॉल्ट सेटिंग्स और मल्टी-रन प्रशिक्षण मोड हाल के शोध पर आधारित हैं। यदि आप अंतर्निहित तकनीकों में रुचि रखते हैं:
403
+ बैकप्रोपैगेट की डिफ़ॉल्ट सेटिंग्स और मल्टी-रन प्रशिक्षण मोड हाल के शोध पर आधारित हैं। यदि आप अंतर्निहित तकनीकों में रुचि रखते हैं:
351
404
 
352
- - **हु एट अल। 2021।** *लोरा: बड़े भाषा मॉडल का निम्न-रैंक अनुकूलन।* [arXiv:2106.09685](https://arxiv.org/abs/2106.09685) — लोरा पेश करने वाला मौलिक पेपर, जिसका उपयोग बैकप्रोपगेट कुशलतापूर्वक एडेप्टर को प्रशिक्षित करने के लिए करता है।
353
- - **बिडरमैन एट अल। 2024।** *लोरा सीखता है कम और भूलता है कम।* [arXiv:2405.09673](https://arxiv.org/abs/2405.09673) — अनुभवजन्य प्रमाण कि 256 की रैंक पर सभी-रैखिक लक्ष्यों के साथ लोरा, अधिकांश पोस्ट-प्रशिक्षण कार्यों पर पूर्ण फाइन-ट्यूनिंग की गुणवत्ता से मेल खाता है, जो 67% कंप्यूट है। यह बैकप्रोपगेट के v1.3 डिफ़ॉल्ट लोरा कॉन्फ़िगरेशन को चलाता है।
354
- - **थिंकिंग मशीन 2025।** *लोरा बिना पछतावे के।* [thinkingmachines.ai/blog/lora](https://thinkingmachines.ai/blog/lora/) — व्यावहारिक अनुवर्ती जो उच्च लोरा रैंक पर आवश्यक 10 गुना लर्निंग-रेट-vs-फुल-एफटी सुधार की पहचान करता है।
355
- - **किर्कपैट्रिक एट अल। 2017।** *तंत्रिका नेटवर्क में विनाशकारी भूल को दूर करना।* [arXiv:1612.00796](https://arxiv.org/abs/1612.00796) — यह मूल विशेषता है कि तंत्रिका नेटवर्क "भूल" जाते हैं जब आप नए डेटा पर फाइन-ट्यून करते हैं (ईडब्ल्यूसी — इलास्टिक वेट कंसोलिडेशन)।
356
- - **वांग एट अल। 2023।** *भाषा मॉडल निरंतर सीखने के लिए ऑर्थोगोनल सबस्पेस लर्निंग।* [arXiv:2310.14152](https://arxiv.org/abs/2310.14152) — ओ-लोरा, एक प्रारंभिक दृष्टिकोण जो निरंतर सीखने के लिए लोरा का उपयोग करता है, जो नए एडेप्टर को ऑर्थोगोनल सबस्पेस तक सीमित करता है।
357
- - **यादव एट अल। 2023।** *टीईएस-मर्जिंग: मॉडलों को मर्ज करते समय हस्तक्षेप को हल करना।* [arXiv:2306.01708](https://arxiv.org/abs/2306.01708) — कई फाइन-ट्यून किए गए मॉडलों को हस्तक्षेप के बिना मर्ज करने के लिए एक मौलिक तकनीक।
358
- - **कियाओ और महदावी 2025।** *मर्ज बिफोर फॉरगेट: एक सिंगल लोरा निरंतर लर्निंग वाया कंटीन्यूअल मर्जिंग।* [arXiv:2512.23017](https://arxiv.org/abs/2512.23017) — विशिष्ट एल्गोरिथ्म जिसे बैकप्रोपगेट का मल्टी-रन मर्जर लागू करता है। दिसंबर 2025 का एक प्रीप्रिंट; बैकप्रोपगेट इस पेपर का पहला ज्ञात डाउनस्ट्रीम एडॉप्टर है।
405
+ - **हु एट अल. 2021।** *लोरा: बड़े भाषा मॉडल का कम-रैंक अनुकूलन।* [arXiv:2106.09685](https://arxiv.org/abs/2106.09685) — यह मूलभूत पेपर है जो लोरा का परिचय देता है, जिससे बैकप्रोपैगेट कुशलतापूर्वक एडेप्टर को प्रशिक्षित करता है।
406
+ - **बिडरमैन एट अल. 2024।** *लोरा कम सीखता है और कम भूलता है।* [arXiv:2405.09673](https://arxiv.org/abs/2405.09673) — अनुभवजन्य प्रमाण कि रैंक 256 पर सभी-रैखिक लक्ष्यों के साथ लोरा, अधिकांश पोस्ट-प्रशिक्षण कार्यों पर 67% कंप्यूट पर पूर्ण फाइन-ट्यूनिंग गुणवत्ता से मेल खाता है। बैकप्रोपैगेट के v1.3 डिफ़ॉल्ट लोरा कॉन्फ़िगरेशन को चलाता है।
407
+ - **थिंकिंग मशीन 2025।** *लोरा बिना पछतावे के।* [thinkingmachines.ai/blog/lora](https://thinkingmachines.ai/blog/lora/) — व्यावहारिक अनुवर्ती जो उच्च लोरा रैंक पर आवश्यक 10 गुना शिक्षण-दर-बनाम-पूर्ण-एफटी सुधार की पहचान करता है।
408
+ - **किर्कपैट्रिक एट अल. 2017।** *तंत्रिका नेटवर्क में विनाशकारी विस्मरण को दूर करना।* [arXiv:1612.00796](https://arxiv.org/abs/1612.00796) — तंत्रिका नेटवर्क के "भूलने" के मूल लक्षण वर्णन जब आप नए डेटा पर फाइन-ट्यून करते हैं (ईडब्ल्यूसी — इलास्टिक वेट कंसॉलिडेशन)।
409
+ - **वांग एट अल. 2023।** *भाषा मॉडल निरंतर सीखने के लिए ऑर्थोगोनल सबस्पेस लर्निंग।* [arXiv:2310.14152](https://arxiv.org/abs/2310.14152) — ओ-लोरा, निरंतर सीखने के लिए लोरा का उपयोग करने का एक प्रारंभिक दृष्टिकोण, नए एडेप्टर को ऑर्थोगोनल सबस्पेस तक सीमित करके।
410
+ - **यादव एट अल. 2023।** *टीआईएस-मर्जिंग: मॉडल को मर्ज करते समय हस्तक्षेप को हल करना।* [arXiv:2306.01708](https://arxiv.org/abs/2306.01708) — कई फाइन-ट्यून किए गए मॉडल को हस्तक्षेप के बिना मर्ज करने के लिए एक मूलभूत तकनीक।
411
+ - **कियाओ और महदावी 2025।** *भूलने से पहले मर्ज करें: निरंतर मर्जिंग के माध्यम से एक एकल लोरा निरंतर सीखना।* [arXiv:2512.23017](https://arxiv.org/abs/2512.23017) — विशिष्ट एल्गोरिदम जिसे बैकप्रोपैगेट का मल्टी-रन मर्जर लागू करता है। दिसंबर 2025 का एक प्रीप्रिंट; बैकप्रोपैगेट पेपर का पहला ज्ञात डाउनस्ट्रीम अपनाने वाला है।
359
412
 
360
413
  ## लाइसेंस
361
414