Soup is a CLI tool that simplifies LLM fine-tuning via a single YAML config file. The core technical claim: "layer streaming" allows training an 8B model (Llama-3.1-8B-Instruct with 4-bit quantization) on a 4 GB laptop GPU by keeping the frozen base model in host RAM and feeding one decoder layer to the GPU at a time. The source reports 119.6 tok/s at 3.32 GB peak VRAM on an RTX 3050 Laptop, verified as bit-exact against a standard resident run. Recent additions support DPO, ORPO, SimPO, and KTO alignment losses over layer streaming; the source notes DPO's reference model is handled by switching adapters off rather than duplicating weights, saving ~730 MB. Trade-off: DPO reads the layer stack 1.52× more often per step than supervised fine-tuning. Generation-based methods (GRPO, PPO) are excluded because they re-read every layer per token, defeating the amortization benefit. The tool handles quantization, batch sizing, and GPU detection automatically. A preprint describing the layer streaming method with measurement records is cited.
reply