Download README.md from Nairod785/Confucius4-R2T2-Q4_K_M-GGUF: direct link, hf CLI and curl.
- Browser
- Download file 5.61 kB
-
https://huggingface.co/Nairod785/Confucius4-R2T2-Q4_K_M-GGUF/resolve/72d2ca46eda8f2acc3b7138d6599793cb6c39e18/README.md
- Command line
-
hf download hf://Nairod785/Confucius4-R2T2-Q4_K_M-GGUF@72d2ca46eda8f2acc3b7138d6599793cb6c39e18/README.md
-
curl -L -o README.md https://huggingface.co/Nairod785/Confucius4-R2T2-Q4_K_M-GGUF/resolve/72d2ca46eda8f2acc3b7138d6599793cb6c39e18/README.md
base_model: netease-youdao/Confucius4-R2T2
library_name: transcribe.cpp
pipeline_tag: automatic-speech-recognition
tags:
- audio
- speech-recognition
- asr
- gguf
- quantized
- q4_k_m
license: other
license_name: netease-model-use-license
license_link: https://huggingface.co/netease-youdao/Confucius4-R2T2
language:
- zh
- en
- de
- fr
- ru
Confucius4-R2T2 — Q4_K_M GGUF (Arm M)
Optimized Q4_K_M GGUF quantization of netease-youdao/Confucius4-R2T2, designed for native execution in transcribe.cpp.
- Filename:
r2t2-q4_k_m.gguf - File size: 1.187 GB (1,186,939,968 bytes)
- RAM/VRAM footprint: 52% smaller than the 2.478 GB Q8_0 reference.
- Base Architecture: Qwen3-ASR audio encoder (24 layers, 1024 width, 2048 projected width) + Causal LM decoder (28 layers, 16 query heads, 8 KV heads, 128 head width).
- Base Checkpoint:
185ce639118ad1362d049ca0d8ed04b6ec5cd6c9
Quantization Summary: Arm M
Uniform quantization breaks multilingual stability on R2T2. Arm M uses an asymmetric per-tensor quantization recipe that reaches the minimum empirical memory floor while preventing language drift and degradation:
| Component | Tensors | Target Dtype | Architectural Rationale |
|---|---|---|---|
| Audio Tower | 147 | BF16 / Q4_K |
Audio encoder layers quantized to Q4_K while keeping converter-selected projection weights at BF16. |
| Attention Projections | 112 (q, k, v, o_proj) |
Q4_K |
Quantized within the LM error budget when paired with Q6_K down projections. |
| MLP Gate / Up | 56 (gate_proj, up_proj) |
Q4_K |
Errors pass through SwiGLU non-linearities, bounding error propagation. |
| MLP Down | 28 (down_proj) |
Q6_K (Floor) |
Non-negotiable hard floor. down_proj writes straight into the residual stream, compounding errors across all subsequent layers. Quantizing below Q6_K triggers severe English language drift on non-English audio. |
| Embeddings | 1 (embed_tokens) |
Q2_K |
Lookup table error enters once and does not compound. Slices 311M parameters down with no measurable fidelity penalty. |
Why Arm M Works
1. The Error Budget is Cumulative
A transformer block cannot be quantized in isolation; its tolerance depends on what the rest of the model has spent:
- Da4 (Attention @ Q4_K,
down_proj@ Q6_K) passes. - E (Attention @ Q6_K,
down_proj@ Q4_K) passes simple probes. - G (Both Attention &
down_proj@ Q4_K) fails completely.
The LM decoder can afford exactly one of {attention, down_proj} at Q4_K. Arm M allocates that budget to attention while pinning down_proj strictly to Q6_K.
2. down_proj @ Q6_K is the Hard Floor
Every arm evaluated that placed down_proj at Q5_K or Q4_K (D5, E, L, N, K, G, G3) emitted English when given German audio. No arm with down_proj below Q6_K passes multilingual validation.
3. Embeddings are the Cheapest Lever
embed_tokens is 311M parameters. Quantizing it to Q2_K drops the total model size from 1.26 GB (Da4) to 1.187 GB without triggering degradation.
4. Low-Bit Matmul Cliff
Matmuls below Q4_K exhibit a sharp failure cliff rather than gradual degradation:
- Tower @ Q3_K (
r2t2-Dt3) -> empty output. - Gate/Up @ Q3_K (
r2t2-P) -> empty output.
Arm Evaluation & Benchmarks
Measured on CPU (pooled ratio against Q8_0 baseline on JFK and ZH test audio):
| Arm | Attention | Gate/Up | down_proj |
Embed | Tower | Size (GB) | vs Q8_0 Speed | Status |
|---|---|---|---|---|---|---|---|---|
r2t2-q8_0 |
Q8_0 | Q8_0 | Q8_0 | F16 | BF16/Q8_0 | 2.478 | 0% (baseline) | Reference |
r2t2-q6_k |
Q6_K | Q6_K | Q6_K | F16 | BF16/Q6_K | 2.060 | +5% | Passes |
r2t2-q5_k |
Q5_K | Q5_K | Q5_K | F16 | BF16/Q5_K | 1.832 | -20% (slower) | Fails Russian (flips to English) |
r2t2-Da4 |
Q4_K | Q4_K | Q6_K | Q4_K | BF16/Q4_K | 1.260 | — | Passes |
r2t2-q4_k_m (M) |
Q4_K | Q4_K | Q6_K | Q2_K | BF16/Q4_K | 1.187 | +20%+ | Floor — Passes All |
r2t2-D5 |
Q6_K | Q4_K | Q5_K | Q4_K | BF16/Q4_K | 1.304 | +18% | Fails German |
r2t2-E |
Q6_K | Q4_K | Q4_K | Q4_K | BF16/Q4_K | 1.260 | +22% | Fails German |
r2t2-G |
Q4_K | Q4_K | Q4_K | Q4_K | BF16/Q4_K | 1.169 | — | Fails German |
r2t2-P |
Q4_K | Q3_K | Q6_K | Q2_K | BF16/Q4_K | 1.093 | — | Empty output cliff |
Note: Q5_K is strictly dominated — it runs ~20% slower than Q8_0 due to non-vectorized kernel routines and fails multilingual validation. Arm M provides both higher throughput and minimal size.
Validation Protocol
- Probing: Tested on English (
jfk), Chinese (zh), German (samples/german.wav), and native French audio sets. - Detector: Evaluated via
detected-language:outputs and strict word-level diffing against the Q8_0 reference. Arm M matches Q8_0 transcriptions word-for-word without language switching.
Usage
With transcribe-cli
transcribe-cli -m r2t2-q4_k_m.gguf samples/audio.wav
Streaming
R2T2 supports configurable streaming chunk durations between 80 ms and 2000 ms (default: 320 ms).
Provenance and License
- Original Model: NetEase Youdao Confucius4-R2T2
- License: Model weights are distributed under the NetEase Model Use License Agreement.