Repository navigation
Conversation
|
/atc exchange 18b05daeca073604fd3bf7e24e29a1372246863a5edc5b4d8f2c29ce5e617eb2 |
|
This now takes the per-family switch from @laidick's #2404 (commit |
|
The six-turn tables are in: one GB10, Qwen3.8-27B MLX 4-bit with the DFlash2 drafter, main's merge base Replies are equal on every arm and turn. Unset, the switch runs main's path: First-token time on the warm server, turns 2 to 6:
Main resumes on the 2,048-row grid, so the short chat never resumes and the long one re-prefills about 900 rows a turn. With the switch on, both resume within a few rows of turn 1's end. Turn 1 costs 0.04 s more on the long chat and 0.17 s on the short one, for the extra cuts. Cold servers are level with main in every arm (16.2-16.4 s and 1.1-1.4 s). One thing the tables show: |
…s where the last one's history ended
…s opt-in sends no other family message starts requestStep reads the switch the family names (request_starts_switch) through profile.lookup; a family that names none gets no message starts. Qwen's dense and MoE entry points name TF_QWEN_REQUEST_STARTS, so its name, its refusal with TF_QWEN_KV_SHARE and its tests are unchanged, and unset is main's path. The shape follows #2404's (0279d37), without its GLM engine changes, so #2404 can drop its copy. A host test walks the real CUDA registry: Qwen's switch reaches only Qwen, a second family's switch only that family, unset none.
This carries @gilby's #1335 forward at their request: their commit with their authorship, rebased onto main, with the opt-in they asked us to add. Part of #1334.
TF_QWEN_REQUEST_STARTS=1turns on exact message cuts for eligible Qwen families. Unset, zero, empty or anything else behaves as main does, with a test.Host tests pass and lean stays at 425. Not yet run on a GPU: the six-turn tables on a GB10 against main are ours, and it won't land until those are posted.