revert(gen-seat): roll back to qwen38-27b-uncensored-nvfp4-mixed
Operator reports AEON-ULTIMATE degenerate on long MULTI-TURN conversations. Restored the previous model and removed the reasoning_effort default in the same change, so the model is the only variable differing from the pre-trial state and the operator's comparison is clean. My acceptance gate did not cover this failure mode and should have. Every probe was SINGLE-TURN -- quickbench, concbench, surface_test, the long-form smokes -- so a defect that only appears as conversation history accumulates was structurally invisible to all of it. The gate measures decode speed, MTP acceptance, abliteration survival, and a 36k needle, and passes a model that degrades across turns. Verified restored via docker inspect rather than the compose file: /model -> qwen38-27b-uncensored-nvfp4-mixed, --default-chat-template-kwargs absent, MTP drafter loaded, all 7 aliases answering. AEON weights retained at /tank/aimodels/qwen38-27b-aeon-ultimate-nvfp4 for diagnosis; bench artifacts stay in services/gen-seat-mixed-quant/bench/. Its single-turn numbers were real (104.22 tok/s, 52.3% MTP, 4/4 abliteration, 6/6 surface) -- they were just measuring the wrong thing.
This commit is contained in:
@@ -62,21 +62,13 @@ services:
|
||||
- '{"image": 4}'
|
||||
- --reasoning-parser
|
||||
- ${GEN_REASONING_PARSER:-qwen3}
|
||||
# Seat-level DEFAULT reasoning effort, per-request overridable via
|
||||
# chat_template_kwargs. The AEON-ULTIMATE chat template defaults to
|
||||
# `xhigh` (template line 47), and at xhigh this model can spend its ENTIRE
|
||||
# token budget inside <think> -- the block runs past 18k chars, sometimes
|
||||
# degenerating into repeating one line, and no answer is ever emitted.
|
||||
# That is a silent-empty-response hazard for the automated consumers on
|
||||
# this seat (`summarizer`, `classifier`), so the default is pinned down a
|
||||
# notch rather than left at the model's own.
|
||||
# Template accepts ONLY xhigh | medium | low and RAISES on anything else,
|
||||
# so a typo in a caller's chat_template_kwargs is a 400, not a silent
|
||||
# fallback. Empty value = omit the flag entirely (pre-AEON models such as
|
||||
# the Qwen3.6 line do not read this kwarg at all, and setting it there
|
||||
# would be a false lever).
|
||||
- --default-chat-template-kwargs
|
||||
- '{"reasoning_effort": "${GEN_REASONING_EFFORT:-medium}"}'
|
||||
# NOTE: a --default-chat-template-kwargs '{"reasoning_effort": "medium"}'
|
||||
# line lived here during the 2026-08-16 AEON-ULTIMATE trial and was
|
||||
# REMOVED on rollback, so that restoring the previous model restores the
|
||||
# previous behaviour exactly and the model stays the only changed
|
||||
# variable. Re-add it only alongside a template that actually reads the
|
||||
# kwarg (AEON's does, at chat_template.jinja:47; the Qwen3.6 line ignores
|
||||
# it entirely, where setting it would be a false lever).
|
||||
- --enable-auto-tool-choice
|
||||
- --tool-call-parser
|
||||
- qwen3_coder
|
||||
|
||||
Reference in New Issue
Block a user