@mcptoolshop/backpropagate 1.2.0 → 1.3.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 +216 -207
- package/README.fr.md +216 -207
- package/README.hi.md +216 -207
- package/README.it.md +217 -208
- package/README.ja.md +216 -207
- package/README.md +216 -207
- package/README.pt-BR.md +215 -206
- package/README.zh.md +215 -206
- package/bin/backpropagate.js +29 -196
- package/package.json +2 -5
package/README.hi.md
CHANGED
|
@@ -10,143 +10,152 @@
|
|
|
10
10
|
<a href="https://github.com/mcp-tool-shop-org/backpropagate/actions/workflows/ci.yml"><img src="https://github.com/mcp-tool-shop-org/backpropagate/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
11
11
|
<a href="https://pypi.org/project/backpropagate/"><img src="https://img.shields.io/pypi/v/backpropagate" alt="PyPI"></a>
|
|
12
12
|
<a href="https://codecov.io/gh/mcp-tool-shop-org/backpropagate"><img src="https://img.shields.io/codecov/c/github/mcp-tool-shop-org/backpropagate" alt="Coverage"></a>
|
|
13
|
+
<a href="https://scorecard.dev/viewer/?uri=github.com/mcp-tool-shop-org/backpropagate"><img src="https://api.scorecard.dev/projects/github.com/mcp-tool-shop-org/backpropagate/badge" alt="OpenSSF Scorecard"></a>
|
|
13
14
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License"></a>
|
|
14
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>
|
|
15
16
|
</p>
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
# एक एडाप्टर को प्रशिक्षित करें। इसे ओलामा पर भेजें। आगे बढ़ें।
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
बैकप्रोपैगेट एक पायथन लाइब्रेरी है जो बड़े भाषा मॉडल को एक सिंगल जीपीयू पर फाइन-ट्यून करने के लिए उपयोग की जाती है। तीन पंक्तियों के कोड से 7 बिलियन पैरामीटर वाला मॉडल 16 जीबी के कार्ड पर प्रशिक्षित किया जा सकता है। एक और कमांड इसे ओलामा पर एक्सपोर्ट कर देता है ताकि आप `ollama run` कमांड का उपयोग करके अपने फाइन-ट्यून मॉडल को चला सकें। यह विंडोज पर भी आसानी से काम करता है।
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
```python
|
|
23
|
+
from backpropagate import Trainer
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
trainer = Trainer("Qwen/Qwen2.5-7B-Instruct")
|
|
26
|
+
trainer.train("my_data.jsonl", steps=100)
|
|
27
|
+
trainer.export("gguf", quantization="q4_k_m")
|
|
28
|
+
```
|
|
24
29
|
|
|
25
30
|
```bash
|
|
26
|
-
|
|
31
|
+
backprop ollama register ./output/lora --name my-model
|
|
32
|
+
ollama run my-model
|
|
27
33
|
```
|
|
28
34
|
|
|
29
|
-
|
|
30
|
-
from backpropagate import Trainer
|
|
35
|
+
बस इतना ही। इसमें कोई YAML कॉन्फ़िगरेशन फ़ाइल नहीं है। कोई `accelerate launch` प्रक्रिया नहीं है। कोई अलग "अब इसे GGUF में बदलें" ट्यूटोरियल नहीं है। यदि आपके पास एक CUDA जीपीयू है और आपके प्रशिक्षण डेटा के साथ एक JSONL फ़ाइल है, तो आप केवल तीन पंक्तियों से एक काम करने वाला फाइन-ट्यून मॉडल प्राप्त कर सकते हैं।
|
|
31
36
|
|
|
32
|
-
|
|
33
|
-
trainer.train("examples/quickstart.jsonl", steps=10)
|
|
34
|
-
trainer.export("gguf", quantization="q4_k_m") # Ready for Ollama
|
|
35
|
-
```
|
|
37
|
+
## इंस्टॉल करें
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
```bash
|
|
40
|
+
# Recommended: isolated Python install (no conflicts with system Python or other projects)
|
|
41
|
+
pipx install backpropagate
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
# Or via uv (faster install, same isolation)
|
|
44
|
+
uv tool install backpropagate
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
# Standard pip (if you manage your own virtualenv)
|
|
47
|
+
pip install backpropagate
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
यदि आप वैकल्पिक सुविधाओं का उपयोग करना चाहते हैं, तो इंस्टॉलेशन को इनमें से किसी एक से बदलें:
|
|
42
51
|
|
|
43
52
|
```bash
|
|
44
|
-
|
|
45
|
-
|
|
53
|
+
pipx install "backpropagate[standard]" # adds Unsloth (2x faster training) + the web UI
|
|
54
|
+
pipx install "backpropagate[full]" # adds everything: unsloth, ui, monitoring, export, etc.
|
|
46
55
|
```
|
|
47
56
|
|
|
48
|
-
|
|
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` वॉल्यूम माउंट भी होता है।
|
|
49
58
|
|
|
50
|
-
##
|
|
59
|
+
## बैकप्रोपैगेट कहाँ फिट बैठता है
|
|
51
60
|
|
|
52
|
-
|
|
61
|
+
बड़े भाषा मॉडल (LLMs) को फाइन-ट्यून करने के लिए कई अच्छी लाइब्रेरी उपलब्ध हैं। प्रत्येक लाइब्रेरी अलग-अलग कार्यों में उत्कृष्ट है:
|
|
53
62
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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-देशी व्यंजनों को संपादित करना चाहते हैं।
|
|
58
67
|
|
|
59
|
-
|
|
68
|
+
बैकप्रोपैगेट एक लापता विकल्प है: **एक सिंगल उपभोक्ता जीपीयू पर काम करने वाले ऑपरेटरों के लिए 3-पंक्ति पायथन एपीआई, जो एक एडाप्टर को प्रशिक्षित करना और उसे भेजना चाहते हैं।** इसमें कोई YAML, कोई GUI, कोई DPO/PPO, और कोई मल्टी-नोड सिस्टम नहीं है। इसमें केवल वह लूप है जिसकी वास्तव में सभी को आवश्यकता होती है, और वह एक्सपोर्ट स्टेप जो बाधा उत्पन्न करता है।
|
|
60
69
|
|
|
61
|
-
|
|
70
|
+
यदि आपने ऊपर दी गई लाइब्रेरी में से किसी एक को आज़माया है और कॉन्फ़िगरेशन फ़ाइल प्रक्रिया से निराश हो गए हैं, या किसी मॉडल परिवार की सीमा का सामना किया है, या विंडोज-फर्स्ट डिफ़ॉल्ट सेटिंग्स चाहते हैं - तो बैकप्रोपैगेट आपके लिए है।
|
|
62
71
|
|
|
63
|
-
|
|
64
|
-
|---------|----------|
|
|
65
|
-
| बारीक समायोजन एक जटिल प्रक्रिया है। | 3 पंक्तियाँ: लोड (लोड), ट्रेन (ट्रेन), सेव (सेव)। |
|
|
66
|
-
| विंडोज एक दुःस्वप्न जैसा है। | विंडोज के लिए उत्कृष्ट समर्थन। |
|
|
67
|
-
| वीआरएएम (VRAM) का प्रबंधन एक जटिल कार्य है। | स्वचालित बैच आकार निर्धारण, जीपीयू (GPU) की निगरानी। |
|
|
68
|
-
| मॉडल का निर्यात एक जटिल प्रक्रिया है। | एक क्लिक में GGUF और Ollama का पंजीकरण। |
|
|
69
|
-
| लंबे समय तक लगातार चलने से याददाश्त कमजोर हो सकती है। | एकाधिक बार दोहराए जाने वाले एसएलएओ प्रशिक्षण। |
|
|
72
|
+
## 16 जीबी के उपभोक्ता जीपीयू पर आप क्या फाइन-ट्यून कर सकते हैं
|
|
70
73
|
|
|
71
|
-
|
|
74
|
+
यहां 16 जीबी के कार्ड (RTX 4080 / 5080 / 4070 Ti Super) पर व्यावहारिक सीमाएं दी गई हैं:
|
|
72
75
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
|
|
76
|
+
| मॉडल | विधि | स्थिति |
|
|
77
|
+
|---|---|---|
|
|
78
|
+
| Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | आरामदायक। पूर्ण सीक्वेंस लंबाई, अतिरिक्त जगह। |
|
|
79
|
+
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | मानक। लगभग 7-8 जीबी। बैकप्रोपैगेट की डिफ़ॉल्ट सेटिंग्स। |
|
|
80
|
+
| Llama-3 13B | QLoRA + सैंपल पैकिंग | कठिन लेकिन काम करता है। छोटे सीक्वेंस का उपयोग करें। |
|
|
81
|
+
| Mixtral 8x7B (कुल 47 बिलियन पैरामीटर) | AQLM 2-बिट + LoRA | v1.4 में प्रायोगिक। 16 जीबी के कार्ड पर आप जिस सबसे बड़े मॉडल को चला सकते हैं। |
|
|
79
82
|
|
|
80
|
-
|
|
83
|
+
3 बिलियन और उससे छोटे मॉडलों के लिए, 16 जीबी पर पूर्ण फाइन-ट्यूनिंग (केवल LoRA नहीं) संभव है, और इसे v1.4 के लिए `mode="full"` विकल्प के रूप में योजनाबद्ध किया गया है। 7 बिलियन या उससे बड़े मॉडलों के लिए, पूर्ण फाइन-ट्यूनिंग के लिए 24 जीबी या उससे अधिक जीपीयू की आवश्यकता होती है - एक A100 क्लाउड रेंटल पर विचार करें, या LoRA का उपयोग करें, जो हाल के शोध से पता चलता है कि यह अधिकांश पोस्ट-ट्रेनिंग कार्यों पर पूर्ण फाइन-ट्यूनिंग की गुणवत्ता से मेल खाता है (अधिक उद्धरणों के लिए [इस अनुभाग](#what-backpropagate-is-not-for) देखें)।
|
|
81
84
|
|
|
82
|
-
|
|
83
|
-
pip install backpropagate # Core only (minimal)
|
|
84
|
-
pip install backpropagate[unsloth] # + Unsloth 2x faster training
|
|
85
|
-
pip install backpropagate[ui] # + Reflex (Radix UI) web interface
|
|
86
|
-
pip install backpropagate[standard] # unsloth + ui (recommended)
|
|
87
|
-
pip install backpropagate[full] # Everything
|
|
88
|
-
```
|
|
85
|
+
## बैकप्रोपैगेट किसके लिए नहीं है
|
|
89
86
|
|
|
90
|
-
|
|
91
|
-
|-------|-------------|--------------|
|
|
92
|
-
| `unsloth` | 2 गुना तेज़ प्रशिक्षण, 50% कम वीआरएएम (VRAM) की आवश्यकता। | अनस्लोथ। |
|
|
93
|
-
| `ui` | रिफ्लेक्स (रेडिक्स यूआई) वेब इंटरफेस। | "reflex" का संस्करण 0.9.2 या उससे अधिक होना चाहिए, और "fastapi" का संस्करण 0.115 या उससे अधिक होना चाहिए। |
|
|
94
|
-
| `validation` | पायडैंटिक का कॉन्फ़िगरेशन सत्यापन। | pydantic, pydantic-सेटिंग्स |
|
|
95
|
-
| `export` | ओलामा के लिए जीजीयूएफ प्रारूप में डेटा का निर्यात। | llama-cpp-python |
|
|
96
|
-
| `monitoring` | वैंडबी (WandB) और सिस्टम मॉनिटरिंग (संस्करण 1.1.0 में ट्रेनर में स्वचालित रूप से एकीकृत)। | wandb, psutil |
|
|
97
|
-
| `logging` | संरचित लॉगिंग। | स्ट्रक्टलॉग (structlog) एक ऐसा उपकरण है। |
|
|
98
|
-
| `security` | JWT प्रमाणीकरण (ऑथेंटिकेशन) और टोकन निर्माण। | PyJWT, क्रिप्टोग्राफी। |
|
|
99
|
-
| `production` | अनस्लोथ + यूआई (यूजर इंटरफेस) + सत्यापन + लॉगिंग + सुरक्षा। | (गुच्छा) |
|
|
87
|
+
ईमानदार स्कोप हर किसी की मदद करता है। बैकप्रोपैगेट इन चीजों को नहीं करता है, और इसे ऐसा करने की कोशिश करना सही उपकरण का उपयोग करने से भी बदतर अनुभव होगा:
|
|
100
88
|
|
|
101
|
-
|
|
89
|
+
- **7B+ मॉडलों का पूर्ण-पैरामीटर फाइन-ट्यूनिंग:** बैकप्रोपगेट LoRA/QLoRA का उपयोग करता है, जो प्रत्येक वेट को अपडेट करने के बजाय एक छोटे एडाप्टर को प्रशिक्षित करता है। 7B और उससे बड़े मॉडलों के लिए, पूर्ण फाइन-ट्यूनिंग के लिए 24GB+ GPU मेमोरी की आवश्यकता होती है और यह 16GB के उपभोक्ता कार्ड पर फिट नहीं होता है। 3B और उससे छोटे मॉडलों के लिए, 16GB पर पूर्ण फाइन-ट्यूनिंग संभव है; v1.4 के लिए `mode="full"` विकल्प की योजना है। बड़ी तस्वीर: हाल के शोध (Biderman 2024, Thinking Machines 2025) से पता चलता है कि LoRA सही कॉन्फ़िगरेशन के साथ अधिकांश पोस्ट-ट्रेनिंग कार्यों (निर्देशों का पालन, डोमेन अनुकूलन, व्यक्तित्व/शैली) में पूर्ण फाइन-ट्यूनिंग की गुणवत्ता से मेल खाता है, और यह 67% कम कंप्यूटिंग संसाधनों का उपयोग करता है। इसलिए, अधिकांश ऑपरेटरों के लिए जो काम वे वास्तव में करना चाहते हैं, LoRA का उपयोग करने से उन्हें कोई नुकसान नहीं होता है। यदि आपको वास्तव में 7B+ मॉडल की पूर्ण फाइन-ट्यूनिंग की आवश्यकता है, तो HuggingFace `transformers.Trainer` को सीधे 24GB+ कार्ड पर उपयोग करें।
|
|
90
|
+
- **DPO/PPO/GRPO/पसंद ट्यूनिंग:** बैकप्रोपगेट केवल सिंगल-स्टेज सुपरवाइज्ड फाइन-ट्यूनिंग करता है। पसंद सीखने के लिए, सीधे TRL या LLaMA-Factory का उपयोग करें।
|
|
91
|
+
- **मल्टी-नोड प्रशिक्षण:** केवल एक मशीन पर एक GPU। एक मशीन पर मल्टी-GPU काम करता है (accelerate launch के माध्यम से), लेकिन यह आधिकारिक तौर पर समर्थित नहीं है।
|
|
92
|
+
- **macOS पर प्रशिक्षण:** Apple Silicon में CUDA नहीं है, इसलिए प्रशिक्षण को Linux या Windows बॉक्स पर NVIDIA GPU के साथ चलाना होगा। आप प्रशिक्षित मॉडल को Ollama के माध्यम से Mac पर चला सकते हैं।
|
|
93
|
+
- **परीक्षण किए गए मॉडल परिवारों के बाहर की कोई भी चीज़:** Qwen 2.5/3.5 (7B/4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B/1B), Mistral 7B। अन्य मॉडल अक्सर काम करते हैं लेकिन CI में पिन नहीं किए गए हैं।
|
|
102
94
|
|
|
103
|
-
|
|
95
|
+
यदि आपको इनमें से किसी भी चीज़ की आवश्यकता है, तो ऊपर सूचीबद्ध पुस्तकालयों में से किसी एक का उपयोग करें। वे इसमें बेहतर हैं।
|
|
104
96
|
|
|
105
|
-
बैकप्रोपगेट
|
|
97
|
+
## बैकप्रोपगेट आपको क्या देता है
|
|
106
98
|
|
|
107
|
-
|
|
108
|
-
- **विंडोज।** `[export]` एक्सट्रा के लिए Visual Studio Build Tools (C++) और CMake की आवश्यकता होती है (llama-cpp-python स्रोत कोड से बनाया जाता है)। अब `bitsandbytes` व्हील विंडोज के लिए मूल रूप से उपलब्ध है (>= 0.43); `bitsandbytes-windows` का उल्लेख करने वाले पुराने गाइड पुराने हैं।
|
|
109
|
-
- **macOS।** GPU प्रशिक्षण समर्थित **नहीं** है - कोई CUDA नहीं। आप Ollama के माध्यम से निर्यात किए गए GGUF पर *अनुमान* चलाने के लिए बैकप्रोपगेट इंस्टॉल कर सकते हैं, लेकिन `trainer.train()` `DEP_GPU_NOT_AVAILABLE` त्रुटि उत्पन्न करता है। प्रशिक्षण के लिए CUDA मशीन का उपयोग करें।
|
|
110
|
-
- **लिनक्स।** अधिकांश वितरण डिफ़ॉल्ट रूप से काम करते हैं। यदि आप PyPI बाइनरी रिलीज़ का उपयोग कर रहे हैं, तो ध्यान दें कि लिनक्स बिल्ड केवल CPU वाला torch का उपयोग करता है (GitHub की 2 GB रिलीज़-एसेट सीमा से नीचे रहने के लिए); पहले pytorch.org से संबंधित CUDA व्हील इंस्टॉल करें।
|
|
99
|
+
एक इंस्टॉलेशन में, चार चीजें:
|
|
111
100
|
|
|
112
|
-
|
|
101
|
+
**1. एक वास्तविक 3-पंक्ति API जो किसी कॉन्फ़िगरेशन फ़ाइल के बिना चलता है।**
|
|
102
|
+
इस README के शीर्ष पर दिया गया स्निपेट एंड-टू-एंड चलता है। कोई `accelerate config` नहीं, कोई YAML नहीं, कोई Hydra ओवरराइड नहीं। बस `Trainer(model).train(data)` और आपके पास फाइन-ट्यूनिंग है।
|
|
113
103
|
|
|
114
|
-
|
|
104
|
+
**2. विंडोज जो वास्तव में काम करता है।**
|
|
105
|
+
अधिकांश ML लाइब्रेरी विंडोज को एक afterthought के रूप में मानते हैं। बैकप्रोपगेट का परीक्षण Windows + RTX 5080 पर पहले दर्जे का किया गया है। लाइब्रेरी आपके लिए रनटाइम की विचित्रताओं को संभालती है - यह जानता है कि आपके डेटा को कैसे प्री-टोकनाइज़ करना है ताकि विंडोज मल्टीप्रोसेसिंग क्रैश न हो, यह स्वचालित रूप से RTX 40/50 कार्ड पर xformers को अक्षम कर देता है जहां यह खराब हो जाता है, और यह डेटालोडर सेटिंग्स चुनता है जो खराब नहीं होती हैं। आपको इनमें से कुछ भी जानने की आवश्यकता नहीं है। यह बस चलता है।
|
|
115
106
|
|
|
116
|
-
|
|
107
|
+
**3. बिना पर्यवेक्षण के चलने के लिए बनाया गया।**
|
|
108
|
+
प्रशिक्षण में घंटों लगते हैं। आप इसका ध्यान नहीं रखना चाहते। बैकप्रोपगेट को चलने के लिए डिज़ाइन किया गया है:
|
|
117
109
|
|
|
118
|
-
|
|
110
|
+
- यदि आपके पास GPU मेमोरी खत्म हो जाती है, तो यह स्वचालित रूप से बैच आकार को आधा कर देता है और पुनः प्रयास करता है - अधिकतम तीन बार। कोई मैनुअल ट्यूनिंग नहीं।
|
|
111
|
+
- यदि आपका GPU बहुत गर्म हो जाता है, तो यह तब तक रुक जाता है जब तक कि चीजें ठंडी न हो जाएं और फिर जारी रहता है।
|
|
112
|
+
- प्रत्येक चेकपॉइंट को परमाणु रूप से लिखा जाता है - यदि आपका लैपटॉप बचत के दौरान क्रैश हो जाता है, तो पिछला अच्छा चेकपॉइंट अभी भी बरकरार रहता है।
|
|
113
|
+
- प्रत्येक प्रशिक्षण रन को एक अद्वितीय ID मिलता है जो प्रत्येक लॉग लाइन, प्रत्येक चेकपॉइंट और प्रत्येक Weights & Biases प्रविष्टि पर अंकित होता है। यदि कुछ गलत होता है, तो एक ID एक रखरखावकर्ता को सब कुछ सहसंबंधित करने की अनुमति देता है।
|
|
114
|
+
- त्रुटियां स्थिर कोड के साथ आती हैं (`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/) है।
|
|
119
115
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
| `BACKPROPAGATE_LOG_LEVEL` | `INFO` | `DEBUG` / `INFO` / `WARNING` / `ERROR` |
|
|
123
|
-
| `BACKPROPAGATE_LOG_JSON` | ऑटो | JSON लॉग (`true`) या कंसोल लॉग (`false`) को फ़ोर्स करें |
|
|
124
|
-
| `BACKPROPAGATE_LOG_FILE` | अनिर्धारित | लॉग को किस स्थान पर सहेजा जाए |
|
|
125
|
-
| `BACKPROPAGATE_DEFER_FEATURE_DETECTION` | अनिर्धारित | सबसे तेज़ CLI कोल्ड स्टार्ट के लिए स्टार्टअप पर वैकल्पिक-निर्भरता का पता लगाना छोड़ दें |
|
|
126
|
-
| `BACKPROPAGATE_SECURITY__REQUIRE_AUTH_FOR_SHARE` | `true` | जब `true` होता है, तो `--auth` के बिना `backprop ui --share` को अस्वीकार कर देता है |
|
|
127
|
-
| `BACKPROPAGATE_UI__OUTPUT_DIR` | `~/.backpropagate/ui-outputs` | सभी UI फ़ाइल सिस्टम राइट्स के लिए सैंडबॉक्स बेस; डिनाइलिस्ट-सत्यापित |
|
|
128
|
-
| `BACKPROPAGATE_MODEL__NAME` | `Qwen/Qwen2.5-7B-Instruct` | डिफ़ॉल्ट मॉडल |
|
|
129
|
-
| `BACKPROPAGATE_TRAINING__LEARNING_RATE` | `2e-4` | लर्निंग रेट |
|
|
130
|
-
| `BACKPROPAGATE_LORA__R` | `16` | LoRA रैंक |
|
|
116
|
+
**4. प्रशिक्षित एडाप्टर से `ollama run` तक एक कमांड।**
|
|
117
|
+
कई लाइब्रेरी एक मॉडल को प्रशिक्षित करती हैं। उनमें से बहुत कम ही आपको तब भी रास्ता देते हैं जब आप वास्तव में इसका उपयोग करना चाहते हैं। बैकप्रोपगेट GGUF (वह प्रारूप जिसका उपयोग Ollama करता है) में निर्यात करता है और एक कमांड में एक Ollama मॉडल को पंजीकृत करता है। आप "प्रशिक्षण पूरा हुआ" से "मैं अपने फाइन-ट्यून मॉडल के साथ चैट कर सकता हूं" तक लगभग 30 सेकंड में पहुँच जाते हैं।
|
|
131
118
|
|
|
132
|
-
|
|
119
|
+
## शुरुआत कैसे करें।
|
|
133
120
|
|
|
134
|
-
|
|
121
|
+
यह रिपॉजिटरी एक छोटा उदाहरण डेटासेट प्रदान करता है, ताकि इस README फ़ाइल के शीर्ष पर दिया गया कोड एक नए इंस्टॉलेशन पर भी चल सके:
|
|
135
122
|
|
|
136
|
-
|
|
123
|
+
```bash
|
|
124
|
+
pipx install "backpropagate[standard]"
|
|
137
125
|
|
|
138
|
-
|
|
126
|
+
python -c "
|
|
139
127
|
from backpropagate import Trainer
|
|
128
|
+
trainer = Trainer('Qwen/Qwen2.5-7B-Instruct')
|
|
129
|
+
trainer.train('examples/quickstart.jsonl', steps=10)
|
|
130
|
+
trainer.export('gguf', quantization='q4_k_m')
|
|
131
|
+
"
|
|
132
|
+
```
|
|
140
133
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
134
|
+
यह 5 छोटे ShareGPT-प्रारूप वाले वार्तालापों पर Qwen 2.5 7B एडेप्टर को प्रशिक्षित करता है, और फिर परिणाम को GGUF प्रारूप में निर्यात करता है। अपने स्वयं के डेटा के लिए, अपने JSONL फ़ाइल को एक उदाहरण प्रति पंक्ति के प्रारूप में व्यवस्थित करें:
|
|
135
|
+
|
|
136
|
+
```jsonl
|
|
137
|
+
{"conversations": [{"from": "human", "value": "What is Python?"}, {"from": "gpt", "value": "A programming language."}]}
|
|
138
|
+
{"conversations": [{"from": "human", "value": "Explain recursion."}, {"from": "gpt", "value": "A function that calls itself."}]}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Alpaca (`instruction` / `output`), OpenAI चैट (`messages`), और कच्चे टेक्स्ट प्रारूप भी काम करते हैं - Backpropagate स्वचालित रूप से प्रारूप का पता लगाता है।
|
|
142
|
+
|
|
143
|
+
अधिक एंड-टू-एंड वर्कफ़्लो (जैसे, फाइन-ट्यूनिंग और Hugging Face हब पर अपलोड करना, OOM होने पर पुनः आरंभ करना, एक लंबे अभियान में कई बार चलाना, आदि) के लिए, [हैंडबुक रेसिपीज़ पेज](https://mcp-tool-shop-org.github.io/backpropagate/handbook/recipes/) देखें।
|
|
144
|
+
|
|
145
|
+
### वेब UI (वैकल्पिक)
|
|
146
|
+
|
|
147
|
+
यदि आप Python कोड लिखने के बजाय क्लिक करना पसंद करते हैं, तो UI एक्सट्रा स्थापित करें और लॉन्च करें:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
pipx install "backpropagate[ui]"
|
|
151
|
+
backprop ui --port 7862
|
|
145
152
|
```
|
|
146
153
|
|
|
147
|
-
`
|
|
154
|
+
एक स्थानीय वेब इंटरफ़ेस `http://localhost:7862` पर खुलता है, जहाँ आप एक डेटासेट का चयन कर सकते हैं, एक मॉडल चुन सकते हैं, प्रशिक्षण कर सकते हैं और परिणाम निर्यात कर सकते हैं। डिफ़ॉल्ट रूप से, UI केवल स्थानीय रूप से उपलब्ध होता है। इसे अन्य उपकरणों पर उपलब्ध कराने के लिए, `--share` + `--auth` सुरक्षा अनुबंध के लिए [वेब UI](#web-ui) अनुभाग देखें।
|
|
155
|
+
|
|
156
|
+
## कई बार प्रशिक्षण
|
|
148
157
|
|
|
149
|
-
|
|
158
|
+
यदि आप कई डेटासेट पर क्रमिक रूप से फाइन-ट्यूनिंग करना चाहते हैं - उदाहरण के लिए, यदि आपको हर हफ्ते नया प्रशिक्षण डेटा मिलता है और आप इसे जोड़ना चाहते हैं, लेकिन पहले सीखी गई जानकारी को भूलना नहीं चाहते हैं - तो Backpropagate का `multi_run` मोड आपके लिए है:
|
|
150
159
|
|
|
151
160
|
```python
|
|
152
161
|
from backpropagate import Trainer
|
|
@@ -158,196 +167,196 @@ result = trainer.multi_run(
|
|
|
158
167
|
num_runs=5,
|
|
159
168
|
steps_per_run=100,
|
|
160
169
|
samples_per_run=1000,
|
|
161
|
-
merge_mode="slao", # Single LoRA Continual Learning via Asymmetric Merging
|
|
162
170
|
)
|
|
163
171
|
```
|
|
164
172
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
### Ollama में निर्यात करें
|
|
168
|
-
|
|
169
|
-
```python
|
|
170
|
-
# Export to GGUF
|
|
171
|
-
result = trainer.export("gguf", quantization="q4_k_m")
|
|
172
|
-
|
|
173
|
-
# Register with Ollama separately
|
|
174
|
-
from backpropagate import register_with_ollama
|
|
175
|
-
register_with_ollama(result.path, "my-finetuned-model")
|
|
176
|
-
# ollama run my-finetuned-model
|
|
177
|
-
```
|
|
173
|
+
यह पांच प्रशिक्षण चक्र चलाता है, और प्रत्येक चक्र के बीच एडेप्टर को इस तरह मर्ज करता है कि पिछली जानकारी बनी रहे और नए उदाहरण शामिल हों। यह तकनीक हाल के निरंतर-सीखने अनुसंधान पर आधारित है - [संदर्भ](#references) अनुभाग में अधिक जानकारी प्राप्त करें, जो इस README फ़ाइल के अंत में दिया गया है।
|
|
178
174
|
|
|
179
|
-
|
|
175
|
+
CLI (कमांड लाइन इंटरफ़ेस) संस्करण:
|
|
180
176
|
|
|
181
177
|
```bash
|
|
182
|
-
backprop
|
|
183
|
-
backprop multi-run --data my_data.jsonl --runs 5 --steps 100
|
|
184
|
-
backprop export ./output/lora --format gguf --quantization q4_k_m --ollama --ollama-name my-model
|
|
185
|
-
backprop ui --port 7862
|
|
186
|
-
backprop info
|
|
187
|
-
backprop list-runs # v1.1.0: query past training runs
|
|
188
|
-
backprop show-run <run-id> # v1.1.0: detail view
|
|
189
|
-
backprop resume <run-id> # v1.1.0: resume a crashed multi-run
|
|
190
|
-
backprop push ./output/lora --repo me/my-model # v1.1.0: push adapter to HF Hub
|
|
178
|
+
backprop multi-run --data my_data.jsonl --runs 5 --steps 100 --samples 1000
|
|
191
179
|
```
|
|
192
180
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
### चेकपॉइंट से फिर से शुरू करें (v1.1.0)
|
|
181
|
+
## चेकपॉइंट से पुनः आरंभ करें
|
|
196
182
|
|
|
197
|
-
एक 5
|
|
183
|
+
एक 5-चक्र प्रशिक्षण जो चौथे चक्र में क्रैश हो जाता है, उसे पुनः आरंभ किया जा सकता है। प्रत्येक `multi_run` सत्र अपनी रन आईडी को ऑन-डिस्क इतिहास और चेकपॉइंट मैनिफेस्ट में लिखता है, इसलिए जहां से आपने छोड़ा था, वहीं से शुरू करने के लिए केवल एक कमांड की आवश्यकता होती है:
|
|
198
184
|
|
|
199
185
|
```bash
|
|
200
|
-
backprop resume <run-id>
|
|
201
|
-
backprop multi-run --data ... --resume <run-id>
|
|
202
|
-
backprop train --data ... --resume <run-id>
|
|
186
|
+
backprop resume <run-id>
|
|
187
|
+
backprop multi-run --data ... --resume <run-id>
|
|
188
|
+
backprop train --data ... --resume <run-id> # single-run resume
|
|
203
189
|
```
|
|
204
190
|
|
|
205
|
-
`backprop multi-run` का डिफ़ॉल्ट व्यवहार (बिना `--resume`
|
|
191
|
+
`backprop multi-run` का डिफ़ॉल्ट व्यवहार (बिना `--resume` विकल्प के) समान आउटपुट निर्देशिका में चल रहे सत्र का पता लगाता है और उसे जारी रखता है। यदि आप एक नए सत्र से शुरुआत करना चाहते हैं, तो एक नई आउटपुट निर्देशिका का उपयोग करें।
|
|
206
192
|
|
|
207
|
-
|
|
193
|
+
## प्रशिक्षण इतिहास
|
|
208
194
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
`Trainer` स्वचालित रूप से स्थापित प्रयोग ट्रैकर (`wandb`, `tensorboard`, `mlflow`) का पता लगाता है और उन्हें अंतर्निहित `transformers.TrainingArguments` में एकीकृत करता है। डिफ़ॉल्ट `report_to="auto"` उन सभी को चुनता है जिन्हें इम्पोर्ट किया जा सकता है:
|
|
195
|
+
प्रत्येक `backprop train` और `backprop multi-run` कमांड `<output>/run_history.json` फ़ाइल में एक पंक्ति रिकॉर्ड करता है - उपयोग किया गया मॉडल, डेटासेट, हाइपरपैरामीटर, स्थिति, अंतिम हानि, हानि इतिहास। आप पिछले रनों को सूचीबद्ध और जांच सकते हैं:
|
|
212
196
|
|
|
213
197
|
```bash
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
backprop
|
|
198
|
+
backprop list-runs # last 20 runs
|
|
199
|
+
backprop list-runs --status failed # filter by status
|
|
200
|
+
backprop list-runs --json --limit 100 # machine-readable
|
|
201
|
+
backprop show-run abcd1234 # detail view (partial ID is fine)
|
|
217
202
|
```
|
|
218
203
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
### प्रशिक्षण इतिहास
|
|
204
|
+
## प्रयोग ट्रैकिंग
|
|
222
205
|
|
|
223
|
-
|
|
206
|
+
Backpropagate स्थापित प्रयोग ट्रैकर (Weights & Biases, TensorBoard, MLflow) का स्वचालित रूप से पता लगाता है और उन्हें एकीकृत करता है। यदि `wandb` स्थापित है और आप लॉग इन हैं, तो प्रत्येक रन स्वचालित रूप से W&B पर लॉग इन हो जाता है, और रन का नाम ऑन-डिस्क रन आईडी से मेल खाता है - जिससे आप W&B, अपने लॉग और `run_history.json` फ़ाइल में एक ही पहचानकर्ता का उपयोग करके खोज कर सकते हैं।
|
|
224
207
|
|
|
225
208
|
```bash
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
backprop
|
|
229
|
-
backprop show-run abcd1234 # detail view (partial run_id ok)
|
|
209
|
+
pip install backpropagate[monitoring] # installs wandb + psutil
|
|
210
|
+
wandb login # one-time setup
|
|
211
|
+
backprop train --data my_data.jsonl
|
|
230
212
|
```
|
|
231
213
|
|
|
232
|
-
|
|
214
|
+
`Trainer(report_to=["wandb"])`, `Trainer(report_to=["tensorboard"])`, या `Trainer(report_to="none")` का उपयोग करके इसे ओवरराइड किया जा सकता है।
|
|
233
215
|
|
|
234
|
-
|
|
216
|
+
## वेब UI
|
|
235
217
|
|
|
236
|
-
|
|
218
|
+
Reflex वेब इंटरफ़ेस वैकल्पिक है - इसे `pipx install "backpropagate[ui]"` के साथ स्थापित करें और लॉन्च करें:
|
|
237
219
|
|
|
238
220
|
```bash
|
|
239
221
|
backprop ui --port 7862
|
|
240
222
|
```
|
|
241
223
|
|
|
242
|
-
|
|
224
|
+
UI स्थानीय रूप से `http://localhost:7862` पर चलता है। इसे अन्य उपकरणों पर उपलब्ध कराने के लिए (आपके नेटवर्क पर अन्य लोग, एक सार्वजनिक URL, आदि), आपको `--share` (या `--host`) को `--auth` के साथ जोड़ना होगा:
|
|
243
225
|
|
|
244
226
|
```bash
|
|
245
227
|
backprop ui --share --auth alice:hunter2
|
|
246
228
|
```
|
|
247
229
|
|
|
248
|
-
`backprop ui --share`
|
|
230
|
+
`backprop ui --share` बिना `--auth` के एक त्रुटि के साथ समाप्त हो जाता है। इसका कारण यह है कि `--share` एक URL प्रकाशित करता है जिसे इंटरनेट पर कोई भी व्यक्ति एक्सेस कर सकता है, और बिना प्रमाणीकरण के, इसका मतलब है कि कोई भी आपके प्रशिक्षण पाइपलाइन को चला सकता है और आपके HuggingFace टोकन को पढ़ सकता है। इसके लिए कोई विकल्प उपलब्ध नहीं है - यदि आप क्रेडेंशियल सेट नहीं करना चाहते हैं, तो SSH पोर्ट-फॉरवर्डिंग का उपयोग करें:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
# On the client:
|
|
234
|
+
ssh -L 7860:localhost:7860 <your-training-host>
|
|
235
|
+
# On the server:
|
|
236
|
+
backprop ui # no --share
|
|
237
|
+
# Then open http://localhost:7860 in your local browser
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
पूर्ण खतरे के मॉडल के लिए [handbook/security.md](https://mcp-tool-shop-org.github.io/backpropagate/handbook/security/) देखें।
|
|
249
241
|
|
|
250
242
|
UI से किए गए फ़ाइल सिस्टम लेखन को एक ही डायरेक्टरी तक सीमित कर दिया गया है:
|
|
251
243
|
|
|
252
244
|
- डिफ़ॉल्ट: `~/.backpropagate/ui-outputs`
|
|
253
|
-
-
|
|
254
|
-
-
|
|
245
|
+
- बदलने के लिए: `BACKPROPAGATE_UI__OUTPUT_DIR=/path/you/own` सेट करें
|
|
246
|
+
- इस बदलाव को 'ब्लैकलिस्ट' से जांचा जाता है - सिस्टम या क्रेडेंशियल पाथ (`/etc`, `~/.ssh`, `~/.aws`, `C:\Windows\System32`, आदि) को अनुमति नहीं है।
|
|
255
247
|
|
|
256
|
-
##
|
|
248
|
+
## प्लेटफ़ॉर्म संबंधी जानकारी
|
|
257
249
|
|
|
258
|
-
|
|
250
|
+
**आवश्यकताएं:** पायथन 3.10 या उससे ऊपर का संस्करण, CUDA जीपीयू (8 जीबी या उससे अधिक वीआरएएम), पायटॉर्च 2.0 या उससे ऊपर का संस्करण।
|
|
259
251
|
|
|
260
|
-
|
|
261
|
-
- RTX 40/50 श्रृंखला के लिए स्वचालित xformers अक्षम
|
|
262
|
-
- सुरक्षित डेटा लोडर सेटिंग्स
|
|
263
|
-
- RTX 5080 (16GB VRAM) पर परीक्षण किया गया
|
|
252
|
+
Python 3.10 का जीवनकाल अक्टूबर 2026 में समाप्त हो रहा है, और Backpropagate v1.4 में 3.10 को हटा देगा। नए इंस्टॉलेशन के लिए, Python 3.11 या 3.12 को प्राथमिकता दें - 3.11 सबसे अधिक परीक्षण किया गया संस्करण है।
|
|
264
253
|
|
|
265
|
-
|
|
254
|
+
Backpropagate विभिन्न प्लेटफ़ॉर्म पर प्रशिक्षण के दौरान आने वाली समस्याओं को संभालता है, लेकिन यह इंस्टॉलेशन के समय होने वाली समस्याओं को ठीक नहीं कर सकता। दो सबसे आम समस्याएं हैं:
|
|
266
255
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
| Qwen 2.5 7B | ~12GB | मध्यम | सर्वोत्तम |
|
|
270
|
-
| Qwen 2.5 3B | ~8GB | तेज़ | अच्छा |
|
|
271
|
-
| Llama 3.2 3B | ~8GB | तेज़ | अच्छा |
|
|
272
|
-
| Llama 3.2 1B | ~6GB | सबसे तेज़ | बुनियादी |
|
|
273
|
-
| Mistral 7B | ~12GB | मध्यम | अच्छा |
|
|
256
|
+
- **गलत CUDA ड्राइवर।** PyTorch प्रत्येक CUDA संस्करण के लिए एक बाइनरी जारी करता है। यदि आप गलत बाइनरी चुनते हैं, तो आपको केवल CPU-आधारित PyTorch मिलेगा और प्रशिक्षण बहुत धीमा होगा। अपने ड्राइवर के लिए <https://pytorch.org/get-started/locally/> पर दिए गए ड्राइवर चयनकर्ता का उपयोग करें। अपने ड्राइवर/CUDA संस्करण को देखने के लिए `nvidia-smi` कमांड चलाएं।
|
|
257
|
+
- **Windows + GGUF एक्सपोर्ट।** `[export]` एक्सट्रा `llama-cpp-python` को स्रोत कोड से बनाता है, जिसके लिए Visual Studio Build Tools (C++ घटक) और CMake की आवश्यकता होती है।
|
|
274
258
|
|
|
275
|
-
|
|
259
|
+
**macOS:** GPU प्रशिक्षण समर्थित नहीं है (CUDA उपलब्ध नहीं है)। आप प्रशिक्षित एडेप्टर को Ollama के माध्यम से Mac पर चला सकते हैं, लेकिन `trainer.train()` में `DEP_GPU_NOT_AVAILABLE` त्रुटि उत्पन्न होगी। प्रशिक्षण के लिए CUDA Linux या Windows मशीन का उपयोग करें।
|
|
276
260
|
|
|
261
|
+
स्थापना संबंधी समस्याओं को ठीक करने के लिए विस्तृत गाइड के लिए [समस्या निवारण मार्गदर्शिका पृष्ठ](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/) देखें।
|
|
262
|
+
|
|
263
|
+
## CLI
|
|
264
|
+
|
|
265
|
+
प्रत्येक Python API के लिए एक CLI (कमांड लाइन इंटरफेस) विकल्प उपलब्ध है:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
backprop train --data my_data.jsonl --model Qwen/Qwen2.5-7B-Instruct --steps 100
|
|
269
|
+
backprop multi-run --data my_data.jsonl --runs 5 --steps 100
|
|
270
|
+
backprop export ./output/lora --format gguf --quantization q4_k_m --ollama --ollama-name my-model
|
|
271
|
+
backprop ui --port 7862
|
|
272
|
+
backprop info # environment + version snapshot
|
|
273
|
+
backprop list-runs # past training runs
|
|
274
|
+
backprop show-run <run-id> # detail view
|
|
275
|
+
backprop resume <run-id> # resume a crashed run
|
|
276
|
+
backprop push ./output/lora --repo me/my-model # push adapter to HuggingFace Hub
|
|
277
|
+
backprop diff-runs <run-a> <run-b> # diff two runs side by side
|
|
278
|
+
backprop replay <run-id> # re-run with same config / dataset
|
|
279
|
+
backprop export-runs --format jsonl # bulk export run history
|
|
277
280
|
```
|
|
278
|
-
backpropagate/
|
|
279
|
-
├── trainer.py # Core Trainer class
|
|
280
|
-
├── multi_run.py # Multi-run SLAO training
|
|
281
|
-
├── slao.py # SLAO LoRA merging algorithm
|
|
282
|
-
├── datasets.py # Dataset loading, filtering & curriculum
|
|
283
|
-
├── export.py # GGUF/Ollama export
|
|
284
|
-
├── config.py # Pydantic settings + training presets
|
|
285
|
-
├── gpu_safety.py # GPU monitoring & safety
|
|
286
|
-
├── cli.py # CLI entry point (backprop command)
|
|
287
|
-
├── checkpoints.py # Checkpoint management
|
|
288
|
-
├── exceptions.py # Structured error hierarchy
|
|
289
|
-
├── feature_flags.py # Optional feature detection
|
|
290
|
-
├── security.py # Path traversal & torch security
|
|
291
|
-
├── logging_config.py # Structured logging setup
|
|
292
|
-
├── ui_theme.py # Radix theme tokens + CSS (Reflex era)
|
|
293
|
-
├── ui_state.py # rx.State subclasses
|
|
294
|
-
├── ui_app/ # Reflex web interface (Radix UI)
|
|
295
|
-
│ ├── app.py # rx.App entry point
|
|
296
|
-
│ ├── chrome.py # Header / LeftNav / SideRail / Footer
|
|
297
|
-
│ ├── pages/ # Train / Multi-Run / Export / Dataset
|
|
298
|
-
│ └── components/ # Bp* primitives (status pill, sparkline, event log…)
|
|
299
|
-
└── ui_security.py # Rate limiting, CSRF, file validation (framework-agnostic)
|
|
300
|
-
```
|
|
301
281
|
|
|
302
|
-
|
|
282
|
+
पूरा संदर्भ [CLI मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/cli-reference/) पर उपलब्ध है, या `backprop <उप-कमांड> --help` कमांड का उपयोग करें।
|
|
283
|
+
|
|
284
|
+
## कॉन्फ़िगरेशन
|
|
285
|
+
|
|
286
|
+
प्रत्येक सेटिंग को `BACKPROPAGATE_` उपसर्ग का उपयोग करके एक पर्यावरण चर के माध्यम से बदला जा सकता है:
|
|
287
|
+
|
|
288
|
+
| चर | डिफ़ॉल्ट | टिप्पणियाँ |
|
|
289
|
+
|---|---|---|
|
|
290
|
+
| `BACKPROPAGATE_LOG_LEVEL` | `INFO` | `DEBUG` / `INFO` / `WARNING` / `ERROR` |
|
|
291
|
+
| `BACKPROPAGATE_LOG_JSON` | ऑटो | JSON या कंसोल लॉग को बाध्यकारी करें। |
|
|
292
|
+
| `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 के डिफ़ॉल्ट 16 के लिए `--lora-preset=fast` का उपयोग करें)। |
|
|
295
|
+
| `BACKPROPAGATE_UI__OUTPUT_DIR` | `~/.backpropagate/ui-outputs` | UI फ़ाइल सिस्टम सैंडबॉक्स। |
|
|
296
|
+
|
|
297
|
+
नेस्टेड कुंजियों के लिए डबल अंडरस्कोर (`_`) का उपयोग करें (`MODEL__NAME`, `MODEL_NAME` नहीं)। पूरा संदर्भ [पर्यावरण चर मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/env-vars/) पर उपलब्ध है।
|
|
298
|
+
|
|
299
|
+
## मॉडल प्रीसेट
|
|
300
|
+
|
|
301
|
+
| प्रीसेट | VRAM | लाइसेंस | टिप्पणियाँ |
|
|
302
|
+
|---|---|---|---|
|
|
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 | पूरी तरह से खुला स्रोत। 64K का मूल संदर्भ। |
|
|
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 | छोटे कार्ड पर त्वरित प्रयोग के लिए। |
|
|
310
|
+
| Mistral 7B | ~12GB | Apache 2.0 | Qwen 7B के समान, अलग चैट टेम्पलेट। |
|
|
311
|
+
|
|
312
|
+
अन्य मॉडल भी काम कर सकते हैं, लेकिन केवल ये आठ मॉडल CI (निरंतर एकीकरण) में उपयोग किए जाते हैं। रैंक-256 / सभी-लीनियर लक्ष्यों के लिए Biderman 2024 + Thinking Machines 2025 के अनुसार `--lora-preset=quality` (डिफ़ॉल्ट) या यदि आपको v1.2.x का आकार चाहिए तो रैंक-16 / q+v लक्ष्य के लिए `--lora-preset=fast` का उपयोग करें।
|
|
303
313
|
|
|
304
314
|
## समस्या निवारण
|
|
305
315
|
|
|
306
|
-
सबसे आम शुरुआती विफलताओं का
|
|
316
|
+
सबसे आम शुरुआती विफलताओं का संक्षिप्त विवरण। पूरा रिवर्स इंडेक्स [समस्या निवारण मार्गदर्शिका पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting/) पर उपलब्ध है। ड्राइवर/VRAM/मिश्रित परिशुद्धता के बारे में अधिक जानकारी के लिए, [CUDA समस्या निवारण पृष्ठ](https://mcp-tool-shop-org.github.io/backpropagate/handbook/troubleshooting-cuda/) देखें।
|
|
307
317
|
|
|
308
|
-
| लक्षण | कोड | समाधान |
|
|
309
|
-
|
|
310
|
-
| प्रशिक्षण के दौरान GPU की मेमोरी समाप्त हो जाती है। | `RUNTIME_GPU_OOM` |
|
|
311
|
-
|
|
|
312
|
-
| मॉडल के नाम में टाइपिंग की गलती। | `INPUT_VALIDATION_FAILED` या `DEP_MODEL_LOAD_FAILED` | <https://huggingface.co/models> पर `org/name` पहचानकर्ता की जांच करें। |
|
|
318
|
+
| लक्षण | त्रुटि कोड | समाधान |
|
|
319
|
+
|---|---|---|
|
|
320
|
+
| प्रशिक्षण के दौरान GPU की मेमोरी समाप्त हो जाती है। | `RUNTIME_GPU_OOM` | स्वचालित — बैकप्रोपगेट बैच के आकार को आधा कर देता है और 3 बार तक पुनः प्रयास करता है। इसे निष्क्रिय करने के लिए: `Trainer(oom_recovery=False)`. बैच के आकार को कम करने के लिए: `--batch-size 1`. |
|
|
321
|
+
| हगिंगफेस 401 / "मॉडल नहीं मिला" त्रुटि देता है। | `DEP_MODEL_LOAD_FAILED` | `huggingface-cli login` चलाएं और फिर से प्रयास करें। टाइपिंग की गलतियों के लिए, <https://huggingface.co/models> से सटीक आईडी कॉपी करें। |
|
|
313
322
|
| `register_with_ollama` कनेक्शन अस्वीकृत। | `DEP_OLLAMA_REGISTRATION_FAILED` | डेमॉन शुरू करें: `ollama serve`। <https://ollama.com> से इंस्टॉल करें। पुनः प्रयास करने योग्य। |
|
|
314
323
|
| चेकपॉइंट सहेजते समय डिस्क भर गई। | `STATE_CHECKPOINT_INVALID` | क्रैश होने पर एटॉमिक राइट्स `.partial` नामक एक डायरेक्टरी बनाते हैं - इसे हटाना सुरक्षित है। पिछला अच्छा चेकपॉइंट बरकरार है। |
|
|
315
|
-
|
|
|
316
|
-
| `backprop ui --share` अस्वीकृत। | `INPUT_AUTH_REQUIRED` | `--auth user:password`
|
|
317
|
-
| मल्टी-रन "वैलिडेशन ओवरलैप"। | `CONFIG_INVALID` (स्टेज A बैकएंड B-001) | `--samples` को प्रशिक्षण पूल आकार से कम करें, डेटासेट बढ़ाएं, या वैलिडेशन को अक्षम करें। |
|
|
324
|
+
| जीपीयू के अत्यधिक गर्म होने के कारण प्रशिक्षण रुका हुआ है। | `RUNTIME_GPU_TEMPERATURE_CRITICAL` | स्वचालित — बैकप्रोपगेट तापमान सीमा पर रुक जाता है और जीपीयू के ठंडा होने पर फिर से शुरू हो जाता है। यदि यह बार-बार होता रहता है, तो वायु प्रवाह में सुधार करें। |
|
|
325
|
+
| `backprop ui --share` अस्वीकृत। | `INPUT_AUTH_REQUIRED` | `--auth user:password` का उपयोग करें, या इसके बजाय एसएसएच पोर्ट-फॉरवर्डिंग का उपयोग करें (देखें [वेब यूआई](#web-ui))। |
|
|
318
326
|
| GGUF एक्सपोर्ट पहली बार में विफल रहा। | `RUNTIME_GGUF_EXPORT_FAILED` | `pip install backpropagate[export]`। विंडोज पर, आपको Visual C++ Build Tools + CMake की भी आवश्यकता है। |
|
|
319
327
|
|
|
320
328
|
## बग की रिपोर्ट करना
|
|
321
329
|
|
|
322
|
-
जब कुछ विफल होता है, तो
|
|
330
|
+
जब कुछ विफल होता है, तो बैकप्रोपगेट स्टार्टअप पर एक पंक्ति प्रिंट करता है जैसे `run_started run_id=<uuid>` और हर लॉग पंक्ति, हर चेकपॉइंट और हर वेट्स एंड बायसेस प्रविष्टि के साथ समान आईडी को जोड़ता है। **किसी भी बग रिपोर्ट में `run_id` शामिल करें** — यह एक रखरखावकर्ता को उस विशिष्ट रन के लिए सब कुछ सहसंबंधित करने की अनुमति देता है।
|
|
323
331
|
|
|
324
332
|
एक अच्छी बग रिपोर्ट में शामिल हैं:
|
|
325
333
|
|
|
326
|
-
1. **`run_id`** — स्टार्टअप पर प्रिंट किया गया
|
|
327
|
-
2. **त्रुटि कोड** — stderr में `[
|
|
328
|
-
3.
|
|
329
|
-
4.
|
|
334
|
+
1. **`run_id`** — स्टार्टअप पर प्रिंट किया गया यूयूआईडी।
|
|
335
|
+
2. **त्रुटि कोड** — stderr में `[कोड_नाम]: संदेश` पंक्ति। त्रुटि कोड की सूची के लिए [त्रुटि कोड](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) देखें।
|
|
336
|
+
3. **संपादित कमांड लाइन।** stderr स्वचालित रूप से संपादित किया जाता है (बेरर टोकन, `sk-*`, `hf_*`, AWS कुंजियाँ, `password=` / `token=` जोड़े हटा दिए जाते हैं) — इसे सुरक्षित रूप से पेस्ट किया जा सकता है। पूर्ण, संपादित न किए गए ट्रेसबैक के लिए, `--verbose` के साथ पुनः चलाएं, लेकिन पोस्ट करने से पहले इसकी समीक्षा करें।
|
|
337
|
+
4. **पायथन / पायटॉर्च संस्करण, जीपीयू मॉडल, ऑपरेटिंग सिस्टम।** `backprop info` यह सब एक साथ प्रिंट करता है।
|
|
338
|
+
|
|
339
|
+
प्रश्न, विचार, या "क्या यह अपेक्षित है" संबंधी चर्चाएं [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) देखें।
|
|
330
340
|
|
|
331
341
|
## गोपनीयता
|
|
332
342
|
|
|
333
343
|
सभी प्रशिक्षण आपके GPU पर स्थानीय रूप से होता है। Backpropagate केवल HuggingFace से मॉडल डाउनलोड करने के लिए नेटवर्क अनुरोध करता है (जो आप शुरू करते हैं)। कोई टेलीमेट्री नहीं, कोई क्लाउड निर्भरता नहीं।
|
|
334
344
|
|
|
335
|
-
##
|
|
345
|
+
## संदर्भ
|
|
336
346
|
|
|
337
|
-
|
|
338
|
-
|----------|-------|-------|
|
|
339
|
-
| A. सुरक्षा | 6/8 | SECURITY.md, ट्रस्ट मॉडल, कोई गुप्त/टेलीमेट्री नहीं, safe_path()। MCP आइटम छोड़े गए। |
|
|
340
|
-
| B. त्रुटि प्रबंधन | 5/7 | संरचित त्रुटि स्वरूप (`कोड`/`संदेश`/`संकेत`/`कारण`/`पुन: प्रयास करने योग्य`) त्रुटि कोड रजिस्ट्री के माध्यम से; CLI (कमांड लाइन इंटरफेस) के लिए 0/1/2/3 एग्जिट कोड; `--verbose` के बिना कोई कच्चा स्टैक ट्रेस नहीं; `run_id` सहसंबंध; संपादित stderr; `--share` + `--auth` गेटिंग। MCP/डेस्कटॉप/वीएस कोड को छोड़ दिया गया। |
|
|
341
|
-
| सी. ऑपरेटर दस्तावेज़ | 4/7 | README, CHANGELOG, LICENSE, --help। लॉगिंग/MCP/जटिल चीज़ों को छोड़ दिया गया। |
|
|
342
|
-
| डी. शिपिंग स्वच्छता | 6/9 | verify.sh, संस्करण=टैग, CI में 5 स्कैनर, डिपेंडabot, python_requires, स्वच्छ बिल्ड। |
|
|
343
|
-
| ई. पहचान | 4/4 | लोगो, अनुवाद, लैंडिंग पृष्ठ, मेटाडेटा। |
|
|
344
|
-
| **Total** | **25/31** | 14 आइटम छोड़े गए, जिसके कारण बताए गए हैं · `shipcheck audit` 100% पास करता है · ऑडिट की तारीख: 2026-05-21 (बी-पंक्ति को स्टेज बी + स्टेज ए CLI एग्जिट-कोड कार्य के बाद फिर से वर्गीकृत किया गया)। |
|
|
347
|
+
बैकप्रोपगेट की डिफ़ॉल्ट सेटिंग्स और मल्टी-रन प्रशिक्षण मोड हाल के शोध पर आधारित हैं। यदि आप अंतर्निहित तकनीकों में रुचि रखते हैं:
|
|
345
348
|
|
|
346
|
-
|
|
349
|
+
- **हु एट अल। 2021।** *लोरा: बड़े भाषा मॉडल का निम्न-रैंक अनुकूलन।* [arXiv:2106.09685](https://arxiv.org/abs/2106.09685) — लोरा पेश करने वाला मौलिक पेपर, जिसका उपयोग बैकप्रोपगेट कुशलतापूर्वक एडेप्टर को प्रशिक्षित करने के लिए करता है।
|
|
350
|
+
- **बिडरमैन एट अल। 2024।** *लोरा सीखता है कम और भूलता है कम।* [arXiv:2405.09673](https://arxiv.org/abs/2405.09673) — अनुभवजन्य प्रमाण कि 256 की रैंक पर सभी-रैखिक लक्ष्यों के साथ लोरा, अधिकांश पोस्ट-प्रशिक्षण कार्यों पर पूर्ण फाइन-ट्यूनिंग की गुणवत्ता से मेल खाता है, जो 67% कंप्यूट है। यह बैकप्रोपगेट के v1.3 डिफ़ॉल्ट लोरा कॉन्फ़िगरेशन को चलाता है।
|
|
351
|
+
- **थिंकिंग मशीन 2025।** *लोरा बिना पछतावे के।* [thinkingmachines.ai/blog/lora](https://thinkingmachines.ai/blog/lora/) — व्यावहारिक अनुवर्ती जो उच्च लोरा रैंक पर आवश्यक 10 गुना लर्निंग-रेट-vs-फुल-एफटी सुधार की पहचान करता है।
|
|
352
|
+
- **किर्कपैट्रिक एट अल। 2017।** *तंत्रिका नेटवर्क में विनाशकारी भूल को दूर करना।* [arXiv:1612.00796](https://arxiv.org/abs/1612.00796) — यह मूल विशेषता है कि तंत्रिका नेटवर्क "भूल" जाते हैं जब आप नए डेटा पर फाइन-ट्यून करते हैं (ईडब्ल्यूसी — इलास्टिक वेट कंसोलिडेशन)।
|
|
353
|
+
- **वांग एट अल। 2023।** *भाषा मॉडल निरंतर सीखने के लिए ऑर्थोगोनल सबस्पेस लर्निंग।* [arXiv:2310.14152](https://arxiv.org/abs/2310.14152) — ओ-लोरा, एक प्रारंभिक दृष्टिकोण जो निरंतर सीखने के लिए लोरा का उपयोग करता है, जो नए एडेप्टर को ऑर्थोगोनल सबस्पेस तक सीमित करता है।
|
|
354
|
+
- **यादव एट अल। 2023।** *टीईएस-मर्जिंग: मॉडलों को मर्ज करते समय हस्तक्षेप को हल करना।* [arXiv:2306.01708](https://arxiv.org/abs/2306.01708) — कई फाइन-ट्यून किए गए मॉडलों को हस्तक्षेप के बिना मर्ज करने के लिए एक मौलिक तकनीक।
|
|
355
|
+
- **कियाओ और महदावी 2025।** *मर्ज बिफोर फॉरगेट: एक सिंगल लोरा निरंतर लर्निंग वाया कंटीन्यूअल मर्जिंग।* [arXiv:2512.23017](https://arxiv.org/abs/2512.23017) — विशिष्ट एल्गोरिथ्म जिसे बैकप्रोपगेट का मल्टी-रन मर्जर लागू करता है। दिसंबर 2025 का एक प्रीप्रिंट; बैकप्रोपगेट इस पेपर का पहला ज्ञात डाउनस्ट्रीम एडॉप्टर है।
|
|
347
356
|
|
|
348
357
|
## लाइसेंस
|
|
349
358
|
|
|
350
|
-
|
|
359
|
+
एमआईटी — [लाइसेंस](LICENSE) देखें।
|
|
351
360
|
|
|
352
361
|
---
|
|
353
362
|
|