Repository navigation
Conversation
…Niko1221#1155) The ready-made Windows AMD zip carries no image encoder. setup now uses one built from tools/vision: --vision cpu with a CPU build (build-vision), and --vision gpu / yes with a Vulkan build (-DGGML_VULKAN=ON, build-vision-vulkan), which runs on the Radeon. place_windows_encoder() puts the right build beside the engine, also after an engine update replaced the folder; without one, images stay off as before. docs/AMD_HIP.md: "Images on Windows", both builds and the measurements. On a Radeon 8060S, 1224 x 1584 photos of documents at 1024 image tokens: about 1 s to encode with Vulkan against about 23 s on the CPU, the same text read. The other changes this PR carried are now Niko1221#1803-Niko1221#1807. All serve and tools/test_setup_* test files pass on main fb58e0d. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…clean on 0.1.42) - Niko1221#1838 resident RAM mode: the RAM copy follows the conversation (STRATA_RAM_ADAPT) - the top candidate for this memory-bound box (19 GiB complement, budget clamped by free RAM). - Niko1221#1803 serve: opt-in repeat_stop_period guard for repeated phrases, plus named repetition stats. - Niko1221#1876 opt-in cumulative GPU energy in the Power card. Built and running as logs/binaries/strata-142-b.exe; measurements follow. Note for the tuner: tools/hip/autotune.py's find_tuner() looks for a file literally named 'tune_decode' (no .exe), three paths, all Linux-shaped; on Windows the binary has to be copied next to the engine as 'logs/binaries/tune_decode' for it to be found (worth fixing upstream).
…p-server.bat fixed A (in-tree levers): - Niko1221#1297 kernel tuning: RAN. The tuner kept the DEFAULT shape in all nine cases (3 expert shapes + 6 mmvq shapes) and wrote a table with 0 changes - nothing to gain on gfx1100. The tuner also needs its binary copied next to the engine on Windows (autotune.py looks for a literal 'tune_decode'). - Niko1221#1151 SIMT scorer: ADOPTED (STRATA_SELECT_SIMT=1) - +3.9% at 16K and +4.5% at 4K on top of the WMMA select, measured at matched budgets after the leak below was cleared. - Niko1221#1324 LRU: off. 2 GiB is a wash (16K -0.8%, budget -1.4 GiB); 6 GiB costs 14% and crushes the budget to 4.9 GiB. - Niko1221#1167 rocBLAS table: inert on gfx1100 - prompt_f16() is gfx103x-only ('on gfx103x it is ~2x faster'). - A5 hipBLASLt rows: deferred (our 45-row table already beats upstream's 34; the tuner needs a GPU-exclusive run). B: Niko1221#1838/Niko1221#1803/Niko1221#1876 applied and NEUTRAL (-2..+2% at both sizes, so kept); its conversational test shows no measurable difference either. C: Niko1221#1913 does not reproduce here - per-entry host cost is flat at 0.77-0.86 ms (their box jumps 3-5x). Niko1221#1903's placement axis answered: --expert-cache-per-layer costs 3%. Issue Niko1221#1910 does not apply: the interleaved 4K pairs put 0.1.42 +2.1% AHEAD of 0.1.41 (923.6/923.5/962.2 vs 958.7/957.4/953.2). Niko1221#1906 answered: reuse works, up to 96% of a turn's prompt reused (1286/1341). Bug found and fixed: stop-server.bat killed a fixed list of old binary names, so newer A/B engines leaked - one held 11.4 GiB and crushed the next measurement's RAM budget to 0.0 GiB. It now kills any strata*.exe (matching tasklist) plus tune_decode; that leak is what made the first group-B/SIMT/per-layer readings unusable.
…Niko1221#1155) The ready-made Windows AMD zip carries no image encoder. setup now uses one built from tools/vision: --vision cpu with a CPU build (build-vision), and --vision gpu / yes with a Vulkan build (-DGGML_VULKAN=ON, build-vision-vulkan), which runs on the Radeon. place_windows_encoder() puts the right build beside the engine, also after an engine update replaced the folder; without one, images stay off as before. docs/AMD_HIP.md: "Images on Windows", both builds and the measurements. On a Radeon 8060S, 1224 x 1584 photos of documents at 1024 image tokens: about 1 s to encode with Vulkan against about 23 s on the CPU, the same text read. The other changes this PR carried are now Niko1221#1803-Niko1221#1807. All serve and tools/test_setup_* test files pass on main fb58e0d. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Two points ( |
|
@qiuzan2001 thanks, both points were right. Fixed in c720feb:
|
…d name repetition stops (stop_cause) Split out of Niko1221#1789. All serve and tools/test_setup_* test files pass on main fb58e0d. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ror names no unmerged option stop_cause was also set when the existing one-token guard (Niko1221#606) or reasoning_loop_recovery ended a reply, so a default config's replies gained the field and structured errors changed their text. It is now added only when repeat_stop_period is 2 or more; with the default, replies and the structured error are as on main (tests for both). The structured error for a repetition no longer points at structured_plain_string, which exists only in Niko1221#1804. Reported by qiuzan2001. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the pull request. We're resetting the tracker for 0.2.0-beta. There are more than 1,300 open issues and pull requests, too many for us to review properly, so we're closing everything that isn't being worked on right now. Closed here does not mean rejected. To reopen it takes about two minutes:
The rules are in CONTRIBUTING.md. |
Title
Issue: relates to #606 and #728
Summary
Two things about replies Strata ends because they repeat:
Split out of #1789 (which now only carries the Windows AMD images), as AGENTS.md asks: one change per PR, a new feature opt-in.
What changed
serve/server.py,"repeat_stop_period": N(opt-in; default 1 = only After a 36,689-token request at 155k, every later request answers one repeated token until the engine reloads #606's one-token rule):repeat_stop_tokenstokens that repeats with a period of 2..N tokens ends the reply like After a 36,689-token request at 155k, every later request answers one repeated token until the engine reloads #606;[unclear]written untilmax_tokensran out (12,000 tokens, 229 s), which the one-token rule never sees;choices[0].stop_cause: a reply ended by either guard (or by Infinite loop issue #728'sreasoning_loop_recovery: "stop") keepsfinish_reason: "length"and adds Strata's own"stop_cause": "repetition"/"reasoning_loop". On the OpenAI chat API, streamed and not.serve/structured.py: a structured answer ended that way fails with a message that says the reply repeated itself, instead of "increase the output budget", which a largermax_tokenscannot fix. Responses API too.json_schemaon a scanned rent roll: the model wrote the escaped newline 256 times, After a 36,689-token request at 155k, every later request answers one repeated token until the engine reloads #606 stopped it, and the client was told to raise the budget.docs/DETAILS.md.Extra Notes
repeat_stop_period1, the guard code is skipped. Replies that end normally, or atmax_tokens, are unchanged.stop_causeand the new message appear only when After a 36,689-token request at 155k, every later request answers one repeated token until the engine reloads #606 or Infinite loop issue #728 already end a reply, which are replies that were already cut short.serve/test_server.pyRepeatStop: off by default, a phrase ended with period 16, period 1, a long varied reply runs to its end;serve/test_structured.py: the message,stop_causestreamed and not, and no cause for a real budget stop.serveand setup test files pass onmain61b3fb5 (1158 tests; rebased).🤖 Generated with Claude Code