SFT
Learn from example answers in chat JSONL or plain text.
Train a LoRA adapter or the model's own weights with SFT, preference optimization, PPO, GRPO, agentic GRPO or distillation. One TOML file, one binary, no Python stack.

Learn from example answers in chat JSONL or plain text.
Learn from pairs of answers, one preferred over the other, with DPO, IPO, SimPO or ORPO.
Learn from a reward program that scores the model's own answers, with GSPO's sequence-level ratio as an option.
Multi-turn training with tool calls, MCP servers and sandboxed environments.
Make a small model behave like a larger one, with no reward needed.
Retrograd loads a GGUF model as is, with no conversion, and trains it with ggml on CPU, Metal, Vulkan or CUDA. By default it trains a LoRA adapter, written as a standard GGUF that llama.cpp loads with --lora. It can also train some or all of the model's weights.
retrograd inspect --model base.gguf # check the model and pick LoRA targets
retrograd train run.toml # train
retrograd bench run.toml --adapter adapter.gguf # compare base and adapter
retrograd chat run.toml --compare # try it interactively
retrograd serve run.toml # serve it through the OpenAI chat APIStart with the quickstart.