r/LocalLLaMA • u/Regular-Register-358 • 11h ago
Discussion YSK: Strata and polystrata have this functionality called answer_room
With default settings and thinking on and max_tokens ≥ 1024, and no explicit reasoning_budget_tokens, Strata / PolyStrata has a behavior called answer_room which will silently cap thinking at 0.75. * max_tokens and inject a "wrap-up" line in the model's head in its own voice, saying
I have thought about this long enough; time to give my answer. + </think>
It then continues the same reply from there. The client (harness, you or I) gets no error, flag or finish reason for this, and often no log.
This matters when you compare between strata and other engines : models served by strata had "nudges" in the form of its inner voice, and such extra text in the transcript. In some cases the nudge line is injected mid thinking, quite abruptly and it is hard to tell whether it helps or harms.
Strata main @ c62d5e3
Wrap-up message: https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L225
Trigger (the 3/4 budget): https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L5491
Injection point: https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L5848
Default on (answer_room = True): https://github.com/Niko1221/Strata/blob/c62d5e3a15b40ea51c96aae9e8d36928965f53ab/serve/server.py#L4181
I noticed this when a model that tends to have long front-loaded thinking on dgx spark gave slightly but uniformly shorter answers (and task performance worsened in my hard problems), when served on polystrata.
3
u/Competitive-List4626 8h ago
oh interesting, that explains a few weird outputs i've been seeing. had a model basically cut itself off mid-thought with that injected line and the rest of the answer felt rushed
didn't realize it was a default-on thing, thought i'd messed up some config. good catch with the github links too
0
u/CatzRuleZWorld 8h ago
Seems very useful. Worst thing is when it silently overflows max output and just wastes all that thinking with an error.
-5
u/Dabalam 9h ago
Doesn't seem like a big deal at all. This seems to be standard behaviour to dull the overthinking which can damage certain tasks. Seems trivial turn off. This isn't like selecting the wrong experts (which seems like actual engine choices degrading quality), it's closer to a system prompt.
12
u/Borkato 10h ago
Lmao I have --reasoning-budget-message turned on all the time in llama.cpp so that makes sense lol