Tinker's new StableReinforce objective is Reinforce + Score...


StableReinforce is a new method on Tinker that keeps your RL runs stable, even when learning drifts from sampling.
tinker-docs.thinkingmachines.ai/tinker/losses/…
Tinker doesn't support SGD, so we use Adam with ϵ=10,000. This value of ϵ dominates Adam's second moment, so Δw ≈ −lr·g/ϵ, i.e. we can recover the raw gradients from the update.
This observation basically reveals the objective. In Score Centering, we subtract the expected score under the sampler. Since computing the exact expectation is expensive, we have to resort to an approximation. In our paper, we propose a top-k approximation, which is deterministic but slightly biased. It seems that Thinky instead decided to compute the expected score by randomly drawing 8 tokens from the sampler, which is unbiased but higher variance.
Every token’s score has the same dense part (−p, from the softmax), so subtracting the average score over the 8 correction tokens cancels it exactly.


