Framework gratuito y de código abierto para ajustar y realizar el posentrenamiento de modelos de lenguaje grandes mediante archivos YAML.
MakazhanAlpamys/Soup
Herramienta CLI para ajustar y seguir entrenando LLM con una sola configuración YAML, con opciones para usar GPU de consumo con poca VRAM.
- Estrellas
- 9,388
- Forks
- 1,540
- Issues abiertos
- 195
- Último commit
- ayer
¿Qué es?
Soup es una herramienta de línea de comandos para ajustar y seguir entrenando modelos de lenguaje grandes. Un proyecto se describe con un único archivo YAML que define el modelo base, la tarea, el conjunto de datos y las opciones de entrenamiento; el comando `soup train` ejecuta el proceso. Entre las tareas compatibles están SFT, métodos de preferencias como DPO, KTO, ORPO y SimPO, y variantes de aprendizaje por refuerzo como GRPO y PPO. LoRA y QLoRA son las opciones predeterminadas para adaptadores y cuantización, respectivamente.
El proyecto está pensado para desarrolladores que quieren entrenar en local sin tener que administrar manualmente GPU en la nube. Detecta automáticamente formatos de conjuntos de datos como Alpaca, ShareGPT y ChatML en archivos JSONL, JSON, CSV, Parquet o TXT. Soup también cubre las etapas posteriores al entrenamiento: conversar con un modelo, servir una API compatible con OpenAI, combinar adaptadores, exportar a GGUF para Ollama o llama.cpp y publicar en Hugging Face Hub.
Un modo opcional independiente de streaming por capas mantiene el modelo base congelado en la RAM del equipo y mueve una capa del decodificador a la vez a la GPU. El proyecto indica que así se puede ajustar un modelo de 8B en una GPU de laptop con 4 GB. Este modo está marcado como beta. Los extras opcionales añaden una interfaz web local, los backends Unsloth y MLX, y herramientas de evaluación.
Funciones clave
- 01Entrena con una única configuración YAML mediante `soup train`.
- 02Compatible con tareas de tipo SFT, DPO, KTO, ORPO, SimPO, GRPO y PPO.
- 03Usa LoRA y QLoRA, con configuración automática del tamaño de lote y la cuantización.
- 04Detecta automáticamente formatos de conjuntos de datos habituales, como Alpaca, ShareGPT y ChatML.
- 05Exporta modelos a GGUF y los sirve mediante una API compatible con OpenAI.
Casos de uso
- Ajustar un modelo de 7B a 14B con QLoRA en una única GPU de consumo.
- Realizar experimentos de ajuste de preferencias, como DPO u ORPO, sin escribir bucles de entrenamiento.
- Preparar un modelo ajustado con LoRA para usarlo en local con Ollama o llama.cpp mediante la exportación a GGUF.
- Entrenar en una laptop con VRAM limitada mediante el modo opcional de streaming por capas.
Inicio rápido
- 1
Instala el extra training con pip
pip install "soup-cli[train]" - 2
Crea una configuración a partir de una plantilla
soup init --template chat - 3
Entrena el modelo
soup train
Antes de usarlo
- Solo se admiten Python 3.10–3.12; Python 3.13 y versiones posteriores no son compatibles.
- El ajuste fino requiere el extra [train], y la función de transmisión de capas para equipos con poca VRAM sigue en BETA y es opcional.
- Algunas opciones (por ejemplo, la exportación awq/gptq) están obsoletas y se eliminarán en v0.77.
Temas
Preguntas frecuentes
- ¿Qué es Soup?
- Herramienta CLI para ajustar y seguir entrenando LLM con una sola configuración YAML, con opciones para usar GPU de consumo con poca VRAM. Soup es una herramienta de línea de comandos para ajustar y seguir entrenando modelos de lenguaje grandes. Un proyecto se describe con un único archivo YAML que define el modelo base, la tarea, el conjunto de datos y las opciones de entrenamiento; el comando `soup train` ejecuta el proceso. Entre las tareas compatibles están SFT, métodos de preferencias como DPO, KTO, ORPO y SimPO, y variantes de aprendizaje por refuerzo como GRPO y PPO. LoRA y QLoRA son las opciones predeterminadas para adaptadores y cuantización, respectivamente.
- ¿Soup es gratuito? ¿Qué licencia tiene?
- Soup es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿Soup sigue mantenido?
- Mantenimiento activo. El último commit de Soup fue el 19 oct 2026.
- ¿Para qué puedo usar Soup?
- Ajustar un modelo de 7B a 14B con QLoRA en una única GPU de consumo. Realizar experimentos de ajuste de preferencias, como DPO u ORPO, sin escribir bucles de entrenamiento. Preparar un modelo ajustado con LoRA para usarlo en local con Ollama o llama.cpp mediante la exportación a GGUF. Entrenar en una laptop con VRAM limitada mediante el modo opcional de streaming por capas.
- ¿Cómo se instala Soup?
- Instala el extra training con pip: pip install "soup-cli[train]" Crea una configuración a partir de una plantilla: soup init --template chat Entrena el modelo: soup train
- ¿Dónde consigo Soup?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/MakazhanAlpamys/Soup
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Aplicación de escritorio de código abierto e interfaz web para ejecutar, ajustar y exportar LLMs y modelos de difusión localmente, además de una biblioteca de entrenamiento basada en código.
Framework unificado para ajustar eficientemente más de 100 LLM y VLM con una CLI y una interfaz web sin código.
Biblioteca de Python que ejecuta modelos de lenguaje grandes capa por capa para que los modelos de 70B puedan inferir en una sola GPU de 4 GB, sin cuantización.
CLI y TUI en Rust que detecta tu CPU, RAM y GPU y clasifica los LLM de código abierto según qué tan bien funcionarán en tu equipo.
Guía y código en PyTorch para entrenar desde cero un LLM transformer, desde el preentrenamiento hasta SFT, modelado de recompensas, DPO/PPO/GRPO y generación.