File size: 10,352 Bytes
695150a 1242644 9077358 695150a 9077358 ae89081 461a822 9077358 461a822 9077358 ae89081 9077358 1db100e 1242644 695150a 9077358 649bf5e 667f62c 649bf5e 54551f8 f681697 649bf5e f681697 649bf5e 54551f8 f681697 649bf5e a0d33a3 649bf5e a0d33a3 649bf5e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | ---
license: other
license_name: see-each-subdirectory
tags: [tensor-decomposition, svd, low-rank, model-compression, knowledge-distillation]
---
# TR-3 study models: main compressed models and matched-budget baselines
Layout: **<method> / <stage> / <model>**. Method families are `tr3` (our 3-site tensor ring +
sparse residual), `tt3` (3-site tensor train ablation), `svd_llm`, `svd_llm_v2` and `asvd_llm`
(matched-budget baselines). Stages are `heal`
(KD-distilled, deployable) and `unheal` (raw post-compression, for measuring the healing delta).
| method | stage | model | params (B) | licence | KD result (probe) |
|---|---|---|---:|---|---|
| tr3 | heal | [`qwen2.5-7b`](tr3/heal/qwen2.5-7b) | 5.187 | qwen-research (non-commercial) | see dir |
| tt3 | heal | [`llama2-7b`](tt3/heal/llama2-7b) | 4.021 | llama2 | see dir |
| tt3 | heal | [`qwen2.5-3b`](tt3/heal/qwen2.5-3b) | 2.388 | qwen-research (non-commercial) | see dir |
| tt3 | unheal | [`llama2-7b`](tt3/unheal/llama2-7b) | 4.021 | llama2 | β |
| tt3 | unheal | [`qwen2.5-3b`](tt3/unheal/qwen2.5-3b) | 2.388 | qwen-research (non-commercial) | β |
| tr3 | heal | [`llama2-7b`](tr3/heal/llama2-7b) | 4.023 | llama2 | MMLU 43.21* |
| tr3 | heal | [`llama2-13b`](tr3/heal/llama2-13b) | 7.740 | llama2 | see dir |
| tr3 | heal | [`qwen2.5-3b`](tr3/heal/qwen2.5-3b) | 2.078 | qwen-research (non-commercial) | see dir |
| tr3 | unheal | [`llama2-13b`](tr3/unheal/llama2-13b) | 7.740 | llama2 | β |
| tr3 | unheal | [`llama2-7b`](tr3/unheal/llama2-7b) | (off-cluster archive) | llama2 | β |
| svd_llm | heal | [`llama2-7b`](svd_llm/heal/llama2-7b) | 4.022 | llama2 | MMLU 39.47 |
| svd_llm | heal | [`llama2-13b`](svd_llm/heal/llama2-13b) | 7.738 | llama2 | MMLU 46.54 |
| svd_llm | unheal | [`llama2-7b`](svd_llm/unheal/llama2-7b) | 4.022 | llama2 | β |
| svd_llm | unheal | [`llama2-13b`](svd_llm/unheal/llama2-13b) | 7.738 | llama2 | β |
| svd_llm_v2 β‘ | heal | [`llama2-7b`](svd_llm2/heal/llama2-7b) | 4.023 | llama2 | MMLU 40.22 |
| svd_llm_v2 β‘ | heal | [`llama2-13b`](svd_llm2/heal/llama2-13b) | 7.740 | llama2 | MMLU 44.96 |
| svd_llm_v2 β‘ | unheal | [`llama2-7b`](svd_llm2/unheal/llama2-7b) | 4.023 | llama2 | β |
| svd_llm_v2 β‘ | unheal | [`llama2-13b`](svd_llm2/unheal/llama2-13b) | 7.740 | llama2 | β |
| asvd_llm | heal | [`llama2-7b`](asvd_llm/heal/llama2-7b) | 4.023 | llama2 | MMLU 35.09 |
| asvd_llm | heal | [`llama2-13b`](asvd_llm/heal/llama2-13b) | 7.736 | llama2 | MMLU 42.46 |
| asvd_llm | unheal | [`llama2-7b`](asvd_llm/unheal/llama2-7b) | 4.023 | llama2 | β |
| asvd_llm | unheal | [`llama2-13b`](asvd_llm/unheal/llama2-13b) | 7.736 | llama2 | β |
\* full-benchmark lm-eval 0.4.12 result; SVD probe columns are limit-40 healing probes here β
each dir's README/provenance carries the precise protocol.
β‘ Official SVD-LLM V2 code was never released; `svd_llm_v2` artifacts are our faithful
implementation of the published algorithms (per-layer ranks document the allocation).
## β οΈ These are NOT standard `transformers` checkpoints
`tr3/**` stores **ring cores** (load with each dir's `tensor_formats.py`); `svd_llm*/**` stores
**low-rank factor pairs** (load with each dir's `lowrank_linear.py`). Weight files are
uniformly named `state_dict_fp16.pt`. `from_pretrained()` will not work on this repo.
## Benchmark results
All numbers below were produced by us under a single locked protocol: **lm-eval-harness 0.4.12, fp16, seed 1234**; MMLU 5-shot, HellaSwag 10-shot, everything else 0-shot; full benchmarks, no subsampling. Every baseline was re-run at the **same parameter budget and the same 60M-token KD recipe** as our model rather than quoted from its paper, so the rows within a block are directly comparable.
Perplexity is **token-level** over fixed non-overlapping 2048-token windows, following SVD-LLM's `evaluater.py`. It is *not* lm-eval's word-level perplexity; the two differ by the exponent `N_tok/N_word` (1.4156 for LLaMA-2 on WikiText-2) and must never be placed in the same column.
`--` marks a cell not yet measured; it is a placeholder, not a zero or a failure.
### Perplexity (lower is better)
| Model | Method | Params (B) | WikiText-2 | C4 |
|---|---|---:|---:|---:|
| **LLaMA-2-7B-chat** | *dense FP16* | 6.738 | 6.94 | 9.48 |
| | TR-3 (ours) | 4.023 | 8.34 | 11.10 |
| | SVD-LLM | 4.022 | 11.49 | 15.09 |
| | SVD-LLM V2 β‘ | 4.023 | 11.03 | 14.73 |
| | ASVD | 4.023 | 11.22 | 14.18 |
| | TT-3 (open chain) | 4.021 | 12.52 | 15.09 |
| **LLaMA-2-13B-chat** | *dense FP16* | 13.016 | 6.11 | 8.52 |
| | TR-3 (ours) | 7.740 | 6.98 | 9.65 |
| | SVD-LLM | 7.738 | 10.15 | 13.46 |
| | SVD-LLM V2 β‘ | 7.740 | 9.72 | 13.09 |
| | ASVD | 7.736 | 9.13 | 11.88 |
| **LLaMA-2-7B (base)** | *dense FP16* | 6.738 | 5.47 | 7.29 |
| | TR-3 (ours) | 4.023 | 7.28 | 9.58 |
| | SVD-LLM | 4.022 | 10.17 | -- |
| | SVD-LLM V2 β‘ | 4.023 | 9.73 | -- |
| | ASVD | 4.023 | 10.04 | 12.48 |
| **LLaMA-2-13B (base)** | *dense FP16* | 13.016 | 4.88 | 6.74 |
| | TR-3 (ours) | 7.740 | 6.18 | 8.51 |
| | ASVD | 7.746 | 7.97 | 10.44 |
| | SVD-LLM | 7.738 | 9.14 | -- |
| | SVD-LLM V2 β‘ | 7.740 | 8.74 | -- |
| **Qwen2.5-3B** | *dense FP16* | 3.086 | 8.56 | -- |
| | TR-3 (ours) | 2.078 | 11.75 | -- |
| | TT-3 (open chain) | 2.077 | -- | -- |
| | Matrix low-rank β | 2.077 | -- | -- |
| **Qwen2.5-7B** | *dense FP16* | 7.616 | 7.46 | -- |
| | TR-3 (ours) | 5.187 | 9.51 | -- |
### Zero-shot accuracy (%)
| Model | Method | BoolQ | ARC-C | ARC-E | LAMBADA | PIQA | Winogrande | MathQA | Avg |
|---|---|---:|---:|---:|---:|---:|---:|---:|---:|
| **LLaMA-2-7B-chat** | *dense FP16* | 80.58 | 43.26 | 68.39 | 69.82 | 77.04 | 68.35 | 28.48 | 62.27 |
| | TR-3 (ours) | 77.09 | 38.48 | 65.11 | 66.52 | 75.52 | 66.30 | 27.50 | 59.50 |
| | SVD-LLM | 67.98 | 32.76 | 57.20 | 56.76 | 71.55 | 62.19 | 25.49 | 53.42 |
| | SVD-LLM V2 β‘ | 68.90 | 34.30 | 59.30 | 57.29 | 71.65 | 61.25 | 25.66 | 54.05 |
| | ASVD | 69.69 | 33.28 | 57.03 | 55.15 | 71.33 | 60.14 | 24.56 | 53.03 |
| | TT-3 (open chain) | 63.67 | 32.68 | 52.06 | 55.77 | 71.22 | 58.80 | 25.23 | 51.35 |
| **LLaMA-2-13B-chat** | *dense FP16* | 81.96 | 49.91 | 73.40 | 72.79 | 79.33 | 72.85 | 32.86 | 66.16 |
| | TR-3 (ours) | 80.52 | 43.86 | 70.71 | 70.74 | 76.82 | 70.01 | 29.92 | 63.22 |
| | SVD-LLM | 73.64 | 35.41 | 61.03 | 60.59 | 72.74 | 64.48 | 25.93 | 56.26 |
| | SVD-LLM V2 β‘ | 75.14 | 36.35 | 61.99 | 62.47 | 73.34 | 66.14 | 27.14 | 57.51 |
| | ASVD | 74.89 | 36.95 | 64.60 | 61.60 | 74.05 | 65.19 | 26.37 | 57.66 |
| **LLaMA-2-7B (base)** | *dense FP16* | 79.33 | 45.05 | 73.86 | 73.65 | 78.73 | 69.46 | 28.41 | 64.07 |
| | TR-3 (ours) | 70.95 | 39.16 | 65.24 | 68.02 | 75.35 | 64.48 | 25.66 | 58.41 |
| | SVD-LLM | 68.62 | 33.19 | 58.71 | 55.58 | 71.16 | 61.33 | 24.19 | 53.25 |
| | SVD-LLM V2 β‘ | 68.53 | 33.96 | 60.06 | 56.49 | 72.31 | 62.83 | 25.59 | 54.25 |
| | ASVD | 59.54 | 32.17 | 57.83 | 57.83 | 71.49 | 60.14 | 23.92 | 51.85 |
| **LLaMA-2-13B (base)** | *dense FP16* | 82.11 | 48.81 | 76.47 | 76.54 | 80.25 | 72.45 | 31.46 | 66.87 |
| | TR-3 (ours) | 76.21 | 44.11 | 72.43 | 71.74 | 78.51 | 68.67 | 29.65 | 63.05 |
| | ASVD | 74.19 | 38.74 | 68.14 | 66.10 | 75.73 | 65.90 | 25.36 | 59.17 |
| | SVD-LLM | 70.34 | 36.01 | 64.94 | 60.94 | 73.78 | 65.82 | 24.69 | 56.64 |
| | SVD-LLM V2 β‘ | 71.13 | 38.14 | 67.30 | 61.67 | 73.83 | 65.67 | 25.66 | 57.63 |
| **Qwen2.5-3B** | *dense FP16* | 80.09 | 48.04 | 72.90 | 66.12 | 78.29 | 69.38 | 35.61 | 64.35 |
| | TR-3 (ours) | 76.39 | 43.17 | 69.36 | 60.51 | 75.24 | 64.09 | 34.17 | 60.42 |
| | TT-3 (open chain) | 66.88 | 31.14 | 56.19 | 49.16 | 70.40 | 59.12 | 27.64 | 51.50 |
| | Matrix low-rank β | 71.35 | 36.43 | 59.55 | 50.51 | 72.14 | 61.88 | 28.41 | 54.33 |
| **Qwen2.5-7B** | *dense FP16* | 86.42 | 54.86 | 80.93 | 69.77 | 80.36 | 70.56 | 40.37 | 69.04 |
| | TR-3 (ours) | 84.68 | 51.11 | 73.82 | 64.84 | 77.64 | 70.24 | 42.01 | 66.33 |
### Few-shot / generative (%)
| Model | Method | MMLU (5s) | HellaSwag (10s) | TriviaQA (5s) | GSM8K (5s) |
|---|---|---:|---:|---:|---:|
| **LLaMA-2-7B-chat** | *dense FP16* | 47.22 | 78.63 | 57.18 | 22.59 |
| | TR-3 (ours) | 43.21 | 70.75 | 36.93 | 9.40 |
| | SVD-LLM | 39.47 | 57.65 | 16.18 | 2.05 |
| | SVD-LLM V2 β‘ | 40.26 | 58.82 | 18.62 | 0.68 |
| | ASVD | 34.65 | 59.46 | 18.02 | 2.27 |
| | TT-3 (open chain) | 34.25 | 56.38 | 14.48 | 0.76 |
| **LLaMA-2-13B-chat** | *dense FP16* | 53.55 | 82.07 | 65.20 | 35.25 |
| | TR-3 (ours) | 49.69 | 76.46 | 47.81 | 24.11 |
| | SVD-LLM | 44.18 | 63.41 | 21.57 | 0.15 |
| | SVD-LLM V2 β‘ | 44.77 | 64.99 | 24.52 | 0.15 |
| | ASVD | 41.43 | 68.01 | 29.71 | 7.51 |
| **LLaMA-2-7B (base)** | *dense FP16* | 45.97 | 78.95 | 64.39 | 13.12 |
| | TR-3 (ours) | 39.49 | 71.11 | 39.75 | 6.52 |
| | SVD-LLM | 32.74 | 58.36 | 16.43 | 1.59 |
| | SVD-LLM V2 β‘ | 34.33 | 59.36 | 19.34 | 1.97 |
| | ASVD | 26.58 | 61.21 | 20.69 | 1.29 |
| **LLaMA-2-13B (base)** | *dense FP16* | 55.54 | 82.14 | 70.69 | 23.28 |
| | TR-3 (ours) | 50.46 | 77.04 | 50.96 | 14.33 |
| | ASVD | 42.44 | 70.15 | 35.50 | 5.23 |
| | SVD-LLM | 42.70 | 63.80 | 21.87 | 4.25 |
| | SVD-LLM V2 β‘ | 44.67 | 65.00 | 24.49 | 4.93 |
| **Qwen2.5-3B** | *dense FP16* | 66.42 | 75.26 | 45.78 | 10.31 |
| | TR-3 (ours) | 56.02 | 66.39 | 27.61 | 41.32 |
| | TT-3 (open chain) | 41.97 | 51.65 | 11.86 | 9.78 |
| | Matrix low-rank β | 45.44 | 57.16 | 11.51 | 15.85 |
| **Qwen2.5-7B** | *dense FP16* | 74.27 | 81.37 | 53.17 | 75.74 |
| | TR-3 (ours) | 65.43 | 75.20 | 40.79 | 66.34 |
β `Matrix low-rank` on Qwen2.5-3B is our own internal matrix-factorisation ablation, not a published method.
β‘ Official SVD-LLM V2 code was never released; these are our faithful implementation of the published algorithms. Its close agreement with the official SVD-LLM v1 rows (within ~1.5 pp on every zero-shot task) is the evidence that the re-implementation is sound.
**GSM8K on Qwen2.5 uses lm-eval's `strict-match` filter, which is fragile to output formatting on this model family.** Under `strict-match` the dense Qwen2.5-3B teacher scores 10.31 while its compressed student scores 41.32; under `flexible-extract` the same teacher scores 63.46. The Qwen GSM8K column should therefore not be read as a capability ranking. LLaMA-2 rows are unaffected (strict and flexible agree to <0.2 pp on the dense teachers).
|