Pull requests / #2658

#2658 artifact: read an all-zero attention.compress_ratios as absent

open · @VLOD-ZDOV · 0 comentários · No GitHub

AMD / HIPNVIDIA / CUDAModels & quants

Descrição

## Title
artifact: read an all-zero `attention.compress_ratios` as absent

## Summary
Some re-quantized finetunes of Qwen3.8-Flash-Next write `qwen4exp.attention.compress_ratios` with every entry 0
(the original files have 4 on each full-attention layer). Since the geometry check in 0.1.44, such a file stops the
engine at start:

```
qwen4exp.attention.compress_ratios[3] = 0, but full_attention_interval = 4 makes layer 3 full attention
```

An array of zeros names no layer, so it is now read as if the key were missing, and the compiled pooling block
stays. Any other value is checked as before.

## What changed
- `include/strata/artifact/gguf_reader.hpp`, `read_geometry`: an all-zero `attention.compress_ratios` is skipped.
  A missing key, a valid list and every malformed list (wrong length, a non-zero entry on a linear layer, mixed
  blocks) take the same path as before.

## Extra Notes
How it was checked (CUDA build only):
- A community finetune GGUF with all-zero ratios: refused at start before, starts and answers correctly after (on a
  branch with the MXFP4 experts of #1724, which that file also needs; on `main` alone it now gets past the geometry
  check and stops at the MXFP4 expert check, as expected).
- Unsloth's UD-Q3_K_XL (valid ratios): starts and answers the same way.

Not tested: HIP and SYCL builds (the change is in a header the CPU code reads, no device code).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

No site

Links install, modelos, releases.