From b20cbde5b5c8b674c2b5b9fd7bb663415dbe528d Mon Sep 17 00:00:00 2001 From: Brad Hilton Date: Sat, 10 Oct 2026 21:22:18 +0000 Subject: [PATCH] refactor: use the shared zero-variance check for native Tinker advantages --- src/art/tinker_native/data.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/art/tinker_native/data.py b/src/art/tinker_native/data.py index 0af86f902..410eeb09f 100644 --- a/src/art/tinker_native/data.py +++ b/src/art/tinker_native/data.py @@ -20,6 +20,7 @@ ) from ..trajectories._selection import ModelSelector, resolve_training_model from ..types import MessagesAndChoices +from ..utils.grpo import rewards_have_zero_variance def create_conversation_prefix_with_tools( @@ -34,7 +35,7 @@ def compute_advantages( ) -> list[float]: if not rewards: return [] - if all(abs(reward - rewards[0]) <= 1e-12 for reward in rewards[1:]): + if rewards_have_zero_variance(rewards): return [0.0] * len(rewards) rewards_tensor = torch.tensor(rewards, dtype=torch.float32) centered = rewards_tensor - rewards_tensor.mean()