Algorithms
RL algorithms and their cost/memory profiles.
GRPO
Group Relative Policy OptimizationModels in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
2, 8, 16, 32, 64
Async support
Yes
ScaleRL sigmoid params (Llama-3.1-8B, MATH) — see convergence chart
Eliminates critic/value model. ~50% memory savings over PPO. G is literal: G=16 means 16 rollout completions per prompt. 2-GRPO is an optional algorithm variant (see key_references.2_grpo) that claims G=2 matches G=16 — treat as a potential optimization, not a default assumption. ScaleRL scaling: A=50%, C_mid=4000 GB200-hrs (~11200 H100-eq), lowest ceiling of tested algorithms.
PPO
Proximal Policy OptimizationModels in memory
policy, reference, critic, reward_model
Needs critic
Yes
Needs reward model
Yes
Memory profile
high
Typical K
2, 3, 4
Typical G
1, 4, 8
Async support
Yes
4-8x more VRAM than GRPO+LoRA. Standard for RLHF.
REINFORCE
REINFORCE with baselineWilliams (1992)
Models in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
8, 16, 32
Async support
Yes
Tinker uses importance_sampling loss fn. Simpler than GRPO.
DPO
Direct Preference OptimizationModels in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
N/A
Async support
No
Offline, no rollout generation. Uses preference pairs. Not RLVR.
DAPO
Dynamic Asymmetric Policy OptimizationModels in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
8, 16, 64
Async support
Yes
ScaleRL sigmoid params (Llama-3.1-8B, MATH) — see convergence chart
GRPO variant with asymmetric clipping (eps_low=0.2, eps_high=0.28). Clip-Higher prevents entropy collapse. Dynamic sampling removes zero-advantage samples. 50% fewer steps than R1-Zero on AIME-24. ScaleRL scaling: A=52%, C_mid=3500 GB200-hrs (~9800 H100-eq).
Dr_GRPO
Dr. GRPO (Debiased GRPO)Models in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
8, 16
Async support
Yes
ScaleRL sigmoid params (Llama-3.1-8B, MATH) — see convergence chart
Removes length and difficulty biases from GRPO by normalizing advantages. Unbiased gradients. 43.3% AIME-24 with 7B in ~27h on 8xA100. ScaleRL scaling: A=51%, C_mid=3800 GB200-hrs (~10640 H100-eq).
CISPO
Clipped Importance Sampling Policy OptimizationChen et al. (2024); Khatri et al. (2024)
Models in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
8, 16
Async support
Yes
ScaleRL sigmoid params (Llama-3.1-8B, MATH) — see convergence chart
Uses clipped importance ratio as a coefficient on the policy gradient — distinct from PPO which clips the objective directly. ~2x faster convergence than DAPO. ScaleRL scaling: A=58%, C_mid=3000 GB200-hrs (~8400 H100-eq). arXiv:2506.13585 (Chen et al.) + arXiv:2510.13786 (Khatri et al.). Available as Tinker built-in loss function.
TTT
Test-Time Training (RL)Models in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
32, 64
Async support
Yes
RL is run at inference time on a specific problem instance rather than offline. The model adapts its weights during the solve. TTT-Discover (2026) used G=64, ran on Tinker with gpt-oss-120b, achieved SOTA on math, GPU kernels, algorithms, and biology at ~few hundred dollars per problem. Distinct from standard post-training: each run targets one problem, not a distribution.
DRO
Direct Reward OptimizationRichemond et al. (2024); Kimi Team (2025)
Models in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
8, 16
Async support
Yes
General off-policy (and offline) RL method using a quadratic penalty to constrain the policy update. Beta parameter controls the penalty strength. arXiv:2405.19107 (Richemond et al.) + arXiv:2501.12599 (Kimi Team, Kimi k1.5). Available as Tinker built-in loss function.
OPD
On-Policy DistillationAgarwal et al. (2023); Thinking Machines Lab (2025)
Models in memory
policy, teacher
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
4
Async support
Yes
Student samples from itself (on-policy); teacher provides per-token reverse KL as dense reward signal — no scalar reward needed. ~50–100x faster than RL because dense per-token gradients replace sparse outcome rewards. Works for self-distillation (student = teacher). Typical batch=64, G=4. Original algorithm: Agarwal et al. arXiv:2306.13649 ('On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes'). Tinker implementation: thinkingmachines.ai/blog/on-policy-distillation/. Available as Tinker built-in.
SDPO
Self-Distillation Policy OptimizationModels in memory
policy, reference
Needs critic
No
Needs reward model
No
Memory profile
low
Typical K
1
Typical G
4, 8
Async support
Yes
Uses textual feedback (errors, comments) as dense signals. Treats the current model conditioned on its own feedback as a self-teacher; computes KL divergence between student and feedback-conditioned teacher as the training loss. Improves sample efficiency over standard RL across reasoning, tool use, and code tasks. arXiv:2601.20802.
FLOP Formulas
| Component | Formula |
|---|---|
| rollout per token | 2 * P_active |
| ref logprobs per token | 2 * P_active |
| training per token | 6 * P_active |
| lora training per token | 2 * P_active + 6 * P_active * R / D (approx 2/3 of full FT for R << D) |
P_active = active params, R = LoRA rank, D = d_model
VRAM Formulas
GRPO LoRA
P_total * 2 (base bf16) + P_ref * 2 (reference) + ~500MB (LoRA r=32 + optimizer) + KV_cache + activations
PPO full FT
P_total * 16 (weights+optim+grads) + P_critic * 16 + P_ref * 2 + P_RM * 2