Soup fine-tunes an 8B model on a 4 GB laptop GPU

The open CLI streams the frozen base from RAM so only LoRA deltas hit VRAM — SFT, DPO and GRPO in one command, ~120 tok/s on an RTX 3050, Apache 2.0.

Nowline AUG 5 11:00 AM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • The base never fully lands in VRAM

    Soup keeps the frozen base weights in system RAM and streams each layer into VRAM only for the matmul that needs it. A LoRA run’s peak footprint becomes the adapters plus activations, not the whole model — which is how an 8B fine-tune fits on a 4 GB card.

  • 3.3 GB and ~120 tok/s on an RTX 3050

    The author reports fine-tuning Llama-3.1-8B (NF4) at 3.32 GB peak VRAM and 119.6 tok/s on an RTX 3050 laptop, and Qwen2.5-3B (bf16) at 2.15 GB and 143 tok/s. Cards that can’t even load these models can now train adapters on them.

  • One command, no config hell

    Install with `pip install "soup-cli[train]"`, then run `soup init`, `soup train`, `soup chat`. It auto-detects your GPU, sets batch size and quantization, and derives an eval for you — no SSH, no hand-written training YAML. Apache 2.0.

  • SFT, DPO, GRPO — plus reward-hack auto-mitigation

    Beyond supervised fine-tuning it ships DPO, GRPO, PPO, KTO, ORPO and SimPO, and v0.71.26 added a closed-loop check that detects and corrects reward hacking mid-run, so an RLHF job doesn’t quietly learn to game its reward.

  • Build this weekend: a specialist 8B on your own data

    With a gaming laptop and a few hundred examples, you can LoRA-tune an 8B to your codebase, support tickets or writing voice — no cloud rental. The tradeoff: it’s adapters over a frozen base, not a full fine-tune, and streaming keeps throughput at training, not serving, speed.