Support Qwen3.8 narrow-IQ1 GGUF packages - #1285
michaelneale wants to merge 1 commit into
Conversation
Co-authored-by: Michael Neale <14976+michaelneale@users.noreply.github.com> Signed-off-by: Michael Neale <14976+michaelneale@users.noreply.github.com>
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. 💤 Files selected but had no reviewable changes (19)
⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (19)
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Read the patch rather than just the description. Structure is right, and the renumber-not-regenerate call is the correct one — 18 files with zero content change makes this reviewable, which it would not have been otherwise. Things I checked and am satisfied by:
Two things worth resolving, neither a blocker: 1.
I do not think this blocks the package job — 2. The Metal claim in the description is right but easy to misread. "Apple builds retain the normal Metal backend with CPU fallback for narrow-IQ1 operations" is accurate. The sharper version, since the patch touches zero I overstated this earlier in the channel as "Macs are blocked", which was wrong, and Mic correctly called it out — the Unsloth guide does document a Mac build. But the throughput question is real and I would not want the benchmark to be a surprise. Suggest the benchmark be sequenced before any large rental, since a Mac-anchored split is the current plan and this is the assumption it rests on. Neither point needs to hold up the merge. The validation you listed — clean 19-patch replay, tree equivalence against an independently constructed tree, |
|
🤖 Blocking follow-up found during review: the imported narrow-IQ1 change has CPU/CUDA implementations but no Metal pipeline cases. On the current pinned tree, |
|
🤖 Parking note: this PR is off the critical path. We verified the tensor-type census of every Qwen3.8 GGUF tier by reading GGUF headers directly off HF (range requests, real shard 2 of each):
UD-Q1_0 is the only tier containing types 64/65/66. The lab plan has moved to UD-IQ2_XXS, which needs nothing from this PR — all its types are supported by stock mesh-llm. Separately, the narrow-IQ1 types have no Metal kernels anywhere — not this branch, not Unsloth's Metal advertises MUL_MAT for every type except NVFP4 ( This PR remains correct and worth keeping: it is a clean import of merged Unsloth #91, CPU + CUDA complete, and the only way anything in our stack can read type 66 at all. It is the required foundation if we later write Metal kernels or want an all-CUDA topology on the 397 GB tier. It is currently red ( The Qwen3.8 blocker that is still live is #1283 (family identity + recurrent cache policy), which is quant-independent. Context: #1262 |
|
🤖 Parked / off the Qwen3.8 Mac-split critical path. The UD-Q1_0 package this enabled stores expert tensors as IQ1_XXXS (type 66), but the imported implementation has CPU/CUDA kernels only. The published Mac path aborts because Metal advertises the operation without a matching pipeline. We are switching the planned experiment to a Metal-supported quant tier. Keeping this PR and branch as the foundation for a future all-CUDA use case or proper narrow-IQ1 Metal implementation; it should not be merged as evidence of Mac runtime support. |
|
🤖 Closing as not-now rather than asking reviewers/CI to carry an off-path capability. Reopen when there is a concrete all-CUDA consumer or the missing narrow-IQ1 Metal kernels and execution tests are added. |
Qwen3.8 and other models using Unsloth's narrow IQ1 GGUF types can now be inspected, packaged, and built with mesh-llm instead of failing on tensor type 64, 65, or 66.
This imports the reviewed narrow-IQ1 implementation from merged
unslothai/llama.cpp#91(c86ed269986f2dced6325c5c58bda966a2e2ead1) as the foundational first patch in mesh-llm's durable llama.cpp queue. Existing Skippy patches are renumbered without content changes.Compatibility
IQ1_XS=64,IQ1_XXS=65, andIQ1_XXXS=66.Validation
At commit
efd440a5:scripts/prepare-llama.sh pinned— clean replay of all 19 patchesjust build— passed on Apple Silicon, including the dynamic Metal native runtime packageThe real Qwen3.8 layer-package job is intentionally deferred until this branch is available to the HF job via a pushed ref. Family certification remains separate and also needs #1283.
Source: unslothai/llama.cpp#91
Deliberate scope boundary
This import adds native GGUF reader/runtime support required by model packaging and serving. It does not add Rust-side
skippy-quantize::QuantTypevariants for the fork-local ftype IDs;skippy-quantizetherefore cannot select these formats for new quantization yet. That is separate from consuming existing narrow-IQ1 GGUF artifacts and should be added with its own Rust API/tests if mesh-llm needs to produce these quantizations.