Repolode
MakazhanAlpamys

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. 1

    Instala el extra training con pip

    pip install "soup-cli[train]"
  2. 2

    Crea una configuración a partir de una plantilla

    soup init --template chat
  3. 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