Repository navigation
common: record NaN logits instead of only aborting, with opt-in continuation (engine#315) -> pinned line - #94
Merged
Conversation
…nuation engine#315 measured 1 fault in 5 runs on GLM-4.7-Flash and killed a full ZAYA1-8B evaluation with 0 of 30 problems recorded. The guard below refuses to sample a silently-wrong token, which is correct, but it aborts on the FIRST NaN -- so the run and the evidence die together, and every recorded occurrence so far reports only 'vocab index 0'. Measure the corruption before acting on it: count, index range, and whether the run is contiguous. That is the discriminator between a migrated/torn page and a single bad element, and it is the fact an earlier probe could not obtain. With GGML_HRX_NAN_CONTINUE set, substitute -inf for the NaN entries and continue. -inf makes those entries unsampleable -- exactly what masking already uses -- while leaving the rest of the distribution intact, so a long evaluation completes instead of dying at the first fault. Off by default, so the guard's existing behaviour is unchanged unless an operator asks for it.
common: record NaN logits instead of only aborting, with opt-in continuation (engine#315)
bong-water-water-bong
merged commit Oct 6, 2026
b04c4e9
into
1bit/hrx-vulkan-patched
6 of 25 checks passed
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.
Brings the engine#315 fix onto
1bit/hrx-vulkan-patched, the branch the engine pins (third_party/llama.cpp), following the same cxx26-ci -> patched route as #92.#93 merged the fix into
1bit/cxx26-ci, but the engine pinshrx-vulkan-patched, andhrx-vulkan-patched ... 4d13516fisdiverged (ahead=1, behind=2)— so the fix was not on the pinned line and could not have reached a release.Contents: exactly one file,
common/sampling.cpp+34/-2— record the NaN count/index-range/contiguity instead of only aborting, plus opt-inGGML_HRX_NAN_CONTINUE(substitutes-inf) so long generation runs survive instead of dying. Off by default; no behaviour change unless the env var is set.Root cause is not closed by #90 — the pin already contained #90 and ZAYA1-8B still lost an entire Markovian evaluation (0/30 recorded) to this. Refs engine#315.