Repository navigation
pr-set: pin Nemotron 3.5 Super VL and Bolt (ggml-org#30520), repin Inkling - #278
Conversation
…ing (ggml-org#25731)
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 88868b7a0c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "checks": [ | ||
| { "kind": "arch", "arch": "nemotron_h_moe" }, | ||
| { "kind": "mtmd", "projector": "nemotron_omni" } |
There was a problem hiding this comment.
Add coverage for the bundled LiLiCorr path
When an aged nightly base builds this pin, ggml-org#30520 also supplies the unpinned ggml-org#30506 LiLiCorr/DSpark changes in src/models/dflash.cpp, but these checks exercise only the main nemotron_h_moe graph and the projector registry. tests/test-llama-archs.cpp explicitly skips LLM_ARCH_DFLASH, so the new speculative-decoding path is never executed and feature_matrix.py can report ggml-org#30520 demonstrated even if that bundled functionality is broken; add a positive runtime probe for the DFlash/DSpark path rather than treating the pin as fully covered.
Useful? React with 👍 / 👎.
| "https://github.com/unslothai/llama.cpp/pull/264/commits/5bb68456bc34238cedb50c8683495c6d6f924177", | ||
| "https://github.com/unslothai/llama.cpp/pull/266/commits/88035b0f74d0fd076df2012a957950fee0c4615f" | ||
| "https://github.com/unslothai/llama.cpp/pull/266/commits/88035b0f74d0fd076df2012a957950fee0c4615f", | ||
| "https://github.com/ggml-org/llama.cpp/pull/30520/commits/e64207bab6c2989a4ae5aa8b9e0cbe700e135ee3" |
There was a problem hiding this comment.
Pin a head that does not merge newer upstream history
For every aged base predating October 15, this head follows 3cb3b3f, which merged current upstream master into the PR branch as shown in the PR commit list. The resolver checks out the aged tag and runs git merge --no-ff "$SHA" in .github/workflows/unsloth-prebuilt.yml:326-346; Git merge incorporates the named commit's history since divergence, while --no-ff only forces creation of a merge commit (Git documentation). Consequently this pin imports every unrelated upstream commit through that merged master revision, bypassing UNSLOTH_LLAMA_MIN_RELEASE_AGE_HOURS, rather than adding only ggml-org#30520/ggml-org#30506; use a pin whose ancestry forks before the aged bases or otherwise isolate the reviewed changes.
Useful? React with 👍 / 👎.
| "owner": "ggml-org#30520", | ||
| "checks": [ | ||
| { "kind": "arch", "arch": "nemotron_h_moe" }, | ||
| { "kind": "mtmd", "projector": "nemotron_omni" } |
There was a problem hiding this comment.
Exercise the Nemotron Omni projector in this check
When the new Nemotron Omni image/video preprocessing or projector graph regresses, this entry still passes because probe_mtmd() in scripts/unsloth/feature_matrix.py:124-134 never reads check["projector"]; it only runs the same global test_projector_registry filter for every projector and counts its assertions. That verifies registry consistency, not that nemotron_omni can preprocess media or execute its newly added graph, while pin_contract.py only verifies source-line survival; add a projector-specific positive probe so the primary multimodal functionality of ggml-org#30520 cannot remain green without being exercised.
Useful? React with 👍 / 👎.
Summary
Adds ggml-org#30520 (Nemotron 3.5 Super VL and Nemotron 3.5 Bolt 74B A9B support, by frozenblade1224) to
scripts/unsloth/pr-set.jsonat its final heade64207bab6c2, and repins Inkling (ggml-org#25731) to534c32182487.cd0a5b6a180d, but no aged release tag contains it yet, so the nightly needs the pin until one does. Its branch already includes ggml-org#30506 (LiLiCorr speculative decoding), so that PR is not pinned separately; pinning both adds conflicts inconversion/nemotron.pyandsrc/models/dflash.cpp. Delete this entry once the base tag carriescd0a5b6a180d; after that the squash makes the old head conflict.elif quant_method == "modelopt":to also acceptmodelopt_mixed, and Add TML Inkling architecture ggml-org/llama.cpp#25731 inserted its stacked NVFP4 expert check directly under that line, soadditive_merge.pyrefused the overlap. The new head runs that check right afterdequant_fp8()instead (two-line diff). The same change also fixes the upstream conflict Add TML Inkling architecture ggml-org/llama.cpp#25731 had with master after Add Nemotron Super 3.5 VL and Nemotron Bolt 74B A9B support ggml-org/llama.cpp#30520 landed; it is mergeable again.feature-checks.jsongets anemotron-3.5entry owned by ggml-org#30520:test-llama-archs -a nemotron_h_moeand thenemotron_omniprojector registry check.Testing
Local mirror of
unsloth-pin-preflight.yml:additive_merge.py, the rest merge cleanly. Without the ggml-org#25731 repin, ggml-org#30520 is refused on every tagmerge_checks.pypin_contract.pytest-chatpass;test-backend-opsMUL_MAT 2488/2488, MUL_MAT_ID 993/993, PAD 37/37, GET_ROWS 340/340feature_matrix.py --only nemotron-3.5ggml-org#25731 repin checks:
UD-IQ1_S, wikitext-2, 20 x 512): old head, new head and new head merged with ggml-org master all give PPL 38.371526, mean KLD 0 and 100% same top token against the old head.ggml-org#30520 model checks on the final head, against the head first tested (8-chunk wikitext PPL, identical on both):
Bolt with its DSpark draft accepts 410/606 drafted tokens on both heads, and the Bolt vision projector gives byte-identical output.
Not covered