@mcptoolshop/backpropagate 1.3.0 → 1.5.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.es.md +175 -121
- package/README.fr.md +178 -124
- package/README.hi.md +165 -111
- package/README.it.md +171 -117
- package/README.ja.md +169 -115
- package/README.md +73 -19
- package/README.pt-BR.md +170 -116
- package/README.zh.md +171 -117
- package/bin/backpropagate.js +25 -7
- package/package.json +1 -1
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
|
-
बैकप्रोपैगेट एक पायथन लाइब्रेरी है
|
|
20
|
+
बैकप्रोपैगेट एक पायथन लाइब्रेरी है जिसका उपयोग एकल जीपीयू पर बड़े भाषा मॉडल को ठीक करने के लिए किया जाता है। तीन पंक्तियों के कोड से 16GB कार्ड पर 7B मॉडल को प्रशिक्षित किया जा सकता है। एक और कमांड इसे ओलामा में निर्यात करता है ताकि आप अपने फाइनट्यून को `ollama run` के साथ चला सकें। यह विंडोज पर बेहतरीन तरीके से काम करता है।
|
|
21
21
|
|
|
22
22
|
```python
|
|
23
23
|
from backpropagate import Trainer
|
|
@@ -28,11 +28,11 @@ trainer.export("gguf", quantization="q4_k_m")
|
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
backprop
|
|
31
|
+
backprop export ./output/lora --format gguf --quantization q4_k_m --ollama --ollama-name my-model
|
|
32
32
|
ollama run my-model
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
बस इतना ही।
|
|
35
|
+
बस इतना ही। कोई YAML कॉन्फ़िगरेशन फ़ाइल नहीं है। कोई `accelerate launch` समारोह नहीं है। कोई अलग "अब इसे GGUF में बदलें" ट्यूटोरियल नहीं है। यदि आपके पास एक CUDA GPU और आपके प्रशिक्षण डेटा वाली एक JSONL फ़ाइल है, तो आप एक कार्यात्मक फाइनट्यून से केवल तीन पंक्तियों की दूरी पर हैं।
|
|
36
36
|
|
|
37
37
|
## इंस्टॉल करें
|
|
38
38
|
|
|
@@ -47,78 +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` भी काम
|
|
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
|
-
|
|
61
|
+
LLM को ठीक करने के लिए कई अच्छी लाइब्रेरी उपलब्ध हैं। वे सभी अलग-अलग चीजों में उत्कृष्ट हैं:
|
|
62
62
|
|
|
63
|
-
- **[Axolotl](https://github.com/OpenAccess-AI-Collective/axolotl)**
|
|
64
|
-
- **[LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory)**
|
|
65
|
-
- **[Unsloth](https://github.com/unslothai/unsloth)**
|
|
66
|
-
- **[torchtune](https://github.com/pytorch/torchtune)**
|
|
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
|
-
बैकप्रोपैगेट
|
|
68
|
+
बैकप्रोपैगेट वह विकल्प है जिसकी कमी थी: **एक एकल उपभोक्ता GPU पर अकेले ऑपरेटरों के लिए 3-पंक्ति पायथन API जो एक एडाप्टर को प्रशिक्षित करना और उसे भेजना चाहते हैं।** कोई YAML नहीं, कोई GUI नहीं, कोई ऑनलाइन RL (PPO/GRPO) नहीं, कोई मल्टी-नोड नहीं। बस वह लूप जिसकी वास्तव में हर किसी को आवश्यकता है और वह निर्यात चरण जो बाधा डालता है।
|
|
69
69
|
|
|
70
|
-
यदि आपने ऊपर दी गई लाइब्रेरी में से किसी एक को आज़माया
|
|
70
|
+
यदि आपने ऊपर दी गई लाइब्रेरी में से किसी एक को आज़माया और कॉन्फ़िगरेशन-फ़ाइल समारोह से निराश हो गए, या मॉडल-परिवार की कमी का सामना किया, या विंडोज-प्रथम डिफ़ॉल्ट्स चाहते थे - तो बैकप्रोपैगेट आपके लिए है।
|
|
71
71
|
|
|
72
|
-
##
|
|
72
|
+
## आप 16GB उपभोक्ता GPU पर क्या ठीक कर सकते हैं
|
|
73
73
|
|
|
74
|
-
यहां
|
|
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
|
-
|
|
|
80
|
-
| Llama-3
|
|
81
|
-
|
|
|
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
|
+
|
|
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
|
+
|
|
86
|
+
2-बिट परिमाणीकरण (AQLM / QuIP#) **दायरे से बाहर है।** इसे v1.4 के लिए निर्धारित किया गया था, फिर [v1.5 प्रक्षेपवक्र संक्षिप्त](docs/V1_5_BRIEF.md) में वापस ले लिया गया: 2-बिट बेस को पूर्ण-सटीक भार में साफ-सुथरा तरीके से वापस मर्ज नहीं किया जा सकता है, जो बैकप्रोपैगेट के मर्ज करने योग्य-एडाप्टर → GGUF → ओलामा निर्यात अनुबंध को तोड़ता है (पाइपलाइन का पूरा बिंदु)। इसके बजाय बैकप्रोपैगेट द्वारा भेजे जाने वाले हेडरूम लीवर v1.5 **FP8 कंप्यूट पथ** (`--fp8`, ब्लैकवेल/हॉपर) और ≤4B मॉडल के लिए `mode="full"` हैं - दोनों मर्ज करने योग्य और निर्यात करने योग्य बने रहते हैं।
|
|
82
87
|
|
|
83
|
-
|
|
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) देखें)।
|
|
84
89
|
|
|
85
90
|
## बैकप्रोपैगेट किसके लिए नहीं है
|
|
86
91
|
|
|
87
|
-
|
|
92
|
+
यदि आपका उपयोग मामला नीचे दिया गया है, तो आपको किसी अन्य लाइब्रेरी के साथ बेहतर अनुभव होगा - बैकप्रोपैगेट सही विकल्प नहीं है और इसे काम करने की कोशिश करने से सही उपकरण तक पहुंचने से अधिक खर्च आएगा। शुरू करने से पहले इस अनुभाग को पढ़ने से इंस्टॉलेशन-और-वापस जाने के चक्र से बचा जा सकता है:
|
|
88
93
|
|
|
89
|
-
- **7B+
|
|
90
|
-
-
|
|
91
|
-
- **मल्टी-नोड
|
|
92
|
-
- **
|
|
93
|
-
- **परीक्षण किए गए मॉडल परिवारों के बाहर
|
|
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 में पिन नहीं किए गए हैं।
|
|
94
99
|
|
|
95
100
|
यदि आपको इनमें से किसी भी चीज़ की आवश्यकता है, तो ऊपर सूचीबद्ध पुस्तकालयों में से किसी एक का उपयोग करें। वे इसमें बेहतर हैं।
|
|
96
101
|
|
|
97
|
-
## बैकप्रोपगेट आपको क्या
|
|
102
|
+
## बैकप्रोपगेट आपको क्या प्रदान करता है
|
|
98
103
|
|
|
99
|
-
एक इंस्टॉलेशन
|
|
104
|
+
एक इंस्टॉलेशन में चार चीजें:
|
|
100
105
|
|
|
101
|
-
**1. एक वास्तविक 3
|
|
102
|
-
इस README के शीर्ष पर दिया गया स्निपेट एंड-टू-एंड चलता है। कोई `accelerate config
|
|
106
|
+
**1. एक वास्तविक 3-लाइन API जो बिना कॉन्फ़िगरेशन फ़ाइल के चलता है।**
|
|
107
|
+
इस README के शीर्ष पर दिया गया स्निपेट एंड-टू-एंड चलता है। कोई `accelerate config`, कोई YAML, कोई हाइड्रा ओवरराइड नहीं। बस `Trainer(model).train(data)` और आपके पास एक फाइन-ट्यून मॉडल है।
|
|
103
108
|
|
|
104
109
|
**2. विंडोज जो वास्तव में काम करता है।**
|
|
105
|
-
अधिकांश ML
|
|
110
|
+
अधिकांश ML पुस्तकालय विंडोज को एक afterthought के रूप में मानते हैं। बैकप्रोपगेट को विंडोज + RTX 5080 पर पहले से परीक्षण किया गया है। पुस्तकालय आपके लिए रनटाइम की विशिष्टताओं को संभालता है — यह जानता है कि आपके डेटा को पहले से कैसे टोकनाइज़ करना है ताकि विंडोज मल्टीप्रोसेसिंग क्रैश न हो, यह स्वचालित रूप से RTX 40/50 कार्ड पर xformers को अक्षम कर देता है जहां यह विफल हो जाएगा, और यह डेटा लोडर सेटिंग्स चुनता है जो विफल नहीं होते हैं। आपको इनमें से किसी भी चीज़ को जानने की आवश्यकता नहीं है। यह बस चलता है।
|
|
106
111
|
|
|
107
|
-
**3. बिना
|
|
108
|
-
प्रशिक्षण में घंटों लगते हैं। आप
|
|
112
|
+
**3. बिना निगरानी वाले रनों के लिए बनाया गया।**
|
|
113
|
+
प्रशिक्षण में घंटों लगते हैं। आप इसकी निगरानी नहीं करना चाहते हैं। बैकप्रोपगेट को लगातार चलने के लिए डिज़ाइन किया गया है:
|
|
109
114
|
|
|
110
|
-
- यदि आपके पास GPU मेमोरी
|
|
111
|
-
- यदि आपका GPU बहुत गर्म हो जाता है, तो यह तब तक रुक जाता है जब तक कि चीजें
|
|
112
|
-
- प्रत्येक चेकपॉइंट को परमाणु रूप से लिखा जाता है
|
|
113
|
-
- प्रत्येक प्रशिक्षण रन को एक अद्वितीय ID मिलता है जो प्रत्येक लॉग लाइन, प्रत्येक चेकपॉइंट और प्रत्येक
|
|
114
|
-
- त्रुटियां स्थिर कोड के साथ आती हैं (`RUNTIME_GPU_OOM`, `DEP_OLLAMA_REGISTRATION_FAILED`, आदि) ताकि आप अपने लॉग
|
|
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/) है।
|
|
115
120
|
|
|
116
121
|
**4. प्रशिक्षित एडाप्टर से `ollama run` तक एक कमांड।**
|
|
117
|
-
कई
|
|
122
|
+
कई पुस्तकालय एक मॉडल को प्रशिक्षित करते हैं। उनमें से कुछ ही आपको वास्तव में इसका उपयोग करने पर रास्ते से हटते हैं। बैकप्रोपगेट GGUF (Ollama द्वारा उपयोग किया जाने वाला प्रारूप) में निर्यात करता है और एक कमांड में एक Ollama मॉडल को पंजीकृत करता है। आप "प्रशिक्षण पूरा" से "मैं अपने फाइन-ट्यून मॉडल के साथ चैट कर सकता हूं" लगभग 30 सेकंड में जा सकते हैं।
|
|
118
123
|
|
|
119
|
-
## शुरुआत
|
|
124
|
+
## त्वरित शुरुआत
|
|
120
125
|
|
|
121
|
-
|
|
126
|
+
रिपो एक छोटा सा उदाहरण डेटासेट भेजता है ताकि इस README के शीर्ष पर दिया गया स्निपेट एक स्वच्छ इंस्टॉलेशन पर चले:
|
|
122
127
|
|
|
123
128
|
```bash
|
|
124
129
|
pipx install "backpropagate[standard]"
|
|
@@ -131,31 +136,78 @@ trainer.export('gguf', quantization='q4_k_m')
|
|
|
131
136
|
"
|
|
132
137
|
```
|
|
133
138
|
|
|
134
|
-
यह 5 छोटे ShareGPT-प्रारूप
|
|
139
|
+
यह 5 छोटे ShareGPT-प्रारूप वार्तालापों पर Qwen 2.5 7B एडाप्टर को प्रशिक्षित करता है, फिर परिणाम को GGUF में निर्यात करता है। अपने स्वयं के डेटा के लिए, अपने JSONL को एक पंक्ति में एक उदाहरण के रूप में स्वरूपित करें:
|
|
135
140
|
|
|
136
141
|
```jsonl
|
|
137
142
|
{"conversations": [{"from": "human", "value": "What is Python?"}, {"from": "gpt", "value": "A programming language."}]}
|
|
138
143
|
{"conversations": [{"from": "human", "value": "Explain recursion."}, {"from": "gpt", "value": "A function that calls itself."}]}
|
|
139
144
|
```
|
|
140
145
|
|
|
141
|
-
|
|
146
|
+
अल्पाका (`instruction` / `output`), OpenAI चैट (`messages`), और कच्चे पाठ प्रारूप भी काम करते हैं — बैकप्रोपगेट प्रारूप का स्वचालित रूप से पता लगाता है।
|
|
147
|
+
|
|
148
|
+
### प्राथमिकता ट्यूनिंग (ORPO)
|
|
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
|
+
```
|
|
142
168
|
|
|
143
|
-
|
|
169
|
+
डिफ़ॉल्ट लर्निंग दर स्वचालित रूप से ORPO के लिए `8e-6` तक कम हो जाती है (हानि, साधारण SFT की तुलना में अधिक तीव्र है); `--orpo-beta` को समायोजित करें (डिफ़ॉल्ट `0.1`) ताकि ऑड्स-अनुपात दंड को भार दिया जा सके। v1.5 में ORPO केवल `mode="lora"` है। SimPO और KTO नियोजित अनुवर्ती हैं; ऑनलाइन RL (PPO/GRPO) के लिए [What Backpropagate is NOT for](#what-backpropagate-is-not-for) देखें।
|
|
170
|
+
|
|
171
|
+
### तर्क-आधारित SFT (R1 डिस्टिलेशन)
|
|
172
|
+
|
|
173
|
+
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) देखें।
|
|
174
|
+
|
|
175
|
+
### एप्पल सिलिकॉन (MLX) — प्रयोगात्मक, v1.5
|
|
176
|
+
|
|
177
|
+
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 सेटअप बाइट-दर-बाइट समान हैं:
|
|
178
|
+
|
|
179
|
+
```python
|
|
180
|
+
from backpropagate import Trainer
|
|
181
|
+
|
|
182
|
+
# On an M-series Mac with `pip install 'backpropagate[mlx]'`:
|
|
183
|
+
trainer = Trainer("mlx-community/Qwen2.5-0.5B-Instruct-4bit", backend="mlx")
|
|
184
|
+
trainer.train("examples/quickstart.jsonl", steps=100)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
backprop train --data my_data.jsonl --backend mlx --steps 100
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
v1.5 में MLX रेल **केवल LoRA SFT है** — कोई ORPO नहीं, कोई FP8 नहीं, कोई `mode='full'` नहीं, अभी तक MLX पर कोई मल्टी-रन नहीं (प्रत्येक को `CONFIG_INVALID_SETTING` के साथ अस्वीकार कर दिया जाता है; उन कार्यों के लिए NVIDIA बॉक्स पर `backend='cuda'`/`'auto'` का उपयोग करें)। परिणामी एडाप्टर सादा सेफ़टेंसर है और उसी पथ के माध्यम से CUDA रेल की तरह Ollama में निर्यात होता है।
|
|
192
|
+
|
|
193
|
+
> ⚠️ **ईमानदार स्थिति:** MLX रेल v1.5 में **बनाकर + यूनिट-परीक्षण (मॉक किया गया)** के साथ शिप की जाती है, लेकिन **अभी तक वास्तविक Apple सिलिकॉन पर डॉगफ़ूड-सत्यापित नहीं है** — `mlx-lm` केवल Apple के लिए है और इसे उस NVIDIA सेटअप पर नहीं चलाया जा सकता है जिस पर इसे बनाया गया था। इसे प्रयोगात्मक के रूप में मानें (FP8 पथ के समान ढांचा), और कृपया [विसंगतियों की रिपोर्ट करें](#reporting-bugs) जब यह M-श्रृंखला Mac पर चलता है। गैर-Apple होस्ट पर `--backend mlx` को जबरदस्ती करने पर `CONFIG_INVALID_SETTING` त्रुटि आती है; Mac पर लापता `mlx_lm` टूलचेन `DEP_MLX_UNAVAILABLE` उत्पन्न करता है।
|
|
194
|
+
|
|
195
|
+
अधिक एंड-टू-एंड वर्कफ़्लो (फाइन-ट्यून-एंड-पुश-टू-HF-हब, OOM के बाद फिर से शुरू करें, लंबे अभियान में मल्टी-रन SLAO, आदि) के लिए [हैंडबुक रेसिपी पेज](https://mcp-tool-shop-org.github.io/backpropagate/handbook/recipes/) देखें।
|
|
144
196
|
|
|
145
197
|
### वेब UI (वैकल्पिक)
|
|
146
198
|
|
|
147
|
-
यदि आप Python
|
|
199
|
+
यदि आप Python में टाइप करने के बजाय क्लिक करना पसंद करते हैं, तो UI एक्स्ट्रा स्थापित करें और लॉन्च करें:
|
|
148
200
|
|
|
149
201
|
```bash
|
|
150
202
|
pipx install "backpropagate[ui]"
|
|
151
203
|
backprop ui --port 7862
|
|
152
204
|
```
|
|
153
205
|
|
|
154
|
-
एक स्थानीय वेब इंटरफ़ेस `http://localhost:7862` पर खुलता है,
|
|
206
|
+
एक स्थानीय वेब इंटरफ़ेस `http://localhost:7862` पर खुलता है, जिसका उपयोग डेटासेट ब्राउज़ करने, प्रारूपों को मान्य करने और प्रशिक्षण कॉन्फ़िगरेशन को दृश्य रूप से इकट्ठा करने के लिए किया जा सकता है। प्रशिक्षण स्वयं `backprop train` के माध्यम से चलता है (UI-संचालित प्रशिक्षण रोडमैप पर है — स्टार्ट बटन वर्तमान में उस नोट को प्रदर्शित करता है)। UI डिफ़ॉल्ट रूप से केवल स्थानीय है। इसे अन्य उपकरणों तक विस्तारित करने के लिए, [Web UI](#web-ui) नीचे `--share` + `--auth` सुरक्षा अनुबंध देखें।
|
|
155
207
|
|
|
156
|
-
##
|
|
208
|
+
## मल्टी-रन प्रशिक्षण
|
|
157
209
|
|
|
158
|
-
यदि आप कई डेटासेट
|
|
210
|
+
यदि आप कई डेटासेट में वृद्धिशील रूप से फाइन-ट्यून करना चाहते हैं — मान लीजिए कि आपको हर हफ्ते नया प्रशिक्षण डेटा मिलता है और आप इसे पहले से सीखे गए ज्ञान को भूले बिना जोड़ना चाहते हैं — तो बैकप्रोपैगेट का `multi_run` मोड आपके लिए है:
|
|
159
211
|
|
|
160
212
|
```python
|
|
161
213
|
from backpropagate import Trainer
|
|
@@ -170,17 +222,17 @@ result = trainer.multi_run(
|
|
|
170
222
|
)
|
|
171
223
|
```
|
|
172
224
|
|
|
173
|
-
यह पांच प्रशिक्षण
|
|
225
|
+
यह पांच प्रशिक्षण पास चलाता है, जो रन के बीच एडाप्टर को इस तरह से मर्ज करता है कि पहले के ज्ञान को संरक्षित किया जा सके, जबकि नए उदाहरणों को शामिल किया जा सके। यह तकनीक हालिया निरंतर-शिक्षण अनुसंधान पर आधारित है — इस README के नीचे [References](#references) देखें।
|
|
174
226
|
|
|
175
|
-
CLI
|
|
227
|
+
CLI संस्करण:
|
|
176
228
|
|
|
177
229
|
```bash
|
|
178
230
|
backprop multi-run --data my_data.jsonl --runs 5 --steps 100 --samples 1000
|
|
179
231
|
```
|
|
180
232
|
|
|
181
|
-
## चेकपॉइंट से
|
|
233
|
+
## चेकपॉइंट से फिर से शुरू करें
|
|
182
234
|
|
|
183
|
-
|
|
235
|
+
5-रन प्रशिक्षण जो रन 4 पर क्रैश हो जाता है, उसे ठीक किया जा सकता है। प्रत्येक मल्टी-रन सत्र अपने रन आईडी को ऑन-डिस्क इतिहास और चेकपॉइंट मेनिफेस्ट में लिखता है, इसलिए जहां आपने छोड़ा था, वहां से उठाना एक कमांड है:
|
|
184
236
|
|
|
185
237
|
```bash
|
|
186
238
|
backprop resume <run-id>
|
|
@@ -188,11 +240,11 @@ backprop multi-run --data ... --resume <run-id>
|
|
|
188
240
|
backprop train --data ... --resume <run-id> # single-run resume
|
|
189
241
|
```
|
|
190
242
|
|
|
191
|
-
`backprop multi-run`
|
|
243
|
+
`backprop multi-run` (कोई `--resume` नहीं) का डिफ़ॉल्ट व्यवहार उसी आउटपुट निर्देशिका में एक प्रगति पर प्रविष्टि का स्वचालित रूप से पता लगाता है और उसे जारी रखता है। एक स्वच्छ शुरुआत के लिए, एक ताज़ा आउटपुट निर्देशिका पर इंगित करें।
|
|
192
244
|
|
|
193
245
|
## प्रशिक्षण इतिहास
|
|
194
246
|
|
|
195
|
-
प्रत्येक `backprop train` और `backprop multi-run`
|
|
247
|
+
प्रत्येक `backprop train` और `backprop multi-run` आह्वान `<output>/run_history.json` में एक पंक्ति रिकॉर्ड करता है — उपयोग किया गया मॉडल, डेटासेट, हाइपरपैरामीटर, स्थिति, अंतिम हानि, हानि इतिहास। आप पिछले रन को सूचीबद्ध और निरीक्षण कर सकते हैं:
|
|
196
248
|
|
|
197
249
|
```bash
|
|
198
250
|
backprop list-runs # last 20 runs
|
|
@@ -203,7 +255,7 @@ backprop show-run abcd1234 # detail view (partial ID is fine)
|
|
|
203
255
|
|
|
204
256
|
## प्रयोग ट्रैकिंग
|
|
205
257
|
|
|
206
|
-
|
|
258
|
+
बैकप्रोपैगेट स्थापित प्रयोग ट्रैकर्स (वेट्स एंड बायसेस, टेंसरबोर्ड, MLflow) का स्वचालित रूप से पता लगाता है और उन्हें जोड़ता है। यदि `wandb` स्थापित है और आप लॉग इन हैं, तो प्रत्येक रन स्वचालित रूप से W&B में एक रन नाम के साथ लॉग करता है जो ऑन-डिस्क रन आईडी से मेल खाता है — इसलिए आप W&B, अपने लॉग और `run_history.json` में एक पहचानकर्ता का उपयोग करके खोज सकते हैं।
|
|
207
259
|
|
|
208
260
|
```bash
|
|
209
261
|
pip install backpropagate[monitoring] # installs wandb + psutil
|
|
@@ -211,23 +263,25 @@ wandb login # one-time setup
|
|
|
211
263
|
backprop train --data my_data.jsonl
|
|
212
264
|
```
|
|
213
265
|
|
|
214
|
-
`Trainer(report_to=["wandb"])`, `Trainer(report_to=["tensorboard"])`, या `Trainer(report_to="none")`
|
|
266
|
+
`Trainer(report_to=["wandb"])`, `Trainer(report_to=["tensorboard"])`, या `Trainer(report_to="none")` के साथ ओवरराइड करें ताकि बाहर निकल सकें।
|
|
215
267
|
|
|
216
268
|
## वेब UI
|
|
217
269
|
|
|
218
|
-
|
|
270
|
+
रिफ्लेक्स वेब इंटरफ़ेस वैकल्पिक है — `pipx install "backpropagate[ui]"` के साथ स्थापित करें और लॉन्च करें:
|
|
219
271
|
|
|
220
272
|
```bash
|
|
221
273
|
backprop ui --port 7862
|
|
222
274
|
```
|
|
223
275
|
|
|
224
|
-
UI स्थानीय रूप से `http://localhost:7862` पर चलता है। इसे
|
|
276
|
+
UI स्थानीय रूप से `http://localhost:7862` पर चलता है। आज यह वर्कफ़्लो के **ब्राउज़ / मान्य / कॉन्फ़िगर** आधे हिस्से को कवर करता है — इसे एक डेटासेट पर इंगित करें, स्वचालित रूप से पता लगाए गए प्रारूप और आँकड़ों की जांच करें, एक मॉडल चुनें और एक रन कॉन्फ़िगरेशन को इकट्ठा करें। **रन लॉन्च CLI से किया जाता है** (`backprop train` / `backprop multi-run`); UI में स्टार्ट बटन उस पर इंगित करने वाला एक नोट प्रदर्शित करता है। UI-संचालित प्रशिक्षण एक नियोजित अनुवर्ती है — तब तक UI ऑन-रैंप है और CLI ट्रिगर है।
|
|
277
|
+
|
|
278
|
+
इसे अन्य उपकरणों (आपके नेटवर्क पर अन्य लोग, एक सार्वजनिक URL, आदि) के साथ साझा करने के लिए, आपको `--share` (या `--host`) को `--auth` के साथ जोड़ना होगा:
|
|
225
279
|
|
|
226
280
|
```bash
|
|
227
281
|
backprop ui --share --auth alice:hunter2
|
|
228
282
|
```
|
|
229
283
|
|
|
230
|
-
`backprop ui --share` बिना `--auth` के
|
|
284
|
+
`backprop ui --share` बिना `--auth` के त्रुटि के साथ समाप्त हो जाता है। कारण: `--share` एक URL प्रकाशित करता है जिस तक इंटरनेट पर कोई भी पहुंच सकता है, और प्रमाणीकरण के बिना, इसका मतलब है कि कोई भी आपके प्रशिक्षण पाइपलाइन को चला सकता है और आपके HuggingFace टोकन को पढ़ सकता है। इसके लिए कोई विकल्प नहीं है - यदि आप क्रेडेंशियल सेट नहीं करना चाहते हैं, तो इसके बजाय SSH पोर्ट-फ़ॉरवर्डिंग का उपयोग करें:
|
|
231
285
|
|
|
232
286
|
```bash
|
|
233
287
|
# On the client:
|
|
@@ -239,30 +293,30 @@ backprop ui # no --share
|
|
|
239
293
|
|
|
240
294
|
पूर्ण खतरे के मॉडल के लिए [handbook/security.md](https://mcp-tool-shop-org.github.io/backpropagate/handbook/security/) देखें।
|
|
241
295
|
|
|
242
|
-
UI से
|
|
296
|
+
UI से फ़ाइल सिस्टम में लिखी जाने वाली फ़ाइलें एक ही निर्देशिका में सीमित हैं:
|
|
243
297
|
|
|
244
298
|
- डिफ़ॉल्ट: `~/.backpropagate/ui-outputs`
|
|
245
|
-
-
|
|
246
|
-
-
|
|
299
|
+
- ओवरराइड: `BACKPROPAGATE_UI__OUTPUT_DIR=/path/you/own` सेट करें
|
|
300
|
+
- ओवरराइड को अस्वीकृति सूची के साथ मान्य किया जाता है - सिस्टम या क्रेडेंशियल पथ (`/etc`, `~/.ssh`, `~/.aws`, `C:\Windows\System32`, आदि) अस्वीकार किए जाते हैं।
|
|
247
301
|
|
|
248
|
-
## प्लेटफ़ॉर्म
|
|
302
|
+
## प्लेटफ़ॉर्म नोट्स
|
|
249
303
|
|
|
250
|
-
**आवश्यकताएं:**
|
|
304
|
+
**आवश्यकताएं:** Python 3.10+ · CUDA GPU (8GB+ VRAM) · PyTorch 2.0+
|
|
251
305
|
|
|
252
|
-
Python 3.10 का
|
|
306
|
+
Python 3.10 का समर्थन अक्टूबर 2026 में समाप्त हो जाएगा और इसे v1.5 में हटाने की योजना है। नए इंस्टॉलेशन के लिए, Python 3.11 या 3.12 को प्राथमिकता दें - 3.11 सबसे अधिक परीक्षण किया गया संस्करण है।
|
|
253
307
|
|
|
254
|
-
Backpropagate विभिन्न प्लेटफ़ॉर्म पर प्रशिक्षण के दौरान आने वाली
|
|
308
|
+
Backpropagate विभिन्न प्लेटफ़ॉर्म पर प्रशिक्षण के दौरान आने वाली रनटाइम संबंधी विशिष्टताओं को संभालता है, लेकिन यह इंस्टॉलेशन के समय आने वाली समस्याओं को ठीक नहीं कर सकता है। दो सबसे आम समस्याएं हैं:
|
|
255
309
|
|
|
256
|
-
- **गलत CUDA
|
|
257
|
-
- **Windows + GGUF
|
|
310
|
+
- **गलत CUDA व्हील।** PyTorch प्रत्येक CUDA संस्करण के लिए एक बाइनरी के रूप में प्रकाशित किया जाता है। यदि आप गलत संस्करण चुनते हैं, तो आपको चुपचाप केवल CPU-आधारित PyTorch मिलेगा और प्रशिक्षण असंभव रूप से धीमा होगा। अपने ड्राइवर के लिए <https://pytorch.org/get-started/locally/> पर व्हील पिकर का उपयोग करें। अपना ड्राइवर / CUDA संस्करण देखने के लिए `nvidia-smi` चलाएं।
|
|
311
|
+
- **Windows + GGUF निर्यात।** `[export]` एक्स्ट्रा स्रोत से `llama-cpp-python` बनाता है, जिसके लिए विज़ुअल स्टूडियो बिल्ड टूल्स (C++ घटक) और CMake की आवश्यकता होती है।
|
|
258
312
|
|
|
259
|
-
**macOS:**
|
|
313
|
+
**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 मशीन का उपयोग करें।
|
|
260
314
|
|
|
261
|
-
|
|
315
|
+
[समस्या निवारण हैंडबुक पृष्ठ](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 मुद्दों के बारे में जानकारी देखें।
|
|
262
316
|
|
|
263
317
|
## CLI
|
|
264
318
|
|
|
265
|
-
प्रत्येक Python API
|
|
319
|
+
प्रत्येक Python API का एक CLI मिरर है:
|
|
266
320
|
|
|
267
321
|
```bash
|
|
268
322
|
backprop train --data my_data.jsonl --model Qwen/Qwen2.5-7B-Instruct --steps 100
|
|
@@ -279,80 +333,80 @@ backprop replay <run-id> # re-run with same config / dataset
|
|
|
279
333
|
backprop export-runs --format jsonl # bulk export run history
|
|
280
334
|
```
|
|
281
335
|
|
|
282
|
-
|
|
336
|
+
पूर्ण संदर्भ [CLI हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/cli-reference/) पर या `backprop <subcommand> --help`।
|
|
283
337
|
|
|
284
338
|
## कॉन्फ़िगरेशन
|
|
285
339
|
|
|
286
|
-
प्रत्येक सेटिंग को `BACKPROPAGATE_` उपसर्ग का उपयोग करके एक पर्यावरण चर के
|
|
340
|
+
प्रत्येक सेटिंग को `BACKPROPAGATE_` उपसर्ग का उपयोग करके एक पर्यावरण चर के साथ ओवरराइड किया जा सकता है:
|
|
287
341
|
|
|
288
342
|
| चर | डिफ़ॉल्ट | टिप्पणियाँ |
|
|
289
343
|
|---|---|---|
|
|
290
344
|
| `BACKPROPAGATE_LOG_LEVEL` | `INFO` | `DEBUG` / `INFO` / `WARNING` / `ERROR` |
|
|
291
|
-
| `BACKPROPAGATE_LOG_JSON` | ऑटो | JSON या कंसोल लॉग को
|
|
345
|
+
| `BACKPROPAGATE_LOG_JSON` | ऑटो | JSON या कंसोल लॉग को बाध्य करें |
|
|
292
346
|
| `BACKPROPAGATE_MODEL__NAME` | `Qwen/Qwen2.5-7B-Instruct` | डिफ़ॉल्ट मॉडल |
|
|
293
|
-
| `BACKPROPAGATE_TRAINING__LEARNING_RATE` | `2e-4` |
|
|
294
|
-
| `BACKPROPAGATE_LORA__R` | `256` | LoRA रैंक (v1.3 डिफ़ॉल्ट; v1.2.x के
|
|
295
|
-
| `BACKPROPAGATE_UI__OUTPUT_DIR` | `~/.backpropagate/ui-outputs` | UI फ़ाइल सिस्टम
|
|
347
|
+
| `BACKPROPAGATE_TRAINING__LEARNING_RATE` | `2e-4` | सीखने की दर |
|
|
348
|
+
| `BACKPROPAGATE_LORA__R` | `256` | LoRA रैंक (v1.3 डिफ़ॉल्ट; v1.2.x के 16 के डिफ़ॉल्ट के लिए `--lora-preset=fast` पास करें) |
|
|
349
|
+
| `BACKPROPAGATE_UI__OUTPUT_DIR` | `~/.backpropagate/ui-outputs` | UI फ़ाइल सिस्टम सैंडबॉक्स |
|
|
296
350
|
|
|
297
|
-
नेस्टेड कुंजियों
|
|
351
|
+
नेस्टेड कुंजियों में डबल अंडरस्कोर (`MODEL__NAME`, `MODEL_NAME` नहीं) का उपयोग किया जाता है। पूर्ण संदर्भ [पर्यावरण-चर हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/env-vars/) पर है।
|
|
298
352
|
|
|
299
353
|
## मॉडल प्रीसेट
|
|
300
354
|
|
|
301
355
|
| प्रीसेट | VRAM | लाइसेंस | टिप्पणियाँ |
|
|
302
356
|
|---|---|---|---|
|
|
303
|
-
| Qwen-3.5-4B | ~8GB | Apache 2.0 | 5B से कम
|
|
304
|
-
| Phi-4-mini-3.8B | ~8GB | MIT |
|
|
305
|
-
| SmolLM3-3B | ~6GB | Apache 2.0 | पूरी तरह से खुला
|
|
306
|
-
| Qwen 2.5 7B | ~12GB | Apache 2.0 | मौजूदा डिफ़ॉल्ट। पुराने 7B प्रीसेट
|
|
307
|
-
| Qwen 2.5 3B | ~8GB | Qwen-Research | ⚠ अनुसंधान लाइसेंस - वाणिज्यिक उपयोग से पहले Qwen
|
|
308
|
-
| Llama 3.2 3B | ~8GB | Llama Community | Qwen 3B का एक
|
|
309
|
-
| Llama 3.2 1B | ~6GB | Llama Community | छोटे कार्ड पर त्वरित
|
|
357
|
+
| Qwen-3.5-4B | ~8GB | Apache 2.0 | 5B से कम के लिए अनुशंसित डिफ़ॉल्ट। इस आकार पर सर्वोत्तम गुणवत्ता। |
|
|
358
|
+
| Phi-4-mini-3.8B | ~8GB | MIT | तर्क / गणित / कोड पर मजबूत। सख्त लाइसेंस-स्वच्छ। |
|
|
359
|
+
| SmolLM3-3B | ~6GB | Apache 2.0 | पूरी तरह से खुला नुस्खा। मूल 64K संदर्भ। |
|
|
360
|
+
| Qwen 2.5 7B | ~12GB | Apache 2.0 | मौजूदा डिफ़ॉल्ट। पुराने 7B प्रीसेट की सर्वोत्तम गुणवत्ता। |
|
|
361
|
+
| Qwen 2.5 3B | ~8GB | Qwen-Research | ⚠ अनुसंधान लाइसेंस - वाणिज्यिक उपयोग से पहले Qwen लाइसेंस शर्तों को देखें। |
|
|
362
|
+
| Llama 3.2 3B | ~8GB | Llama Community | अनुमति देने वाली शर्तों के साथ Qwen 3B का एक ठोस विकल्प। |
|
|
363
|
+
| Llama 3.2 1B | ~6GB | Llama Community | छोटे कार्ड पर त्वरित प्रयोगों के लिए। |
|
|
310
364
|
| Mistral 7B | ~12GB | Apache 2.0 | Qwen 7B के समान, अलग चैट टेम्पलेट। |
|
|
311
365
|
|
|
312
|
-
अन्य मॉडल
|
|
366
|
+
अन्य मॉडल अक्सर काम करते हैं, लेकिन केवल ये आठ CI में पिन किए गए हैं। Biderman 2024 + Thinking Machines 2025 के अनुसार रैंक-256 / सभी-रैखिक लक्ष्यों के लिए `--lora-preset=quality` (डिफ़ॉल्ट) पास करें, या यदि आपको v1.2.x फ़ुटप्रिंट की आवश्यकता है तो पुराने रैंक-16 / q+v लक्ष्य के लिए `--lora-preset=fast` पास करें।
|
|
313
367
|
|
|
314
368
|
## समस्या निवारण
|
|
315
369
|
|
|
316
|
-
सबसे आम
|
|
370
|
+
सबसे आम पहली-रन विफलताओं का एक संक्षिप्त सूचकांक। पूर्ण रिवर्स इंडेक्स [समस्या निवारण हैंडबुक पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) पर है। ड्राइवर / VRAM / मिश्रित-सटीक गहन-विश्लेषण के लिए [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) देखें।
|
|
317
371
|
|
|
318
372
|
| लक्षण | त्रुटि कोड | समाधान |
|
|
319
373
|
|---|---|---|
|
|
320
|
-
| प्रशिक्षण के दौरान GPU की मेमोरी समाप्त हो जाती
|
|
321
|
-
| हगिंगफेस 401 / "मॉडल नहीं मिला"
|
|
322
|
-
| `register_with_ollama` कनेक्शन अस्वीकृत। | `DEP_OLLAMA_REGISTRATION_FAILED` | डेमॉन शुरू करें: `ollama serve`। <https://ollama.com> से
|
|
323
|
-
| चेकपॉइंट सहेजते समय डिस्क भर गई। | `STATE_CHECKPOINT_INVALID` | क्रैश होने पर
|
|
324
|
-
| जीपीयू
|
|
325
|
-
| `backprop ui --share` अस्वीकृत। | `
|
|
326
|
-
|
|
|
374
|
+
| प्रशिक्षण के दौरान GPU की मेमोरी समाप्त हो जाती है | `RUNTIME_GPU_OOM` | स्वचालित — बैकप्रोपैगेट बैच आकार को आधा कर देता है और 3 बार तक पुनः प्रयास करता है। इसे बंद करने के लिए: `Trainer(oom_recovery=False)`। आकार को कम करने के लिए: `--batch-size 1`। |
|
|
375
|
+
| हगिंगफेस 401 / "मॉडल नहीं मिला" लौटाता है। | `DEP_MODEL_LOAD_FAILED` | `huggingface-cli login` और पुनः प्रयास करें। टाइपो के लिए, <https://huggingface.co/models> से सटीक आईडी कॉपी करें। |
|
|
376
|
+
| `register_with_ollama` कनेक्शन अस्वीकृत। | `DEP_OLLAMA_REGISTRATION_FAILED` | डेमॉन शुरू करें: `ollama serve`। <https://ollama.com> से स्थापित करें। पुनः प्रयास किया जा सकता है। |
|
|
377
|
+
| चेकपॉइंट सहेजते समय डिस्क भर गई। | `STATE_CHECKPOINT_INVALID` | एटॉमिक लेखन क्रैश होने पर `.partial` नामक एक निर्देशिका छोड़ देता है — इसे सुरक्षित रूप से हटाया जा सकता है। पिछला अच्छा चेकपॉइंट बरकरार है। |
|
|
378
|
+
| जीपीयू ज़्यादा गरम होने पर प्रशिक्षण रोक दिया गया। | `RUNTIME_GPU_TEMPERATURE_CRITICAL` | स्वचालित — बैकप्रोपैगेट तापमान सीमा पर रुक जाता है और जैसे ही जीपीयू ठंडा होता है, फिर से शुरू हो जाता है। यदि यह लगातार होता रहता है, तो वायु प्रवाह में सुधार करें। |
|
|
379
|
+
| `backprop ui --share` अस्वीकृत। | `RUNTIME_UI_AUTH_NOT_ENFORCED` | `--auth user:password` पास करें, या इसके बजाय SSH पोर्ट-फ़ॉरवर्डिंग का उपयोग करें (देखें [वेब यूआई](#web-ui))। |
|
|
380
|
+
| पहला प्रयास करने पर जीजीयूएफ निर्यात विफल। | `RUNTIME_GGUF_EXPORT_FAILED` | `pip install backpropagate[export]`; विंडोज पर आपको विज़ुअल सी++ बिल्ड टूल्स + सीएमएके की भी आवश्यकता होगी। |
|
|
327
381
|
|
|
328
|
-
## बग की रिपोर्ट
|
|
382
|
+
## बग की रिपोर्ट करना।
|
|
329
383
|
|
|
330
|
-
जब कुछ विफल
|
|
384
|
+
जब कुछ विफल हो जाता है, तो बैकप्रोपैगेट स्टार्टअप पर एक पंक्ति प्रिंट करता है, जैसे `run_started run_id=<uuid>` और प्रत्येक लॉग पंक्ति, प्रत्येक चेकपॉइंट और प्रत्येक वेट्स और बायसेस प्रविष्टि से समान आईडी को जोड़ता है। **किसी भी बग रिपोर्ट में `run_id` शामिल करें** — इससे एक रखरखावकर्ता उस विशिष्ट रन के लिए सब कुछ सहसंबंधित कर सकता है।
|
|
331
385
|
|
|
332
386
|
एक अच्छी बग रिपोर्ट में शामिल हैं:
|
|
333
387
|
|
|
334
|
-
1. **`run_id`** — स्टार्टअप पर
|
|
335
|
-
2. **त्रुटि कोड** — stderr में `[
|
|
336
|
-
3. **संपादित
|
|
337
|
-
4.
|
|
388
|
+
1. **`run_id`** — स्टार्टअप पर मुद्रित UUID। एक UUID एक रखरखावकर्ता को उस विशिष्ट रन के लिए प्रत्येक लॉग पंक्ति, प्रत्येक चेकपॉइंट और प्रत्येक वेट्स और बायसेस प्रविष्टि को सहसंबंधित करने देता है।
|
|
389
|
+
2. **त्रुटि कोड** — stderr में `[CODE_NAME]: message` पंक्ति। स्थिर कोड की सूची के लिए [त्रुटि कोड](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) देखें।
|
|
390
|
+
3. **संपादित ट्रेसबैक।** गैर-विस्तृत मोड में stderr स्वचालित रूप से संपादित किया जाता है (बेयरर टोकन, `sk-*`, `hf_*`, AWS कुंजियाँ, `password=` / `token=` / `api_key=` जोड़े हटा दिए जाते हैं) — इसे सुरक्षित रूप से पेस्ट किया जा सकता है। पूर्ण, बिना संपादित ट्रेसबैक के लिए, `BACKPROPAGATE_DEBUG=1` (या `--verbose`) के साथ पुनः चलाएं; पोस्ट करने से पहले समीक्षा करें।
|
|
391
|
+
4. **`backprop info` आउटपुट।** एक कमांड पायथन / पायटॉर्च / CUDA / GPU मॉडल / VRAM / OS / स्थापित अतिरिक्त — सब कुछ प्रिंट करता है जिसकी रखरखावकर्ता को प्लेटफ़ॉर्म-विशिष्ट प्रतिगमन को अलग करने के लिए आवश्यकता होती है।
|
|
338
392
|
|
|
339
|
-
प्रश्न, विचार, या "क्या यह अपेक्षित
|
|
393
|
+
[बग रिपोर्ट टेम्पलेट](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) देखें।
|
|
340
394
|
|
|
341
395
|
## गोपनीयता
|
|
342
396
|
|
|
343
|
-
सभी प्रशिक्षण आपके
|
|
397
|
+
सभी प्रशिक्षण आपके जीपीयू पर स्थानीय रूप से होते हैं। बैकप्रोपैगेट हगिंगफेस से मॉडल डाउनलोड करने के अलावा कोई नेटवर्क अनुरोध नहीं करता है (जिसे आप शुरू करते हैं)। कोई टेलीमेट्री नहीं, कोई क्लाउड निर्भरता नहीं।
|
|
344
398
|
|
|
345
399
|
## संदर्भ
|
|
346
400
|
|
|
347
|
-
|
|
401
|
+
बैकप्रोपैगेट की डिफ़ॉल्ट सेटिंग्स और मल्टी-रन प्रशिक्षण मोड हाल के शोध पर आधारित हैं। यदि आप अंतर्निहित तकनीकों में रुचि रखते हैं:
|
|
348
402
|
|
|
349
|
-
- **हु एट
|
|
350
|
-
- **बिडरमैन एट
|
|
351
|
-
- **थिंकिंग मशीन 2025।** *लोरा बिना पछतावे के।* [thinkingmachines.ai/blog/lora](https://thinkingmachines.ai/blog/lora/) — व्यावहारिक अनुवर्ती जो उच्च लोरा रैंक पर आवश्यक 10 गुना
|
|
352
|
-
- **किर्कपैट्रिक एट
|
|
353
|
-
- **वांग एट
|
|
354
|
-
- **यादव एट
|
|
355
|
-
- **कियाओ और महदावी 2025।**
|
|
403
|
+
- **हु एट अल. 2021।** *लोरा: बड़े भाषा मॉडल का कम-रैंक अनुकूलन।* [arXiv:2106.09685](https://arxiv.org/abs/2106.09685) — यह मूलभूत पेपर है जो लोरा का परिचय देता है, जिससे बैकप्रोपैगेट कुशलतापूर्वक एडेप्टर को प्रशिक्षित करता है।
|
|
404
|
+
- **बिडरमैन एट अल. 2024।** *लोरा कम सीखता है और कम भूलता है।* [arXiv:2405.09673](https://arxiv.org/abs/2405.09673) — अनुभवजन्य प्रमाण कि रैंक 256 पर सभी-रैखिक लक्ष्यों के साथ लोरा, अधिकांश पोस्ट-प्रशिक्षण कार्यों पर 67% कंप्यूट पर पूर्ण फाइन-ट्यूनिंग गुणवत्ता से मेल खाता है। बैकप्रोपैगेट के v1.3 डिफ़ॉल्ट लोरा कॉन्फ़िगरेशन को चलाता है।
|
|
405
|
+
- **थिंकिंग मशीन 2025।** *लोरा बिना पछतावे के।* [thinkingmachines.ai/blog/lora](https://thinkingmachines.ai/blog/lora/) — व्यावहारिक अनुवर्ती जो उच्च लोरा रैंक पर आवश्यक 10 गुना शिक्षण-दर-बनाम-पूर्ण-एफटी सुधार की पहचान करता है।
|
|
406
|
+
- **किर्कपैट्रिक एट अल. 2017।** *तंत्रिका नेटवर्क में विनाशकारी विस्मरण को दूर करना।* [arXiv:1612.00796](https://arxiv.org/abs/1612.00796) — तंत्रिका नेटवर्क के "भूलने" के मूल लक्षण वर्णन जब आप नए डेटा पर फाइन-ट्यून करते हैं (ईडब्ल्यूसी — इलास्टिक वेट कंसॉलिडेशन)।
|
|
407
|
+
- **वांग एट अल. 2023।** *भाषा मॉडल निरंतर सीखने के लिए ऑर्थोगोनल सबस्पेस लर्निंग।* [arXiv:2310.14152](https://arxiv.org/abs/2310.14152) — ओ-लोरा, निरंतर सीखने के लिए लोरा का उपयोग करने का एक प्रारंभिक दृष्टिकोण, नए एडेप्टर को ऑर्थोगोनल सबस्पेस तक सीमित करके।
|
|
408
|
+
- **यादव एट अल. 2023।** *टीआईएस-मर्जिंग: मॉडल को मर्ज करते समय हस्तक्षेप को हल करना।* [arXiv:2306.01708](https://arxiv.org/abs/2306.01708) — कई फाइन-ट्यून किए गए मॉडल को हस्तक्षेप के बिना मर्ज करने के लिए एक मूलभूत तकनीक।
|
|
409
|
+
- **कियाओ और महदावी 2025।** *भूलने से पहले मर्ज करें: निरंतर मर्जिंग के माध्यम से एक एकल लोरा निरंतर सीखना।* [arXiv:2512.23017](https://arxiv.org/abs/2512.23017) — विशिष्ट एल्गोरिदम जिसे बैकप्रोपैगेट का मल्टी-रन मर्जर लागू करता है। दिसंबर 2025 का एक प्रीप्रिंट; बैकप्रोपैगेट पेपर का पहला ज्ञात डाउनस्ट्रीम अपनाने वाला है।
|
|
356
410
|
|
|
357
411
|
## लाइसेंस
|
|
358
412
|
|