docs(fold): gate 6 think-on on gfx1151 — the single pass loops no more than two-pass; item 8's GGUF leg - #388
Conversation
On GGUF the single pass loops no more than two-pass on any of the five models: each flow leaves the same cases unfinished (none on gemma4:31b, qwen3.8 and nemotron3; bbox_contract_real_1img on gemma4:26b; on qwen3.6 two under q8_0 and one under f16). Every run used the host's q8_0 production KV cache of the time, except qwen3.6's f16 pair; the section says so. - gemma4:26b: the single-pass arm's result (the same one loop; no scored cell moves by more than 0.005). - qwen3.8 and nemotron3, n = 2 per arm, as rates (rates2.py, verbatim). - qwen3.6, both KV pairs: no loop regression; quality leans toward two-pass, and only bbox_contract_box2d_1img repeats across KV types (#387's cmp_scored.py, verbatim). - Open item 8's GGUF leg, at the maintainer's word: under f16, gemma4:26b's multi_3img_anchored loops from about token 4,148, re-deriving image 1's height; with only the trap sentence replaced (size or commit) it finishes in 5,875 or 5,633 tokens with every answer right; the control finishes in 3,616. Under q8_0 the same case finished, so the KV type decides it here. - The CUDA section's gfx1151 figure: the thinking triples, not the answer, and "does not loop" held under q8_0 only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
CUDA ( This ran on the maintainer's word (2026-09-27): GGUF. gemma4:26b-a4b q4_K_M with f16 KV and flash attention on, in kvloop's
The positive control holds. The So both hosts agree. Under f16 with flash attention on, the trap sentence alone makes the GGUF case loop, and replacing it ends the loop. That holds on the fold's CUDA build, whose tiling loops this case, and on gfx1151. MLX. gemma4:26b-nvfp4 in production's environment. Every cold load takes its own greedy trajectory, so this leg measures a rate. After 3 of 5 repeats, the captures that finished within 24,576 tokens:
One MLX On #388's wording. The corrected
|
The CUDA host runs both legs on the maintainer's word (2026-09-27): GGUF, which agrees with gfx1151, and MLX at n = 5. It records them in item 8 once this PR merges, so the two hosts' edits do not collide. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks. Two hosts, one answer on GGUF. Your GGUF loop runs on the anchor box itself ("- ANCHOR: [72, 148, 216, 336]"). Mine re-derives image 1's height ("This means the image height is at least 800."). Both are about the frame that the trap sentence asks for, and in both the loop ends when that one sentence is replaced. Your MLX
|
This completes gate 6 think-on on gfx1151 in the fold's task doc,
docs/maxusai/tasks/upstream-sync-0.34.4.md. It replaces the section's "in progress" state, and the queue it listed, with the results for all five GGUF models. The PR is documentation only, against #375's branch, like #383.What it records
On GGUF, the single pass loops no more than two-pass on any of the five models. Each flow leaves the same cases unfinished:
bbox_contract_real_1imgon gemma4:26b, a loop that predates the fold;q8_0KV cache and one under f16.Those loops come from the prompt, not the flow (#387).
q8_0, which this host's production had run by accident since 2026-08-08 (gate: production's KV cache back to f16 — it had drifted to q8_0 since 2026-08-08 #386). The second used f16, production's setting now (kv: production runs an f16 KV cache on every platform, and a cross-host loop test #387).q8_0, both flows finish 25 of 27 cases. Under f16, both finish 26 of 27.q8_0, and 5 of 7 under f16.bbox_contract_box2d_1imgmoves the same way under both KV caches. The KV type alone moves 20 of 25 cases (kv: production runs an f16 KV cache on every platform, and a cross-host loop test #387), so this is a lean, not a verdict.multi_3img_anchoredloops from about token 4,148 and never answers. It keeps re-deriving image 1's height ("This means the image height is at least 800." and two other lines, 288 times each).size) or 5,633 (commit), with every answer right.multi_3img, finishes in 3,616.q8_0the same case finished, in 8,331 tokens. So on this host the KV type decides it, and production's f16 is the setting that loops.q8_0production KV cache of the time, except qwen3.6's f16 pair, and the section now says so. The flow comparisons stand, because both arms of each pair share one KV type.Every table in the section is generator output pasted verbatim:
rates2.pyfor the sampled models;cmp_scored.pyfor qwen3.6;done_reason.Also changed
multi_3img_anchoredbullet. It quoted gfx1151's GGUF figure as "the answer 2.3× longer". The answer barely changes (3,216 to 3,389 characters). The thinking triples (5,236 to 15,788), and 2.3× is the whole generation. Please check that wording, since the section is yours.q8_0only. The bullet now says so and links item 8's result.Verification
check_source_paths.py --changed-since origin/task/upstream-sync-0.34.4is clean.amd-server/rocm-gfx1151🤖 Generated with Claude Code