eMOE / fast_decode_enable.py
Daxamite's picture
update fast_decode_enable.py (hybrid RAG)
440d0a5 verified
Raw
History Blame Contribute Delete
1.21 kB
"""
fast_decode_enable.py — PERMANENT harness-side switch for FastGenerator decode.
One line at the top of serve_emoe.py (or any eval script), after other imports:
import fast_decode_enable # noqa: F401
Every HyperExpertRunner constructed afterwards decodes through FastGenerator
(sliding anchor) automatically. No edits to runtime_adapters.py; base and
hyper weights untouched.
Kill switch (instant native A/B, no code change):
FAST_DECODE=0 python serve_emoe.py ... -> native decode
python serve_emoe.py ... -> fast decode (default on)
Every generation logs "generate[FAST]" when active. If you don't see that
tag, you are measuring native.
"""
import os
import runtime_adapters as RA
from runner_patch import install
_ENABLED = os.environ.get("FAST_DECODE", "1") != "0"
_orig_init = RA.HyperExpertRunner.__init__
def _patched_init(self, *a, **k):
_orig_init(self, *a, **k)
if _ENABLED:
install(self)
print("fast_decode_enable: FastGenerator decode ON "
"(FAST_DECODE=0 to disable)")
else:
print("fast_decode_enable: DISABLED via FAST_DECODE=0 (native decode)")
RA.HyperExpertRunner.__init__ = _patched_init