Skip to content

Add small-model GGUF runtime evidence - #607

Open
justinchuby wants to merge 1 commit into
justinchuby-finalize-gguf-support-matrixfrom
justinchuby-validate-small-gguf-models
Open

Add small-model GGUF runtime evidence#607
justinchuby wants to merge 1 commit into
justinchuby-finalize-gguf-support-matrixfrom
justinchuby-validate-small-gguf-models

Conversation

@justinchuby

Copy link
Copy Markdown
Member

Summary

  • add first-class pinned GGUF sources to the L4/L5 YAML harness, including immutable GGUF/reference revisions, byte size, LFS SHA-256, tensor census/qtypes, CPU import route, config hash, and golden provenance
  • add reproducible F16 L4/L5 coverage for HuggingFaceTB/SmolLM-135M and HuggingFaceTB/SmolLM2-135M-Instruct through real CLI build, save/reload, ORT prefill, 20 cache-threaded decode steps, full-logit HF parity, and deterministic generation
  • make GGUF case changes select llama in affected-model detection and run the real-artifact tests in fast integration CI

Evidence

Artifact Identity Tensor census Max full-logit abs diff Generation
neopolita/smollm-135m-gguf@22cca988936eafe92908e7558907c3964e10bba7/ggml-model-f16.gguf 270,885,504 bytes; ec8c775c16944a7e4b5251f97b3f848500dcc3e701b0d492ce9055cea42138a2 272 (F16=211, F32=61) 1.277e-4 exact 20/20
unsloth/SmolLM2-135M-Instruct-GGUF@9e6855bc4be717fca1ef21360a1db4b29d5c559a/SmolLM2-135M-Instruct-F16.gguf 270,885,952 bytes; 5157ca60744d21631818364854ac8e4452e1b8022d2ab4c8a2f9cda2344afb30 272 (F16=211, F32=61) 7.176e-5 observed in the initial probe; committed test gates at 2e-4 exact 20/20

Both routes are CPU, dynamic-cache, llama_qk_permute=true, and preserve_quantization=false. Runtime packaging remains deferred: the public GGUFs use compiled llama.cpp smollm pre-tokenizer metadata and do not embed tokenizer.huggingface.json, so no architecture-wide or runtime-package support is claimed.

The pinned SmolLM2 Q4_K_M artifact (105,454,144 bytes, ed5fa30c487b282ec156c29062f1222e5c20875a944ac98289dbd242e947f747) was exercised but is not promoted or compared against mismatched unquantized weights. Its preserved MatMulNBits route diverges from the same artifact under llama.cpp, while Mobius dequantization matches llama.cpp; this exact blocker is documented in the integration test.

Validation

  • real-artifact GGUF integration: 2 passed
  • targeted L4/L5: 4 passed
  • schema/golden/detector infrastructure: 352 passed
  • dashboard/model coverage: 810 passed, 225 skipped
  • Ruff formatting and lint: passed
  • two independent reviews completed; CI selection, dashboard aggregation, provenance, and route-hash findings fixed

The broad non-integration suite remains at 7,054 passed with two pre-existing glm_moe_dsa shape-inference failures unrelated to this diff. CI was not awaited.

Add pinned SmolLM and SmolLM2 F16 GGUF L4/L5 cases with immutable artifact, reference, tensor-census, import-route, and golden provenance checks. Exercise CLI save/reload, full-logit prefill and cache-threaded decode parity, deterministic generation, and wire the cases into affected-model and fast integration CI selection.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Justin Chu <justinchuby@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

🏗️ Architecture Diff

Comparing 7326da4efef079

Model Sub-model Changes Status

No architecture changes detected.


Legend: ⚪ No change · 🔵 Minor (attrs/inits) · 🟡 Moderate (nodes added/removed) · 🔴 Major (interface changed)

@github-actions

Copy link
Copy Markdown

Performance Comparison

Comparing 7326da4efef079

Model Metric Baseline Current Delta
bert (feature-extraction) model_size_bytes 359 KB 359 KB +0.0%
bert (feature-extraction) num_nodes 68 68 +0.0%
falcon model_size_bytes 364 KB 364 KB +0.0%
falcon num_nodes 66 66 +0.0%
gemma2 model_size_bytes 428 KB 428 KB +0.0%
gemma2 num_nodes 105 105 +0.0%
gpt2 model_size_bytes 388 KB 388 KB +0.0%
gpt2 num_nodes 54 54 +0.0%
llama model_size_bytes 425 KB 425 KB +0.0%
llama num_nodes 60 60 +0.0%
llama (static-cache) model_size_bytes 425 KB 425 KB +0.0%
llama (static-cache) num_nodes 56 56 +0.0%
mamba (ssm-text-generation) model_size_bytes 296 KB 296 KB +0.0%
mamba (ssm-text-generation) num_nodes 94 94 +0.0%
phi3 model_size_bytes 421 KB 421 KB +0.0%
phi3 num_nodes 58 58 +0.0%
phi3 (static-cache) model_size_bytes 421 KB 421 KB +0.0%
phi3 (static-cache) num_nodes 54 54 +0.0%
qwen2 model_size_bytes 425 KB 425 KB +0.0%
qwen2 num_nodes 60 60 +0.0%
qwen2 (static-cache) model_size_bytes 425 KB 425 KB +0.0%
qwen2 (static-cache) num_nodes 56 56 +0.0%
qwen3_5_moe (hybrid-text-generation) model_size_bytes 506 KB 506 KB +0.0%
qwen3_5_moe (hybrid-text-generation) num_nodes 264 264 +0.0%
qwen3_5_text (hybrid-text-generation) model_size_bytes 458 KB 458 KB +0.0%
qwen3_5_text (hybrid-text-generation) num_nodes 126 126 +0.0%
qwen3_5_vl (hybrid-qwen-vl) model_size_bytes 977 KB 977 KB +0.0%
qwen3_5_vl (hybrid-qwen-vl) num_nodes 428 428 +0.0%
t5 (seq2seq) model_size_bytes 836 KB 836 KB +0.0%
t5 (seq2seq) num_nodes 176 176 +0.0%
whisper (speech-to-text) model_size_bytes 1008 KB 1008 KB +0.0%
whisper (speech-to-text) num_nodes 128 128 +0.0%

No performance regressions.

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