Repository navigation
[Other] setup: reject invalid explicit RoPE scale factors - #3393
Closed
j-luwierski wants to merge 1 commit into
Closed
j-luwierski wants to merge 1 commit into
j-luwierski wants to merge 1 commit into
Conversation
Niko1221
pushed a commit
that referenced
this pull request
Oct 27, 2026
resolve_rope accepted nan, inf, zero and values below 1 and handed them to the engine. It now stops with a message that names --rope-scale and the valid range, before any configuration is written; valid factors and the automatic scaling are unchanged. Ported from PR #3393 by j-luwierski (follow-up to #2950) with its tests; the --help text gets the range.
Owner
|
Thanks. Confirmed: nan, inf and values below 1 were accepted. Ported to 0.2.7. Release: https://github.com/Niko1221/Strata/releases/tag/v0.2.7 |
MistVVK
added a commit
to MistVVK/XeStrata
that referenced
this pull request
Oct 30, 2026
resolve_rope は nan・inf・0・1 未満の値を受けてエンジンに渡していた。設定を書く前に、--rope-scale と 正しい範囲を名指して止める。正しい値と自動の倍率は変わらない。--help にも範囲を書く。upstream Niko1221#3393。
ruc1j
added a commit
to ruc1j/XeStrata-890M
that referenced
this pull request
Oct 31, 2026
…の 1) serve の変更 - 宣言していない名前の tool call を文のまま返すとき、その名前を strata_rejected_tool_calls で答えに添え、/metrics/prometheus で数える(upstream 805ebe1、Niko1221#3796) - 名前空間つきの tool は namespace=member、namespace_member、member だけの綴りでも受け、`__` を `_` に潰した綴りも宣言した tool として読む(upstream fd8d37e、805ebe17b、Niko1221#3972) - Chat Completions の tool の結果を、答えた call の順に並べ直す(upstream 11237f8、Niko1221#3395) - message のない chat の要求は 400 にする(upstream 8a3ca07) - --host :: で IPv6 で待ち受ける(upstream eba3106、Niko1221#3212) - /v1/responses の max_output_tokens は 0 と -1 を上限なしとして受け、答えに timings を付ける(upstream 9c2d35d、a0fc88abd、Niko1221#4036、Niko1221#3291) - response_format の repair_latex_escapes で、LaTeX のエスケープで壊れた JSON を直してから検査する(upstream 2cc6ea1、Niko1221#2893) - 1 トークンの答えには decode の速さを出さない(upstream 5d5c26d) - elastic な画像エンコーダーが起動できなければ 503 を返す(upstream 092c7d1、Niko1221#2435) - lifeline の識別は子プロセスの開始時刻にし、sampler は壊れた source に耐える(upstream b3db5a1、Niko1221#3590、Niko1221#3407) - web ページ: 答えを追うのは読み手が離れていないあいだだけ(upstream 89a68d8)、広い窓を使い狭い画面に収める(upstream ad1a310、Niko1221#3176) setup の変更 - cmake と ninja は venv のものを先に取り、CMakeLists.txt が求める 3.24 より古い cmake は使わない(upstream 5bfce4b、Niko1221#3822) - 別の generator で configure された build フォルダーは作り直す(upstream bf994ca、Niko1221#4038) - ダウンロードの長さが取れなければ公開されている大きさを使う(upstream a1d2fd7、Niko1221#2287) - 2 分データが来ないダウンロードは止まっていると言う(upstream ed0c893、Niko1221#3567) - --rope-scale は有限で 1 以上の値だけ受ける(upstream a332cc9、Niko1221#3393) - pip の記録はどの OS が書いたかを覚え、別の OS の記録は信じない(upstream fb3bae2、Niko1221#3634) tools の変更 - gguf_reader.py はヘッダーの読みに上限を置き、壊れた metadata を ValueError にする(upstream 409f246、Niko1221#2288、Niko1221#1919) - strata_bench.py は amd-smi しかない ROCm 7 以降でも AMD のカードの名前を書く(upstream c471588、Niko1221#3630) - calibrate.py は計測の途中でエンジンが落ちても、その候補だけを落として続ける(upstream 41188ec、Niko1221#3317) - chat.py は端末で fenced code block に色を付ける(upstream 3e81173、PR Niko1221#1895) - 試験: llama.cpp の gguf-py がなければ test_iq_pack は skip、ほか試験の穴 3 つ(upstream 5b14fe2、Niko1221#3236) fork に合わせて変えたこと: upstream の docs/DETAILS.md の差分は取らず、文書は別に書く。logprobs(upstream 9ea0449)は fork にすでにあり、allowed_token_ids は見送り。Control(strata_control)に依る setup の変更と、fork にない機能(presets の警告、Delete a model、queue timeout の badge)は取らない。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and result
On current
main, setup accepts an explicit--rope-scaleofnan,inf,-inf, zero, or a value below 1. For example,resolve_rope(1048576, "yarn", float("nan"))returns("yarn", nan); setup can then pass the invalid value into the generated engine arguments. The engine requires a finite factor >= 1.After this change, setup rejects every explicit non-finite factor and every factor below 1 before it writes configuration, and the error names
--rope-scaleand the valid range. Valid factors remain unchanged.Related discussion
This is the rebased follow-up to #2950, which was closed during the 0.2.0-beta tracker reset rather than declined. Its fix was not present on current
main.Approach
Validate the explicit factor at the start of
resolve_rope()withmath.isfinite()and the engine's >= 1 lower bound. Update--helpto state the accepted range. Add regression coverage across contexts below, at and above 262144, with omitted,none,linearandyarnscaling methods.Automatic scaling, valid explicit overrides, model inference and backend code are unchanged. This does not change YaRN quality or require the factor to cover the requested context.
Validation
Revision:
b7c8ede5, based onmain5bda973a. Linux, Python 3; no GPU or model downloads.Passed:
5bda973a: the resolver accepted NaN, both infinities, -1, 0 and 0.5 for contexts 131072, 262144 and 1048576 with linear and yarn.python3 -m unittest tools.test_setup_rope tools.test_setup_choices tools.test_setup_configs tools.test_setup_config -q: 93 tests pass.python3 setup.py --help: help shows the finite and >= 1 constraint.git diff --check.Failed: none.
Not run: GPU builds and model inference; no engine/backend source or build files changed. The test run emitted existing
/proc/cpuinfoResourceWarnings and a read-only fixture note; all 93 tests passed.Limits
Validation covers setup's resolver and its configuration tests. It does not measure model behavior or the quality of RoPE scaling.