@mcptoolshop/backpropagate 1.3.0 → 1.4.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 +17 -14
- package/README.fr.md +17 -14
- package/README.hi.md +17 -14
- package/README.it.md +16 -13
- package/README.ja.md +17 -14
- package/README.md +13 -10
- package/README.pt-BR.md +17 -14
- package/README.zh.md +17 -14
- package/bin/backpropagate.js +25 -7
- package/package.json +1 -1
package/README.es.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ Aquí tienes un rango práctico en una tarjeta de 16GB (RTX 4080 / 5080 / 4070 T
|
|
|
76
76
|
| Modelo | Método | Estado |
|
|
77
77
|
|---|---|---|
|
|
78
78
|
| Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | Cómodo. Longitud de secuencia completa, con espacio de sobra. |
|
|
79
|
+
| Phi-4-mini-3.8B / Qwen-3.5-4B / SmolLM3-3B (límite de 3B de parámetros) | `mode="full"` (ajuste fino completo) | v1.4: Use el parámetro `--mode=full` en `backprop train` o `Trainer(..., mode="full")`. El checkpointing de gradientes y el Adam de 8 bits con paginación mantienen la memoria de activación en sqrt(L). |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | Estándar. ~7-8 GB. Configuraciones predeterminadas de Backpropagate. |
|
|
80
81
|
| Llama-3 13B | QLoRA + empaquetado de muestras | Apretado pero funciona. Usa secuencias más cortas. |
|
|
81
|
-
| Mixtral 8x7B (47B de parámetros totales) | AQLM de 2 bits + LoRA |
|
|
82
|
+
| Mixtral 8x7B (47B de parámetros totales) | AQLM de 2 bits + LoRA | Planificado para v1.5: Consulte el documento V1_5_BRIEF cuando se publique. |
|
|
83
|
+
|
|
84
|
+
La cuantización AQLM de 2 bits (`quant_method="aqlm"`, opción experimental para Mixtral-8x7B en 16GB) estaba prevista para v1.4 y ahora está planificada para v1.5. La biblioteca `aqlm` está madura; en la versión 1.4, se priorizó el soporte para el ajuste fino completo de modelos de hasta 3B (`mode="full"`) en lugar de agregar un nuevo backend de cuantización. Consulte el documento V1_5_BRIEF cuando se publique para ver el plan de implementación de la versión 1.5.
|
|
82
85
|
|
|
83
|
-
Para modelos de 3B
|
|
86
|
+
Para modelos de 3B o menos, el ajuste fino completo (no solo LoRA) es posible en 16GB y ahora está disponible en la versión 1.4 como `mode="full"`. Utilice `Trainer(..., mode="full")` o `backprop train --mode=full --model phi-4-mini-3.8b` para habilitarlo. Un mecanismo de seguridad impide el uso de este modo para modelos mayores de 3B, mostrando el error `RUNTIME_FULL_FT_MODEL_TOO_LARGE` y sugiriendo LoRA y las configuraciones preestablecidas para modelos de menos de 3B como alternativas. Consulte la [página completa del manual de ajuste fino](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) para obtener información sobre la configuración y la comparación de calidad de Biderman 2024 / Thinking Machines 2025. Para modelos de 7B o más, el ajuste fino completo requiere una GPU de 24GB o más; considere alquilar una GPU A100 en la nube, o utilice LoRA, que, según investigaciones recientes, ofrece una calidad comparable al ajuste fino completo en la mayoría de las tareas posteriores al entrenamiento (consulte la [sección de advertencias](#what-backpropagate-is-not-for) para obtener referencias).
|
|
84
87
|
|
|
85
88
|
## Lo que Backpropagate NO es
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
Si su caso de uso es diferente a los siguientes, obtendrá mejores resultados con otra biblioteca. Backpropagate no es la opción adecuada, e intentar que funcione le costará más que simplemente utilizar la herramienta correcta. Leer esta sección antes de comenzar le ahorrará el ciclo de instalación y prueba:
|
|
88
91
|
|
|
89
|
-
- **Ajuste fino
|
|
90
|
-
- **DPO / PPO / GRPO / ajuste de preferencias
|
|
91
|
-
- **Entrenamiento en múltiples nodos
|
|
92
|
-
- **Entrenamiento en macOS
|
|
93
|
-
- **Cualquier
|
|
92
|
+
- **Ajuste fino de todos los parámetros de modelos de 7B o más:** Backpropagate utiliza LoRA / QLoRA, que entrena un adaptador pequeño en lugar de actualizar cada peso. Para modelos de 7B o más, el ajuste fino completo requiere 24GB o más de memoria de GPU y no cabe en una tarjeta de consumo de 16GB. Para modelos de 3B o menos, el ajuste fino completo SÍ es posible en 16GB y está disponible en la versión 1.4 como `mode="full"` (utilice `Trainer(..., mode="full")` o `--mode=full` en la línea de comandos; un mecanismo de seguridad genera el error `RUNTIME_FULL_FT_MODEL_TOO_LARGE` para modelos mayores de 3B y sugiere LoRA y las configuraciones preestablecidas para modelos de menos de 3B como alternativas). En resumen: investigaciones recientes ([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/)) demuestran que LoRA, con la configuración correcta, ofrece una calidad comparable al ajuste fino completo en la mayoría de las tareas posteriores al entrenamiento (seguimiento de instrucciones, adaptación de dominio, personalidad/estilo) con un 67% menos de recursos computacionales; por lo tanto, para el trabajo que la mayoría de los usuarios desean realizar, no se pierde nada al utilizar LoRA. `mode="full"` existe para los casos en los que ha detectado una diferencia de calidad y ha decidido invertir recursos computacionales adicionales. Si realmente necesita realizar un ajuste fino completo de un modelo de 7B o más, utilice directamente el `Trainer` de HuggingFace `transformers` en una tarjeta de 24GB o más.
|
|
93
|
+
- **DPO / PPO / GRPO / ajuste de preferencias:** Backpropagate solo realiza un ajuste fino supervisado de una sola etapa. Para el aprendizaje por preferencias, utilice TRL directamente o LLaMA-Factory.
|
|
94
|
+
- **Entrenamiento en múltiples nodos:** Solo se admite una GPU en una sola máquina. El entrenamiento con varias GPU en una sola máquina funciona (a través de `accelerate launch`), pero no está oficialmente soportado.
|
|
95
|
+
- **Entrenamiento en macOS:** Apple Silicon no tiene CUDA, por lo que el entrenamiento debe ejecutarse en un sistema Linux o Windows con una GPU NVIDIA. Aún puede ejecutar el modelo entrenado en un Mac a través de Ollama.
|
|
96
|
+
- **Cualquier modelo que no pertenezca a las familias de modelos probadas:** Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B. Otros modelos a menudo funcionan, pero no están incluidos en las pruebas automatizadas.
|
|
94
97
|
|
|
95
98
|
Si necesita alguna de estas funciones, utilice una de las bibliotecas mencionadas anteriormente. Son mejores en eso.
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ Cuando algo falla, Backpropagate imprime una línea al inicio, como `run_started
|
|
|
331
334
|
|
|
332
335
|
Un buen informe de error incluye:
|
|
333
336
|
|
|
334
|
-
1. **El `run_id`**:
|
|
335
|
-
2. **El código de error**:
|
|
336
|
-
3. **
|
|
337
|
-
4. **
|
|
337
|
+
1. **El `run_id`**: El UUID que se muestra al inicio. Un UUID permite al responsable del sistema correlacionar cada línea de registro, cada punto de control y cada entrada de Weights & Biases para esa ejecución específica.
|
|
338
|
+
2. **El código de error**: La línea `[NOMBRE_DEL_CÓDIGO]: mensaje` que aparece en stderr. Consulte [códigos de error](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) para ver el catálogo de códigos estables.
|
|
339
|
+
3. **El rastreo de errores (traceback) con información sensible eliminada.** En el modo no detallado, stderr se elimina automáticamente (los tokens Bearer, `sk-*`, `hf_*`, las claves de AWS, y las parejas `password=` / `token=` / `api_key=` se eliminan) — es seguro copiarlo. Para ver el rastreo de errores completo y sin información sensible eliminada, ejecute de nuevo con `BACKPROPAGATE_DEBUG=1` (o `--verbose`); revise antes de publicarlo.
|
|
340
|
+
4. **La salida de `backprop info`**. Un comando imprime información sobre Python / PyTorch / CUDA / el modelo de la GPU / VRAM / el sistema operativo / los complementos instalados: todo lo que el responsable del sistema necesita para identificar la causa de una regresión específica de la plataforma.
|
|
338
341
|
|
|
339
|
-
Las preguntas, ideas o discusiones sobre si
|
|
342
|
+
La [plantilla para informes de errores](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) solicita explícitamente cada uno de estos elementos, lo que permite una resolución rápida de los problemas. Las preguntas, ideas o discusiones sobre si un comportamiento es esperado deben realizarse en [GitHub Discussions](https://github.com/mcp-tool-shop-org/backpropagate/discussions). Los problemas de seguridad deben informarse de forma privada a través del formulario de [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new); consulte el archivo [SECURITY.md](SECURITY.md) para conocer la política y los plazos de respuesta.
|
|
340
343
|
|
|
341
344
|
## Privacidad
|
|
342
345
|
|
package/README.fr.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ Voici les limites pratiques sur une carte de 16 Go (RTX 4080 / 5080 / 4070 Ti Su
|
|
|
76
76
|
| Modèle | Méthode | Statut |
|
|
77
77
|
|---|---|---|
|
|
78
78
|
| Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | Confortable. Longueur de séquence complète, avec de la marge. |
|
|
79
|
+
| Phi-4-mini-3.8B / Qwen-3.5-4B / SmolLM3-3B (limite de 3 milliards de paramètres) | `mode="full"` (ajustement fin complet) | v1.4 — Utilisez l'option `--mode=full` avec `backprop train` ou `Trainer(..., mode="full")`. Le checkpointing des gradients et l'optimiseur Adam en 8 bits avec pagination maintiennent la mémoire d'activation à sqrt(L). |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | Standard. Environ 7-8 Go. Les paramètres par défaut de Backpropagate. |
|
|
80
81
|
| Llama-3 13B | QLoRA + échantillonnage | Juste limite, mais fonctionne. Utilisez des séquences plus courtes. |
|
|
81
|
-
| Mixtral 8x7B (47 milliards de paramètres au total) | AQLM 2 bits + LoRA |
|
|
82
|
+
| Mixtral 8x7B (47 milliards de paramètres au total) | AQLM 2 bits + LoRA | Prévu pour v1.5 — Consultez le document V1_5_BRIEF lorsqu'il sera publié. |
|
|
83
|
+
|
|
84
|
+
La quantification AQLM 2 bits (`quant_method="aqlm"`, option expérimentale pour Mixtral-8x7B sur 16 Go) était prévue pour v1.4 et est maintenant prévue pour v1.5. La bibliothèque `aqlm` est mature ; la feuille de route de v1.4 a donné la priorité au support de l'ajustement fin complet pour les modèles ≤ 3 milliards de paramètres (`mode="full"`) plutôt qu'à l'ajout d'un nouveau backend de quantification. Consultez le document V1_5_BRIEF lorsqu'il sera publié pour connaître le plan de mise en œuvre de v1.5.
|
|
82
85
|
|
|
83
|
-
Pour les modèles de 3 milliards de paramètres et moins,
|
|
86
|
+
Pour les modèles de 3 milliards de paramètres et moins, l'ajustement fin complet (et non pas seulement LoRA) est possible sur 16 Go et est désormais disponible dans v1.4 avec l'option `mode="full"`. Utilisez `Trainer(..., mode="full")` ou `backprop train --mode=full --model phi-4-mini-3.8b` pour l'activer. Un mécanisme de protection empêche l'utilisation de ce mode pour les modèles > 3 milliards de paramètres, en proposant LoRA et les configurations pré-établies pour les modèles < 3 milliards de paramètres comme solutions de contournement. Consultez [la page complète sur l'ajustement fin](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) pour les détails de configuration et la comparaison de qualité entre Biderman 2024 et Thinking Machines 2025. Pour les modèles de 7 milliards de paramètres et plus, l'ajustement fin complet nécessite une GPU de 24 Go ou plus ; envisagez une location de GPU A100 dans le cloud, ou utilisez LoRA, qui, selon des recherches récentes, offre une qualité équivalente à l'ajustement fin complet pour la plupart des tâches après l'entraînement (voir [la section "Ce que Backpropagate n'est pas"](#what-backpropagate-is-not) pour les références).
|
|
84
87
|
|
|
85
88
|
## Ce que Backpropagate N'EST PAS
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
Si votre cas d'utilisation correspond à l'un des éléments suivants, vous obtiendrez de meilleurs résultats avec une autre bibliothèque. Backpropagate n'est pas le choix idéal, et essayer de le faire fonctionner coûterait plus cher que d'utiliser l'outil approprié. Lire cette section avant de commencer vous évitera de devoir installer et désinstaller à plusieurs reprises :
|
|
88
91
|
|
|
89
|
-
- **
|
|
90
|
-
- **DPO / PPO / GRPO /
|
|
91
|
-
- **Entraînement multi-nœuds** — uniquement
|
|
92
|
-
- **Entraînement sur macOS** — Apple Silicon ne dispose pas de CUDA, l'entraînement doit donc être effectué sur une machine Linux ou Windows avec
|
|
93
|
-
- **Tout ce qui se trouve en dehors des familles de modèles testées** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B. D'autres modèles
|
|
92
|
+
- **Ajustement fin complet des paramètres des modèles de 7 milliards de paramètres et plus** — Backpropagate utilise LoRA / QLoRA, qui entraîne un petit adaptateur au lieu de mettre à jour chaque poids. Pour les modèles de 7 milliards de paramètres et plus, l'ajustement fin complet nécessite 24 Go de mémoire GPU et ne peut pas être exécuté sur une carte grand public de 16 Go. Pour les modèles de 3 milliards de paramètres et moins, l'ajustement fin complet est possible sur 16 Go et est disponible dans v1.4 avec l'option `mode="full"` (utilisez `Trainer(..., mode="full")` ou `--mode=full` dans l'interface de ligne de commande ; un mécanisme de protection empêche l'utilisation de ce mode pour les modèles > 3 milliards de paramètres et propose LoRA et les configurations pré-établies pour les modèles < 3 milliards de paramètres comme solutions de contournement). Pour résumer : des recherches récentes ([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/)) montrent que LoRA, avec une configuration appropriée, offre une qualité équivalente à l'ajustement fin complet pour la plupart des tâches après l'entraînement (suivi d'instructions, adaptation à un domaine spécifique, personnalisation/style) avec seulement 67 % de la puissance de calcul. Ainsi, pour la plupart des tâches que les utilisateurs souhaitent effectuer, vous ne perdez rien à utiliser LoRA. L'option `mode="full"` est disponible pour les cas où vous avez constaté un écart de qualité et que vous avez décidé de consacrer une puissance de calcul supplémentaire. Si vous avez réellement besoin d'un ajustement fin complet d'un modèle de 7 milliards de paramètres ou plus, utilisez directement le module `transformers.Trainer` de HuggingFace sur une carte de 24 Go ou plus.
|
|
93
|
+
- **DPO / PPO / GRPO / ajustement des préférences** — Backpropagate ne prend en charge que l'ajustement fin supervisé en une seule étape. Pour l'apprentissage par préférences, utilisez directement TRL ou LLaMA-Factory.
|
|
94
|
+
- **Entraînement multi-nœuds** — Fonctionne uniquement avec une seule GPU sur une seule machine. L'utilisation de plusieurs GPU sur une seule machine est possible (via `accelerate launch`) mais n'est pas officiellement prise en charge.
|
|
95
|
+
- **Entraînement sur macOS** — Apple Silicon ne dispose pas de CUDA, l'entraînement doit donc être effectué sur une machine Linux ou Windows avec une GPU NVIDIA. Vous pouvez toujours exécuter le modèle entraîné sur un Mac via Ollama.
|
|
96
|
+
- **Tout ce qui se trouve en dehors des familles de modèles testées** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B. D'autres modèles peuvent fonctionner, mais ne sont pas inclus dans les tests automatisés.
|
|
94
97
|
|
|
95
98
|
Si vous avez besoin de ces fonctionnalités, utilisez l'une des bibliothèques mentionnées ci-dessus. Elles sont plus adaptées à cela.
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ Lorsqu'une erreur se produit, Backpropagate affiche une ligne au démarrage, com
|
|
|
331
334
|
|
|
332
335
|
Un bon rapport de bogue comprend :
|
|
333
336
|
|
|
334
|
-
1. **L'
|
|
335
|
-
2. **Le code d'erreur** :
|
|
336
|
-
3. **La
|
|
337
|
-
4. **
|
|
337
|
+
1. **L'identifiant de session (`run_id`)** : L'UUID affiché au démarrage. Un UUID permet à un responsable de corréler chaque ligne de journal, chaque point de contrôle et chaque entrée Weights & Biases pour cette session spécifique.
|
|
338
|
+
2. **Le code d'erreur** : La ligne `[NOM_DU_CODE]: message` dans la sortie d'erreur standard (stderr). Consultez [la liste des codes d'erreur](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) pour connaître les codes stables.
|
|
339
|
+
3. **La trace de la pile masquée.** La sortie d'erreur standard est automatiquement masquée en mode non verbeux (les jetons d'authentification, les clés commençant par `sk-*`, `hf_*`, les clés AWS, les paires `password=` / `token=` / `api_key=` sont supprimées) ; vous pouvez la copier sans risque. Pour afficher la trace de la pile complète et non masquée, relancez le programme avec `BACKPROPAGATE_DEBUG=1` (ou `--verbose`) ; examinez-la attentivement avant de la publier.
|
|
340
|
+
4. **La sortie de la commande `backprop info`**. Une seule commande affiche les informations sur Python, PyTorch, CUDA, le modèle GPU, la VRAM, le système d'exploitation et les modules complémentaires installés : toutes les informations dont un responsable a besoin pour identifier une régression spécifique à une plateforme.
|
|
338
341
|
|
|
339
|
-
Les questions, les
|
|
342
|
+
Le [modèle de rapport de bug](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) vous demande explicitement de fournir ces informations, ce qui accélère le processus de triage. Les questions, les idées ou les discussions sur le type de comportement attendu doivent être posées dans [les discussions GitHub](https://github.com/mcp-tool-shop-org/backpropagate/discussions). Les problèmes de sécurité doivent être signalés de manière privée via le formulaire [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) ; consultez le fichier [SECURITY.md](SECURITY.md) pour connaître la politique et les délais de réponse.
|
|
340
343
|
|
|
341
344
|
## Confidentialité
|
|
342
345
|
|
package/README.hi.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ pipx install "backpropagate[full]" # adds everything: unsloth, ui, monitor
|
|
|
76
76
|
| मॉडल | विधि | स्थिति |
|
|
77
77
|
|---|---|---|
|
|
78
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) पर बनाए रखता है। |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | मानक। लगभग 7-8 जीबी। बैकप्रोपैगेट की डिफ़ॉल्ट सेटिंग्स। |
|
|
80
81
|
| Llama-3 13B | QLoRA + सैंपल पैकिंग | कठिन लेकिन काम करता है। छोटे सीक्वेंस का उपयोग करें। |
|
|
81
|
-
| Mixtral 8x7B (कुल 47 बिलियन पैरामीटर) | AQLM 2-बिट + LoRA | v1.
|
|
82
|
+
| Mixtral 8x7B (कुल 47 बिलियन पैरामीटर) | AQLM 2-बिट + LoRA | v1.5 के लिए योजनाबद्ध — जब पोस्ट किया जाए तो V1_5_BRIEF देखें। |
|
|
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 देखें जब वह पोस्ट किया जाए।
|
|
82
85
|
|
|
83
|
-
|
|
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) देखें)।
|
|
84
87
|
|
|
85
88
|
## बैकप्रोपैगेट किसके लिए नहीं है
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
यदि आपका उपयोग-मामला नीचे दिए गए में से है, तो आपको किसी अन्य लाइब्रेरी के साथ बेहतर अनुभव होगा — Backpropagate सही विकल्प नहीं है, और इसे काम करने के लिए मजबूर करने से सही उपकरण का उपयोग करने की तुलना में अधिक लागत आएगी। इस अनुभाग को शुरू करने से पहले पढ़ना, इंस्टॉलेशन और परीक्षण चक्र को बचाता है:
|
|
88
91
|
|
|
89
|
-
- **7B+ मॉडलों का पूर्ण-पैरामीटर
|
|
90
|
-
- **DPO/PPO/GRPO
|
|
91
|
-
- **मल्टी-नोड
|
|
92
|
-
- **macOS
|
|
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
97
|
|
|
95
98
|
यदि आपको इनमें से किसी भी चीज़ की आवश्यकता है, तो ऊपर सूचीबद्ध पुस्तकालयों में से किसी एक का उपयोग करें। वे इसमें बेहतर हैं।
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ backprop export-runs --format jsonl # bulk export run history
|
|
|
331
334
|
|
|
332
335
|
एक अच्छी बग रिपोर्ट में शामिल हैं:
|
|
333
336
|
|
|
334
|
-
1. **`run_id
|
|
335
|
-
2. **त्रुटि
|
|
336
|
-
3.
|
|
337
|
-
4.
|
|
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 / ऑपरेटिंग सिस्टम / स्थापित अतिरिक्त सुविधाओं के बारे में जानकारी प्रदर्शित करता है - यह सब कुछ एक रखरखावकर्ता को किसी प्लेटफ़ॉर्म-विशिष्ट समस्या का पता लगाने के लिए आवश्यक होता है।
|
|
338
341
|
|
|
339
|
-
प्रश्न, विचार, या "क्या यह अपेक्षित
|
|
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) देखें।
|
|
340
343
|
|
|
341
344
|
## गोपनीयता
|
|
342
345
|
|
package/README.it.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ Ecco i limiti pratici su una scheda da 16 GB (RTX 4080 / 5080 / 4070 Ti Super):
|
|
|
76
76
|
| Modello | Metodo | Stato |
|
|
77
77
|
|---|---|---|
|
|
78
78
|
| Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | Comodo. Lunghezza della sequenza completa, con spazio extra. |
|
|
79
|
+
| Phi-4-mini-3.8B / Qwen-3.5-4B / SmolLM3-3B (limite massimo di 3 miliardi di parametri) | `mode="full"` (affinamento completo) | v1.4 — utilizzare l'opzione `--mode=full` con `backprop train` oppure `Trainer(..., mode="full")`. Il checkpointing del gradiente e l'utilizzo di Adam a 8 bit con paginazione mantengono la memoria delle attivazioni a sqrt(L). |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | Standard. Circa 7-8 GB. Impostazioni predefinite di Backpropagate. |
|
|
80
81
|
| Llama-3 13B | QLoRA + sample packing | Limitato ma funzionante. Utilizza sequenze più corte. |
|
|
81
|
-
| Mixtral 8x7B (47 miliardi di parametri totali) | AQLM 2-bit + LoRA |
|
|
82
|
+
| Mixtral 8x7B (47 miliardi di parametri totali) | AQLM 2-bit + LoRA | Previsto per la v1.5 — consultare il documento V1_5_BRIEF quando sarà disponibile. |
|
|
83
|
+
|
|
84
|
+
La quantizzazione AQLM a 2 bit (`quant_method="aqlm"`, opzione sperimentale per Mixtral-8x7B su 16GB) era prevista per la v1.4 ed è ora pianificata per la v1.5. La libreria `aqlm` è matura; nella versione 1.4, la priorità è stata data al supporto per l'affinamento completo per modelli con un massimo di 3 miliardi di parametri (`mode="full"`) piuttosto che all'aggiunta di un nuovo backend di quantizzazione. Consultare il documento V1_5_BRIEF quando sarà disponibile per il piano di implementazione della v1.5.
|
|
82
85
|
|
|
83
|
-
Per i modelli da 3 miliardi di parametri
|
|
86
|
+
Per i modelli da 3 miliardi di parametri in giù, l'affinamento completo (e non solo LoRA) è possibile su 16GB ed è ora disponibile nella v1.4 con `mode="full"`. Per abilitarlo, utilizzare `Trainer(..., mode="full")` oppure `backprop train --mode=full --model phi-4-mini-3.8b`. Un meccanismo di controllo impedisce l'utilizzo di questa modalità per modelli superiori a 3 miliardi di parametri, suggerendo LoRA e le configurazioni predefinite inferiori a 3 miliardi come alternative. Consultare la [pagina completa del manuale sull'affinamento completo](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) per i dettagli sulla configurazione e per il confronto della qualità tra Biderman 2024 e Thinking Machines 2025. Per i modelli da 7 miliardi di parametri in su, l'affinamento completo richiede una GPU da 24GB o superiore; si consiglia di utilizzare un servizio di cloud con una GPU A100 oppure di utilizzare LoRA, che, secondo recenti ricerche, offre una qualità equivalente all'affinamento completo nella maggior parte delle attività successive all'addestramento (vedere la [sezione "cosa Backpropagate non è"](#what-backpropagate-is-not-for) per le citazioni).
|
|
84
87
|
|
|
85
88
|
## Cosa Backpropagate NON è
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
Se il vostro caso d'uso rientra nelle categorie seguenti, otterrete risultati migliori con un'altra libreria. Backpropagate non è la scelta giusta e cercare di farlo funzionare costerebbe più che utilizzare lo strumento appropriato. Leggere questa sezione prima di iniziare vi farà risparmiare tempo e tentativi.
|
|
88
91
|
|
|
89
|
-
- **
|
|
90
|
-
- **DPO / PPO / GRPO / ottimizzazione delle preferenze** — Backpropagate esegue solo l'
|
|
91
|
-
- **Addestramento multi-nodo** — solo una GPU su una singola macchina. L'utilizzo di più GPU su una singola macchina è possibile (tramite `accelerate launch`)
|
|
92
|
+
- **Affinamento completo dei parametri per modelli da 7 miliardi di parametri in su** — Backpropagate utilizza LoRA / QLoRA, che addestra un piccolo adattatore invece di aggiornare tutti i pesi. Per i modelli da 7 miliardi di parametri in su, l'affinamento completo richiede 24GB+ di memoria GPU e non è possibile su una scheda consumer da 16GB. Per i modelli da 3 miliardi di parametri in giù, l'affinamento completo è possibile su 16GB ed è disponibile nella v1.4 con `mode="full"` (utilizzare `Trainer(..., mode="full")` oppure `--mode=full` dalla riga di comando; un meccanismo di controllo impedisce l'utilizzo di questa modalità per modelli superiori a 3 miliardi di parametri, suggerendo LoRA e le configurazioni predefinite inferiori a 3 miliardi come alternative). In sintesi: recenti ricerche ([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/)) dimostrano che LoRA, con la configurazione corretta, offre una qualità equivalente all'affinamento completo nella maggior parte delle attività successive all'addestramento (istruzioni, adattamento al dominio, personalità/stile) con il 67% della potenza di calcolo; quindi, per il lavoro che la maggior parte degli operatori desidera svolgere, non si perde nulla utilizzando LoRA. `mode="full"` è disponibile per i casi in cui si è riscontrata una differenza di qualità e si è deciso di utilizzare una maggiore potenza di calcolo. Se è necessario affinare completamente un modello da 7 miliardi di parametri, utilizzare direttamente il modulo `transformers.Trainer` di HuggingFace su una scheda da 24GB o superiore.
|
|
93
|
+
- **DPO / PPO / GRPO / ottimizzazione delle preferenze** — Backpropagate esegue solo l'affinamento supervisionato in una singola fase. Per l'apprendimento delle preferenze, utilizzare direttamente TRL o LLaMA-Factory.
|
|
94
|
+
- **Addestramento multi-nodo** — supporta solo una GPU su una singola macchina. L'utilizzo di più GPU su una singola macchina è possibile (tramite `accelerate launch`) ma non è ufficialmente supportato.
|
|
92
95
|
- **Addestramento su macOS** — Apple Silicon non dispone di CUDA, quindi l'addestramento deve essere eseguito su una macchina Linux o Windows con una GPU NVIDIA. È comunque possibile eseguire il modello addestrato su un Mac tramite Ollama.
|
|
93
|
-
- **Qualsiasi modello al di fuori delle famiglie di modelli
|
|
96
|
+
- **Qualsiasi modello al di fuori delle famiglie di modelli testate** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B. Altri modelli potrebbero funzionare, ma non sono inclusi nei test automatizzati.
|
|
94
97
|
|
|
95
98
|
Se avete bisogno di queste funzionalità, utilizzate una delle librerie elencate sopra. Sono più adatte per questo scopo.
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ Quando si verifica un errore, Backpropagate stampa una riga all'avvio, simile a
|
|
|
331
334
|
|
|
332
335
|
Una segnalazione di bug efficace include:
|
|
333
336
|
|
|
334
|
-
1. **
|
|
335
|
-
2. **Il codice di errore**: la riga `[
|
|
336
|
-
3. **La
|
|
337
|
-
4. **
|
|
337
|
+
1. **L'ID di esecuzione (`run_id`)**: l'UUID visualizzato all'avvio. Un singolo UUID consente a un amministratore di correlare ogni riga del log, ogni punto di controllo e ogni voce di Weights & Biases relativa a quella specifica esecuzione.
|
|
338
|
+
2. **Il codice di errore**: la riga `[NOME_CODICE]: messaggio` presente nello standard error (stderr). Consultare [codici di errore](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) per l'elenco dei codici stabili.
|
|
339
|
+
3. **La traccia dello stack (traceback) oscurata.** Lo standard error viene automaticamente oscurato in modalità non dettagliata (i token di autorizzazione, le stringhe `sk-*`, `hf_*`, le chiavi AWS, le coppie `password=` / `token=` / `api_key=` vengono eliminate) – è sicuro copiarla. Per visualizzare la traccia dello stack completa e non oscurata, eseguire nuovamente il comando con `BACKPROPAGATE_DEBUG=1` (o `--verbose`); esaminarla prima di pubblicarla.
|
|
340
|
+
4. **L'output di `backprop info`**. Un singolo comando stampa informazioni su Python / PyTorch / CUDA / modello GPU / VRAM / sistema operativo / moduli aggiuntivi installati: tutto ciò di cui un amministratore ha bisogno per identificare una regressione specifica della piattaforma.
|
|
338
341
|
|
|
339
|
-
Domande, suggerimenti o discussioni
|
|
342
|
+
Il [modello per la segnalazione di bug](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) richiede esplicitamente queste informazioni, quindi la gestione delle segnalazioni è rapida. Domande, suggerimenti o discussioni del tipo "è un comportamento previsto?" devono essere pubblicate nelle [discussioni di GitHub](https://github.com/mcp-tool-shop-org/backpropagate/discussions). Le problematiche di sicurezza devono essere segnalate privatamente tramite il modulo [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) – consultare il file [SECURITY.md](SECURITY.md) per le linee guida e i tempi di risposta.
|
|
340
343
|
|
|
341
344
|
## Privacy
|
|
342
345
|
|
package/README.ja.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ Backpropagateは、これらのライブラリとは異なるアプローチを
|
|
|
76
76
|
| モデル | 方法 | 状態 |
|
|
77
77
|
|---|---|---|
|
|
78
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 (パラメータ数が30億以下) | `mode="full"` (フルファインチューニング) | v1.4 — `backprop train` コマンドで `--mode=full` オプションを付与するか、`Trainer(..., mode="full")` を指定します。勾配チェックポイントとPaged 8-bit Adamを使用することで、活性化メモリをsqrt(L)に抑えます。 |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | 標準的。約7〜8GBのメモリを使用。Backpropagateのデフォルト設定。 |
|
|
80
81
|
| Llama-3 13B | QLoRA + サンプルパッキング | ギリギリだが動作する。短いシーケンスを使用してください。 |
|
|
81
|
-
| Mixtral 8x7B (合計470億パラメータ) | AQLM 2-bit + LoRA | v1.
|
|
82
|
+
| Mixtral 8x7B (合計470億パラメータ) | AQLM 2-bit + LoRA | v1.5では以下の機能が予定されています。詳細は、公開されたV1_5_BRIEFをご確認ください。 |
|
|
83
|
+
|
|
84
|
+
AQLM 2-bit量子化 (`quant_method="aqlm"`) は、Mixtral-8x7Bを16GBのメモリで動作させるための実験的なオプションとしてv1.4で検討されていましたが、現在はv1.5での実装が予定されています。`aqlm` ライブラリは成熟していますが、v1.4では、フルファインチューニングのサポート(パラメータ数が30億以下のモデルに対して `mode="full"` を設定)を優先し、新しい量子化バックエンドの追加は見送られました。v1.5の実装計画については、公開されたV1_5_BRIEFをご確認ください。
|
|
82
85
|
|
|
83
|
-
|
|
86
|
+
30億パラメータ以下のモデルでは、フルファインチューニング(LoRAだけでなく)が16GBのメモリでも可能であり、v1.4では `mode="full"` として提供されています。`Trainer(..., mode="full")` を指定するか、`backprop train --mode=full --model phi-4-mini-3.8b` コマンドを実行することで有効にできます。30億パラメータを超えるモデルに対しては、`RUNTIME_FULL_FT_MODEL_TOO_LARGE` エラーが発生し、フルファインチューニングは利用できません。この場合、LoRAや30億パラメータ以下のモデルのプリセットを使用できます。設定の詳細や、Biderman 2024 / Thinking Machines 2025による品質比較については、[フルファインチューニングに関する詳細なドキュメント](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) を参照してください。70億パラメータ以上のモデルでは、フルファインチューニングには24GB以上のGPUメモリが必要です。A100クラウドの利用を検討するか、LoRAを使用することをお勧めします。最近の研究では、LoRAが多くの後処理タスクにおいて、フルファインチューニングと同等の品質を達成できることが示されています(詳細は、[この機能ではないものに関するセクション](#what-backpropagate-is-not-for) を参照)。
|
|
84
87
|
|
|
85
88
|
## Backpropagateが適さないケース
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
もし、以下の用途で使用する場合は、別のライブラリを使用することをお勧めします。Backpropagateは適切な選択肢ではなく、無理に使うと、適切なツールを使用するよりも手間と時間がかかります。このセクションを読んでから始めることで、インストールと設定の繰り返しを避けることができます。
|
|
88
91
|
|
|
89
|
-
- **70億パラメータ以上のモデルのフルパラメータファインチューニング** — BackpropagateはLoRA/QLoRA
|
|
90
|
-
- **DPO/PPO/GRPO
|
|
91
|
-
- **マルチノードトレーニング** — シングルGPU
|
|
92
|
-
- **macOSでのトレーニング** — Apple SiliconにはCUDAがないため、トレーニングはNVIDIA GPU
|
|
93
|
-
-
|
|
92
|
+
- **70億パラメータ以上のモデルのフルパラメータファインチューニング** — BackpropagateはLoRA/QLoRAを使用しており、すべてのパラメータを更新するのではなく、小さなアダプターを学習します。70億パラメータ以上のモデルでは、フルファインチューニングには24GB以上のGPUメモリが必要であり、16GBの一般的なGPUでは動作しません。30億パラメータ以下のモデルでは、フルファインチューニングは16GBのメモリでも可能であり、v1.4では `mode="full"` として提供されています(`Trainer(..., mode="full")` を指定するか、`--mode=full` オプションをCLIで指定します。30億パラメータを超えるモデルに対しては、`RUNTIME_FULL_FT_MODEL_TOO_LARGE` エラーが発生し、LoRAや30億パラメータ以下のモデルのプリセットを使用できます)。補足として、最近の研究([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/))によると、適切な設定のLoRAは、ほとんどの後処理タスク(指示に従う、ドメイン適応、ペルソナ/スタイル)において、フルファインチューニングと同等の品質を67%の計算量で達成できます。したがって、ほとんどのユーザーが求めるタスクでは、LoRAを使用しても何も失うことはありません。`mode="full"` は、品質の差を測定し、追加の計算リソースを使用する必要がある場合に利用できます。70億パラメータ以上のモデルをフルファインチューニングする必要がある場合は、HuggingFaceの `transformers.Trainer` を直接、24GB以上のGPUで実行してください。
|
|
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
97
|
|
|
95
98
|
上記のような機能が必要な場合は、上記に記載されているライブラリをご利用ください。それらは、それらの機能に特化しています。
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ Backpropagateがエラーを検出した場合、起動時に`run_started run_id
|
|
|
331
334
|
|
|
332
335
|
良いバグレポートには、以下の情報が含まれている必要があります。
|
|
333
336
|
|
|
334
|
-
1. **`run_id`**: 起動時に表示されるUUID
|
|
335
|
-
2. **エラーコード**: `stderr`に出力される`[コード名]:
|
|
336
|
-
3.
|
|
337
|
-
4.
|
|
337
|
+
1. **`run_id`**: 起動時に表示されるUUID。このUUIDを使用することで、管理者は特定の実行に関するすべてのログ行、チェックポイント、およびWeights & Biasesのエントリを関連付けることができます。
|
|
338
|
+
2. **エラーコード**: `stderr`に出力される`[コード名]: メッセージ`という形式の文字列。安定したコードの一覧は、[エラーコード](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/)を参照してください。
|
|
339
|
+
3. **追跡情報のマスキング**: `stderr`は、詳細表示モードでない場合、自動的にマスキングされます(Bearerトークン、`sk-*`、`hf_*`、AWSキー、`password=` / `token=` / `api_key=`のペアなどが削除されます)。貼り付けても安全です。完全な追跡情報を確認するには、`BACKPROPAGATE_DEBUG=1`(または`--verbose`)を指定して再度実行し、投稿前に内容を確認してください。
|
|
340
|
+
4. **`backprop info`の出力**: このコマンドは、Python、PyTorch、CUDA、GPUモデル、VRAM、OS、インストールされている追加機能など、管理者がプラットフォーム固有の問題を特定するために必要なすべての情報を表示します。
|
|
338
341
|
|
|
339
|
-
|
|
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)を参照してください。
|
|
340
343
|
|
|
341
344
|
## プライバシー
|
|
342
345
|
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,17 +76,20 @@ Here's the practical envelope on a 16GB card (RTX 4080 / 5080 / 4070 Ti Super):
|
|
|
76
76
|
| Model | Method | Status |
|
|
77
77
|
|---|---|---|
|
|
78
78
|
| Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | Comfortable. Full sequence length, room to spare. |
|
|
79
|
+
| Phi-4-mini-3.8B / Qwen-3.5-4B / SmolLM3-3B (≤3B parameter ceiling) | `mode="full"` (full fine-tuning) | v1.4 — pass `--mode=full` on `backprop train` or `Trainer(..., mode="full")`. Gradient checkpointing + paged 8-bit Adam keep the activation memory at sqrt(L). |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | Standard. ~7-8 GB. Backpropagate's default presets. |
|
|
80
81
|
| Llama-3 13B | QLoRA + sample packing | Tight but works. Use shorter sequences. |
|
|
81
|
-
| Mixtral 8x7B (47B total parameters) | AQLM 2-bit + LoRA |
|
|
82
|
+
| Mixtral 8x7B (47B total parameters) | AQLM 2-bit + LoRA | Planned for v1.5 — see V1_5_BRIEF when posted. |
|
|
83
|
+
|
|
84
|
+
AQLM 2-bit quantization (`quant_method="aqlm"` experimental opt-in for Mixtral-8x7B on 16GB) was scoped for v1.4 and is now planned for v1.5. The `aqlm` library is mature; the v1.4 wave-budget prioritized full fine-tuning support for ≤3B models (`mode="full"`) over adding a new quantization backend. See V1_5_BRIEF when posted for the v1.5 implementation plan.
|
|
82
85
|
|
|
83
|
-
For models 3B and smaller, full fine-tuning (not just LoRA) is feasible on 16GB and
|
|
86
|
+
For models 3B and smaller, full fine-tuning (not just LoRA) is feasible on 16GB and now ships in v1.4 as `mode="full"`. Pass `Trainer(..., mode="full")` or `backprop train --mode=full --model phi-4-mini-3.8b` to enable it. A hard gate refuses the mode for models > 3B with `RUNTIME_FULL_FT_MODEL_TOO_LARGE`, naming LoRA + the three sub-3B presets as the recovery options. See [the full fine-tuning handbook page](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/) for the configuration math + Biderman 2024 / Thinking Machines 2025 quality comparison. For 7B+ models, full fine-tuning needs a 24GB+ GPU — consider an A100 cloud rental, or stick with LoRA, which recent research shows matches full fine-tuning quality on most post-training tasks anyway (see [the anti-pitch section](#what-backpropagate-is-not-for) for citations).
|
|
84
87
|
|
|
85
88
|
## What Backpropagate is NOT for
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
If your use case is below, you'll have a better time with a different library — Backpropagate is not the right pick and trying to make it work would cost more than just reaching for the right tool. Reading this section before you start saves the install-and-bounce cycle:
|
|
88
91
|
|
|
89
|
-
- **Full-parameter fine-tuning of 7B+ models** — Backpropagate uses LoRA / QLoRA, which trains a small adapter rather than updating every weight. For models 7B and larger, full fine-tuning needs 24GB+ of GPU memory and doesn't fit on a 16GB consumer card. For models 3B and smaller, full fine-tuning IS feasible on 16GB
|
|
92
|
+
- **Full-parameter fine-tuning of 7B+ models** — Backpropagate uses LoRA / QLoRA, which trains a small adapter rather than updating every weight. For models 7B and larger, full fine-tuning needs 24GB+ of GPU memory and doesn't fit on a 16GB consumer card. For models 3B and smaller, full fine-tuning IS feasible on 16GB and ships in v1.4 as `mode="full"` (pass `Trainer(..., mode="full")` or `--mode=full` on the CLI; a hard gate raises `RUNTIME_FULL_FT_MODEL_TOO_LARGE` for models > 3B and names LoRA + the sub-3B presets as recoveries). The bigger picture: recent research ([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/)) shows that LoRA at correct configuration matches full fine-tuning quality on most post-training tasks (instruction-following, domain adaptation, persona/style) at 67% of the compute — so for the work most operators actually want, you don't lose anything by sticking with LoRA. `mode="full"` exists for the cases where you've measured a quality gap and decided to spend the extra compute. If you genuinely need full fine-tuning of a 7B+ model, use HuggingFace `transformers.Trainer` directly on a 24GB+ card.
|
|
90
93
|
- **DPO / PPO / GRPO / preference tuning** — Backpropagate does single-stage supervised fine-tuning only. For preference learning, use TRL directly or LLaMA-Factory.
|
|
91
94
|
- **Multi-node training** — single GPU on one machine only. Multi-GPU on one machine works (via `accelerate launch`) but isn't officially supported.
|
|
92
95
|
- **macOS training** — Apple Silicon doesn't have CUDA, so training has to run on a Linux or Windows box with an NVIDIA GPU. You can still run the trained model on a Mac via Ollama.
|
|
@@ -331,12 +334,12 @@ When something fails, Backpropagate prints a line at startup like `run_started r
|
|
|
331
334
|
|
|
332
335
|
A good bug report includes:
|
|
333
336
|
|
|
334
|
-
1. **The `run_id`** — the UUID printed at startup.
|
|
335
|
-
2. **The error code** — the `[CODE_NAME]: message` line in stderr. See [error codes](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) for the catalog.
|
|
336
|
-
3. **The redacted
|
|
337
|
-
4. **Python / PyTorch
|
|
337
|
+
1. **The `run_id`** — the UUID printed at startup. One UUID lets a maintainer correlate every log line, every checkpoint, and every Weights & Biases entry for that exact run.
|
|
338
|
+
2. **The error code** — the `[CODE_NAME]: message` line in stderr. See [error codes](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) for the catalog of stable codes.
|
|
339
|
+
3. **The redacted traceback.** Stderr is automatically redacted in non-verbose mode (Bearer tokens, `sk-*`, `hf_*`, AWS keys, `password=` / `token=` / `api_key=` pairs are scrubbed) — safe to paste. For the full unredacted traceback, re-run with `BACKPROPAGATE_DEBUG=1` (or `--verbose`); review before posting.
|
|
340
|
+
4. **The `backprop info` output.** One command prints Python / PyTorch / CUDA / GPU model / VRAM / OS / installed extras — everything the maintainer needs to bisect a platform-specific regression.
|
|
338
341
|
|
|
339
|
-
Questions, ideas, or "is this expected" threads belong in [GitHub Discussions](https://github.com/mcp-tool-shop-org/backpropagate/discussions). Security issues should be reported privately via the [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) form — see [SECURITY.md](SECURITY.md) for the policy.
|
|
342
|
+
The [bug report template](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) prompts for each of these explicitly so triage moves fast. Questions, ideas, or "is this expected?" threads belong in [GitHub Discussions](https://github.com/mcp-tool-shop-org/backpropagate/discussions). Security issues should be reported privately via the [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) form — see [SECURITY.md](SECURITY.md) for the policy and response timelines.
|
|
340
343
|
|
|
341
344
|
## Privacy
|
|
342
345
|
|
package/README.pt-BR.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ Aqui está a faixa prática em uma placa de 16 GB (RTX 4080 / 5080 / 4070 Ti Sup
|
|
|
76
76
|
| Modelo | Método | Status |
|
|
77
77
|
|---|---|---|
|
|
78
78
|
| Qwen-3.5-4B / Phi-4-mini-3.8B / SmolLM3-3B | LoRA / QLoRA / DoRA | Confortável. Comprimento total da sequência, espaço extra. |
|
|
79
|
+
| Phi-4-mini-3.8B / Qwen-3.5-4B / SmolLM3-3B (limite máximo de 3 bilhões de parâmetros) | `mode="full"` (ajuste fino completo) | v1.4 — Utilize a opção `--mode=full` no comando `backprop train` ou `Trainer(..., mode="full")`. O checkpointing do gradiente e o Adam de 8 bits com paginação mantêm a memória de ativação em sqrt(L). |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | Padrão. ~7-8 GB. Configurações padrão do Backpropagate. |
|
|
80
81
|
| Llama-3 13B | QLoRA + empacotamento de amostras | Apertado, mas funciona. Use sequências mais curtas. |
|
|
81
|
-
| Mixtral 8x7B (47 bilhões de parâmetros no total) | AQLM 2-bit + LoRA |
|
|
82
|
+
| Mixtral 8x7B (47 bilhões de parâmetros no total) | AQLM 2-bit + LoRA | Planejado para v1.5 — Consulte o documento V1_5_BRIEF quando for publicado. |
|
|
83
|
+
|
|
84
|
+
A quantização AQLM de 2 bits (`quant_method="aqlm"`, opção experimental para Mixtral-8x7B em 16GB) foi planejada para v1.4 e agora está prevista para v1.5. A biblioteca `aqlm` está madura; a prioridade para a versão 1.4 foi oferecer suporte completo para ajuste fino de modelos com até 3 bilhões de parâmetros (`mode="full"`), em vez de adicionar um novo backend de quantização. Consulte o documento V1_5_BRIEF quando for publicado para o plano de implementação da versão 1.5.
|
|
82
85
|
|
|
83
|
-
Para modelos
|
|
86
|
+
Para modelos com 3 bilhões de parâmetros ou menores, o ajuste fino completo (e não apenas LoRA) é viável em 16GB e está disponível na versão 1.4 como `mode="full"`. Utilize `Trainer(..., mode="full")` ou `backprop train --mode=full --model phi-4-mini-3.8b` para habilitá-lo. Um mecanismo impede o uso desse modo para modelos maiores que 3 bilhões de parâmetros, oferecendo LoRA e as configurações predefinidas para modelos menores que 3 bilhões como alternativas. Consulte a página completa do manual de ajuste fino ([https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/)) para a configuração e a comparação de qualidade entre Biderman 2024 e Thinking Machines 2025. Para modelos com 7 bilhões de parâmetros ou mais, o ajuste fino completo requer uma GPU com 24GB ou mais — considere alugar uma GPU A100 na nuvem ou utilize LoRA, que, segundo pesquisas recentes, oferece qualidade comparável ao ajuste fino completo na maioria das tarefas de pós-treinamento (consulte a seção "o que Backpropagate não é" para referências).
|
|
84
87
|
|
|
85
88
|
## O que Backpropagate NÃO é
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
Se o seu caso de uso se enquadra nas opções abaixo, você terá melhores resultados com outra biblioteca — Backpropagate não é a escolha certa, e tentar fazê-lo funcionar custará mais do que simplesmente usar a ferramenta adequada. Ler esta seção antes de começar economiza o tempo gasto na instalação e na tentativa de fazer funcionar:
|
|
88
91
|
|
|
89
|
-
- **Ajuste fino
|
|
90
|
-
- **DPO / PPO / GRPO / ajuste de preferências** —
|
|
91
|
-
- **Treinamento em vários nós** —
|
|
92
|
-
- **Treinamento no macOS** —
|
|
93
|
-
- **Qualquer modelo fora das famílias de modelos testados** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B. Outros modelos
|
|
92
|
+
- **Ajuste fino de todos os parâmetros de modelos com 7 bilhões de parâmetros ou mais** — Backpropagate utiliza LoRA / QLoRA, que treina um adaptador pequeno em vez de atualizar todos os pesos. Para modelos com 7 bilhões de parâmetros ou mais, o ajuste fino completo requer 24GB ou mais de memória da GPU e não cabe em uma placa de consumidor com 16GB. Para modelos com 3 bilhões de parâmetros ou menos, o ajuste fino completo é viável em 16GB e está disponível na versão 1.4 como `mode="full"` (utilize `Trainer(..., mode="full")` ou `--mode=full` na linha de comando; um mecanismo impede o uso desse modo para modelos maiores que 3 bilhões de parâmetros, oferecendo LoRA e as configurações predefinidas para modelos menores que 3 bilhões como alternativas). Em resumo: pesquisas recentes ([Biderman 2024](https://arxiv.org/abs/2405.09673), [Thinking Machines 2025](https://thinkingmachines.ai/blog/lora/)) mostram que o LoRA, com a configuração correta, oferece qualidade comparável ao ajuste fino completo na maioria das tarefas de pós-treinamento (seguir instruções, adaptação de domínio, personalidade/estilo) com 67% do poder computacional — portanto, para o trabalho que a maioria dos usuários realmente deseja realizar, você não perde nada ao usar LoRA. `mode="full"` existe para os casos em que você mediu uma diferença de qualidade e decidiu gastar mais poder computacional. Se você realmente precisa de um ajuste fino completo de um modelo com 7 bilhões de parâmetros ou mais, utilize diretamente o `transformers.Trainer` da HuggingFace em uma placa com 24GB ou mais.
|
|
93
|
+
- **DPO / PPO / GRPO / ajuste de preferências** — Backpropagate realiza apenas o ajuste fino supervisionado em uma única etapa. Para o aprendizado por preferências, utilize diretamente o TRL ou o LLaMA-Factory.
|
|
94
|
+
- **Treinamento em vários nós** — apenas uma GPU em uma única máquina. O uso de várias GPUs em uma única máquina funciona (via `accelerate launch`), mas não é oficialmente suportado.
|
|
95
|
+
- **Treinamento no macOS** — o Apple Silicon não possui CUDA, portanto, o treinamento deve ser executado em uma máquina Linux ou Windows com uma GPU NVIDIA. Você ainda pode executar o modelo treinado em um Mac via Ollama.
|
|
96
|
+
- **Qualquer modelo fora das famílias de modelos testados** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B. Outros modelos podem funcionar, mas não são testados nos testes automatizados.
|
|
94
97
|
|
|
95
98
|
Se você precisar de alguma dessas funcionalidades, utilize uma das bibliotecas listadas acima. Elas são mais adequadas para isso.
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ Quando algo falha, o Backpropagate imprime uma linha no início, como `run_start
|
|
|
331
334
|
|
|
332
335
|
Um bom relatório de bug inclui:
|
|
333
336
|
|
|
334
|
-
1. **O `run_id`** — o UUID
|
|
335
|
-
2. **O código de erro** — a linha `[
|
|
336
|
-
3. **O
|
|
337
|
-
4. **
|
|
337
|
+
1. **O `run_id`** — o UUID (identificador único universal) exibido na inicialização. Um único UUID permite que um administrador correlacione cada linha de log, cada ponto de verificação e cada entrada do Weights & Biases para aquela execução específica.
|
|
338
|
+
2. **O código de erro** — a linha `[NOME_DO_CÓDIGO]: mensagem` no stderr. Consulte [códigos de erro](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/) para o catálogo de códigos estáveis.
|
|
339
|
+
3. **O rastreamento de erro (traceback) com informações removidas.** O stderr é automaticamente editado (com informações sensíveis removidas) no modo não detalhado (tokens Bearer, `sk-*`, `hf_*`, chaves da AWS, pares `password=` / `token=` / `api_key=` são removidos) — é seguro colar. Para o rastreamento de erro completo e sem informações removidas, execute novamente com `BACKPROPAGATE_DEBUG=1` (ou `--verbose`); revise antes de publicar.
|
|
340
|
+
4. **A saída de `backprop info`.** Um único comando imprime informações sobre Python / PyTorch / CUDA / modelo da GPU / VRAM / sistema operacional / complementos instalados — tudo o que o administrador precisa para identificar a causa de uma regressão específica da plataforma.
|
|
338
341
|
|
|
339
|
-
Perguntas, ideias ou discussões sobre
|
|
342
|
+
O [modelo de relatório de erro](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) solicita explicitamente cada um desses itens, o que agiliza o processo de triagem. Perguntas, ideias ou discussões sobre "é isso esperado?" devem ser feitas nos [GitHub Discussions](https://github.com/mcp-tool-shop-org/backpropagate/discussions). Problemas de segurança devem ser relatados de forma privada através do formulário [GitHub Security Advisory](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new) — consulte o arquivo [SECURITY.md](SECURITY.md) para obter a política e os prazos de resposta.
|
|
340
343
|
|
|
341
344
|
## Privacidade
|
|
342
345
|
|
package/README.zh.md
CHANGED
|
@@ -28,7 +28,7 @@ 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
|
|
|
@@ -76,21 +76,24 @@ Backpropagate 是一个缺失的选项:**一个用于单个消费级 GPU 的
|
|
|
76
76
|
| 模型 | 方法 | 状态 |
|
|
77
77
|
|---|---|---|
|
|
78
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"`。梯度检查点 + Paged 8-bit Adam 算法可以使激活内存保持在 sqrt(L) 的水平。 |
|
|
79
80
|
| Qwen-2.5-7B / Llama-3.1-8B / Mistral-7B | QLoRA | 标准。约 7-8 GB。Backpropagate 的默认设置。 |
|
|
80
81
|
| Llama-3 13B | QLoRA + 采样压缩 | 勉强可用。使用较短的序列。 |
|
|
81
|
-
| Mixtral 8x7B (总参数 47B) | AQLM 2-bit + LoRA | v1.
|
|
82
|
+
| Mixtral 8x7B (总参数 47B) | AQLM 2-bit + LoRA | 计划在 v1.5 版本中实现 — 详情请参考 V1_5_BRIEF(发布后查看)。 |
|
|
83
|
+
|
|
84
|
+
AQLM 2-bit 量化 (`quant_method="aqlm"`) 是一种实验性功能,适用于 16GB 内存上的 Mixtral-8x7B 模型。该功能最初计划在 v1.4 版本中实现,但现在计划在 v1.5 版本中实现。`aqlm` 库已经比较成熟;在 v1.4 版本的开发中,我们优先支持 ≤3B 模型的全量微调 (`mode="full"`),而不是添加新的量化后端。请在 V1_5_BRIEF 发布后查看 v1.5 的具体实现计划。
|
|
82
85
|
|
|
83
|
-
对于 3B
|
|
86
|
+
对于 3B 及以下的模型,全量微调(而不仅仅是 LoRA)可以在 16GB 内存上实现,并且现在已在 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 的预设模型作为替代方案。请参考 [完整的微调指南页面](https://mcp-tool-shop-org.github.io/backpropagate/handbook/full-fine-tuning/),了解配置细节以及 Biderman 2024 / Thinking Machines 2025 的质量比较。对于 7B 及以上的模型,全量微调需要 24GB 或更大的 GPU 内存 — 考虑租用 A100 云服务器,或者继续使用 LoRA,因为最近的研究表明,在大多数后续训练任务中,LoRA 的质量可以与全量微调相媲美(请参阅 [“不适用场景”部分](#what-backpropagate-is-not-for) 中的引用)。
|
|
84
87
|
|
|
85
88
|
## Backpropagate 不适合的场景
|
|
86
89
|
|
|
87
|
-
|
|
90
|
+
如果您的使用场景符合以下情况,您可能更适合使用其他库 — Backpropagate 并非最佳选择,尝试使其工作可能会花费更多,不如直接选择合适的工具。在开始之前阅读此部分可以避免安装和卸载的循环:
|
|
88
91
|
|
|
89
|
-
- **
|
|
90
|
-
- **DPO/PPO/GRPO
|
|
91
|
-
- **多节点训练** —
|
|
92
|
-
- **macOS 训练** — Apple Silicon
|
|
93
|
-
- **任何不在测试模型系列中的模型** — Qwen 2.5 / 3.5 (
|
|
92
|
+
- **7B+ 模型的全参数微调** — Backpropagate 使用 LoRA / QLoRA,它训练一个小的适配器,而不是更新每个权重。对于 7B 及更大的模型,全量微调需要 24GB 或更多的 GPU 内存,无法在 16GB 的消费级显卡上运行。对于 3B 及以下的模型,全量微调可以在 16GB 内存上运行,并且已在 v1.4 版本中以 `mode="full"` 的形式提供(使用 `Trainer(..., mode="full")` 或 `--mode=full` 命令;对于大于 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。您仍然可以在 Mac 上通过 Ollama 运行训练好的模型。
|
|
96
|
+
- **任何不在测试模型系列中的模型** — Qwen 2.5 / 3.5 (7B / 4B), Phi-4-mini-3.8B, SmolLM3-3B, Llama 3.2 (3B / 1B), Mistral 7B。其他模型通常可以工作,但未在 CI 测试中进行验证。
|
|
94
97
|
|
|
95
98
|
如果您需要这些功能,请使用上面列出的库。它们在这方面做得更好。
|
|
96
99
|
|
|
@@ -331,12 +334,12 @@ backprop export-runs --format jsonl # bulk export run history
|
|
|
331
334
|
|
|
332
335
|
一个好的错误报告应包含:
|
|
333
336
|
|
|
334
|
-
1. **`run_id
|
|
335
|
-
2.
|
|
336
|
-
3.
|
|
337
|
-
4.
|
|
337
|
+
1. **`run_id`**:启动时打印的 UUID。一个 UUID 允许维护人员将每一行日志、每一个检查点以及 Weights & Biases 中的每一条记录与该特定运行关联起来。
|
|
338
|
+
2. **错误代码**:`stderr` 中出现的 `[代码名称]: 消息` 格式的行。请参考[错误代码目录](https://mcp-tool-shop-org.github.io/backpropagate/handbook/error-codes/),了解稳定代码的详细信息。
|
|
339
|
+
3. **已屏蔽的堆栈跟踪信息。** 在非详细模式下,`stderr` 会自动进行屏蔽(Bearer 令牌、`sk-*`、`hf_*`、AWS 密钥以及 `password=` / `token=` / `api_key=` 组合会被删除),因此可以安全地复制粘贴。要查看完整的、未屏蔽的堆栈跟踪信息,请重新运行程序,并设置 `BACKPROPAGATE_DEBUG=1`(或使用 `--verbose` 参数);在发布之前,请仔细审查。
|
|
340
|
+
4. **`backprop info` 的输出结果。** 该命令会打印 Python / PyTorch / CUDA / GPU 模型 / VRAM / 操作系统 / 已安装的扩展模块等信息——维护人员需要的所有信息,以便分析特定平台的回归问题。
|
|
338
341
|
|
|
339
|
-
|
|
342
|
+
[错误报告模板](https://github.com/mcp-tool-shop-org/backpropagate/issues/new?template=bug_report.yml) 会明确提示您提供以上所有信息,因此问题可以快速得到处理。任何问题、想法或“这是预期的吗?”的讨论,都应该在[GitHub 讨论区](https://github.com/mcp-tool-shop-org/backpropagate/discussions)中进行。安全问题应通过[GitHub 安全建议](https://github.com/mcp-tool-shop-org/backpropagate/security/advisories/new)表单私下报告,请参阅[SECURITY.md](SECURITY.md) 了解相关政策和响应时间。
|
|
340
343
|
|
|
341
344
|
## 隐私
|
|
342
345
|
|
package/bin/backpropagate.js
CHANGED
|
@@ -23,15 +23,33 @@
|
|
|
23
23
|
// supported channels. The migration is complete in v1.3.
|
|
24
24
|
// ---------------------------------------------------------------------------
|
|
25
25
|
|
|
26
|
+
// BRIDGE-B (Stage C humanization): the shim's WHOLE job is the friendly-error
|
|
27
|
+
// path. Three rules the message has to satisfy:
|
|
28
|
+
// 1. Name the next step (every error names the next step).
|
|
29
|
+
// 2. Make the install commands copy-paste-runnable on the operator's host
|
|
30
|
+
// (no shell quoting that fails on cmd.exe, no `sudo` prefix that
|
|
31
|
+
// misleads on Windows).
|
|
32
|
+
// 3. Stay calibrated — the v1.2 PyInstaller-bin build failed 3 times so
|
|
33
|
+
// v1.3 redirected operators to PyPI / pipx / uv; the message names the
|
|
34
|
+
// channels in preference order (isolated > shared > root-installable).
|
|
26
35
|
process.stderr.write(
|
|
27
|
-
"npm distribution of backpropagate is deprecated.\n" +
|
|
36
|
+
"npm distribution of backpropagate is deprecated as of v1.3.\n" +
|
|
28
37
|
"\n" +
|
|
29
|
-
"
|
|
30
|
-
" pipx install backpropagate
|
|
31
|
-
" uv tool install backpropagate\n" +
|
|
32
|
-
" pip install backpropagate\n" +
|
|
38
|
+
"Next step — install from PyPI via one of these channels (pick one):\n" +
|
|
39
|
+
" pipx install backpropagate # recommended on macOS/Linux (isolated venv, on PATH)\n" +
|
|
40
|
+
" uv tool install backpropagate # recommended on Windows (uv handles venv + PATH)\n" +
|
|
41
|
+
" pip install backpropagate # plain pip (use inside a venv)\n" +
|
|
33
42
|
"\n" +
|
|
34
|
-
"
|
|
35
|
-
"
|
|
43
|
+
"Verify the install: backprop --version\n" +
|
|
44
|
+
"\n" +
|
|
45
|
+
"Optional extras (Reflex UI, GGUF export, monitoring) — pick one bundle:\n" +
|
|
46
|
+
" pipx install 'backpropagate[standard]' # unsloth + ui (recommended)\n" +
|
|
47
|
+
" pipx install 'backpropagate[full]' # everything\n" +
|
|
48
|
+
" pipx install 'backpropagate[ui]' # just the Reflex web UI\n" +
|
|
49
|
+
"\n" +
|
|
50
|
+
"Getting started + extras documentation:\n" +
|
|
51
|
+
" https://mcp-tool-shop-org.github.io/backpropagate/handbook/getting-started/\n" +
|
|
52
|
+
"Source + issues:\n" +
|
|
53
|
+
" https://github.com/mcp-tool-shop-org/backpropagate\n"
|
|
36
54
|
);
|
|
37
55
|
process.exit(2);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcptoolshop/backpropagate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Deprecated npm distribution shim for backpropagate — prints install guidance for pipx/uv tool/pip. See https://github.com/mcp-tool-shop-org/backpropagate",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"license": "MIT",
|