Skip to content

Vendor ggml b11913; report weight types in /info - #3

Merged
chux0519 merged 6 commits into
mainfrom
ggml-b11913
Oct 27, 2026
Merged

chux0519 merged 6 commits into
mainfrom
ggml-b11913

Conversation

@chux0519

Copy link
Copy Markdown
Owner
  • Update vendored ggml from llama.cpp b8833 (2026-04) to b11913 (2026-10), re-applying the local overlay (GTE ops, repack tweaks, llamafile fallback fix, WebGPU GTE kernels).
  • /info gains weight_types (e.g. "q4_K:49,q8_0:97") so mixed quantizations, which share the file-level ftype, can be told apart.
  • README: two-pass mixed quantization recipe for bge-m3.

Checks so far:

  • CPU output identical to b8833 (cos 1.000000) on 9 models/quantizations (BERT, GTE, XLM-R).
  • Xeon E5-2673 v3 (AVX2, 12 threads): bge-m3 q8_0 +7%, q4_k MLP mix +9%. Apple M4 CPU unchanged; Metal builds fine (11.7 docs/s for bge-m3 q8_0).
  • WebGPU/wasm not built locally: relying on Browser E2E (dispatched on this branch) and the wheel builds.

🤖 Generated with Claude Code

chux0519 and others added 6 commits October 27, 2026 11:39
Update ggml from llama.cpp b8833 (2026-04) to b11913 (2026-10). The local
overlay (GTE ops, repack tweaks, llamafile fallback fix, WebGPU GTE
kernels) is re-applied with a 3-way merge against pristine b8833. The
WebGPU adapter checks now follow upstream, which rejects adapters without
shader-f16 at registration.

CPU output is unchanged (cos 1.000000 against b8833 on bge-base-zh,
MiniLM, text2vec, Snowflake fp16/q4_k_mlp_q8_attn/q4_0 and bge-m3
fp16/q8_0/mixed). Speed on a Xeon E5-2673 v3 (AVX2, 12 threads): bge-m3
q8_0 +7%, q4_k MLP mix +9%; Apple M4 CPU unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mixed quantizations share the file-level ftype (bge-m3 q8_0 and q4_k
MLP + q8_0 attention both report "q8_0"), so clients that key vector
spaces on /info could not tell them apart. /info now also has
weight_types, the matrix weight types with counts (e.g.
"q4_K:49,q8_0:97"), logged at load as well.

README: the two-pass EMBEDDINGS_CPP_SKIP_QUANT_PATTERNS recipe for bge-m3
(q4_k MLP and vocabulary, q8_0 attention: q8_0 retrieval quality, ~40%
faster on AVX2, 384 MB).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The b11913 merge kept the local early returns in create_webgpu_device,
which upstream made void. Return bool again so ggml_backend_webgpu_reg_get_device
can report no device rather than abort.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The second argument of page.waitForFunction is the page function's
argument, so the 120 s timeout was ignored and the default 30 s applied;
loading the model and encoding on a CI runner takes longer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Headless Chromium now rejects the ~190 MB IndexedDB write of the
Snowflake model, and the encode page reported prepare-error, so Browser
E2E has timed out since October. Skip the cache (logging why) instead of
failing; Cache API writes likewise.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chux0519
chux0519 merged commit d3aca17 into main Oct 27, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant