Soup: ajuste fino de modelos de lenguaje con un único comando y sin SSH

Fuentes: Soup: LLM fine-tuning in one command, no SSH required

Soup es una herramienta de línea de comandos pensada para simplificar el ajuste fino y el post-entrenamiento de modelos de lenguaje grandes (LLM). Su premisa es reducir entre el 30% y el 50% del tiempo que los equipos dedican a pelearse con la infraestructura, dedicándolo en su lugar a mejorar los modelos. La propuesta se resume en tres ejes: eliminar el acceso por SSH a máquinas GPU, manejar toda la configuración desde un único archivo YAML y automatizar tareas como la detección de GPU, el tamaño de batch o la cuantización.

La versión v0.72.4 introduce soporte para pérdidas de preferencia (DPO, ORPO, SimPO y KTO) mediante una técnica llamada layer streaming, que mantiene el modelo base fuera de la VRAM y lo alimenta al GPU capa por capa. Esto permite ejecutar DPO, que normalmente requiere una copia de referencia del modelo, sin duplicar el consumo de memoria. En pruebas con una RTX 3050 de 4 GB, el DPO con streaming alcanzó el 0,914× del pico de memoria del ajuste supervisado, y forzar un segundo modelo en la misma prueba añadió 730 MB, el coste exacto de una copia adicional de pesos. Los métodos ORPO y SimPO, al ser realmente reference-free, no necesitan este tratamiento.

La herramienta también incorpora otras funciones como generación de funciones de recompensa a partir de datos (soup reward synth), compuertas de regresión para decidir si un modelo puede publicarse (soup ship), medición y destilación de decodificación especulativa (soup draft) y exportación a formatos como GGUF para uso con Ollama o llama.cpp. La instalación se realiza con pip install "soup-cli[train]" y se ejecuta con comandos como soup init, soup train o soup merge.