| # DynRank: Compressed Model Checkpoints |
|
|
| Hardened SVD-compressed LLM checkpoints from the DynRank paper: |
| **"DynRank: Differentiable Rank Allocation with Joint SVD Factor Training for LLM Compression"** |
|
|
| ## Checkpoint Format |
|
|
| Each `.pt` file is a dictionary: |
| ```python |
| { |
| "step": 1000, |
| "ranks": [r_1, r_2, ..., r_224], # per-sublayer integer ranks |
| "state_dict": {...}, # model weights (CompressedLinear format) |
| "val_loss": float |
| } |
| ``` |
|
|
| Weight keys use `CompressedLinear` format: |
| - `model.layers.{i}.self_attn.q_proj.first.weight` — B matrix (r × n) |
| - `model.layers.{i}.self_attn.q_proj.second.weight` — A matrix (d × r) |
|
|
| ## Loading |
|
|
| ```python |
| import torch |
| ckpt = torch.load("path/to/v8_hardened_step1000.pt", map_location="cpu") |
| ranks = ckpt["ranks"] # list of 224 integers |
| state_dict = ckpt["state_dict"] |
| ``` |
|
|
| To use with SVD-LLM's `CompressedLinear`: |
| ```python |
| from src.model.replace import CompressedLinear |
| # See https://github.com/zhc1212/SVD-LLM for full loading code |
| ``` |
|
|
| ## Directory Structure |
|
|
| ``` |
| baselines/ # Rank profile JSONs (ASVD, Dobi-SVD proxy, SVD-LLM V2) |
| phase5a/ # Early TinyLlama logs (no model weights) |
| phase5b_llama2/ # Main experiments (LLaMA-2-7B, LLaMA-7B, Mistral-7B, LLaMA-2-13B) |
| phase5e_qwen3/ # Qwen3-8B experiments |
| ``` |
|
|
| ### phase5b_llama2 key models |
| |
| | Directory | Model | Method | Ratio | Notes | |
| |-----------|-------|--------|-------|-------| |
| | `v9_r04` | LLaMA-2-7B | DynRank | 0.4 | Primary result (seed=42) | |
| | `static_r04` | LLaMA-2-7B | Static uniform | 0.4 | Matched baseline | |
| | `v9_r04_s3/s4_refill/s5` | LLaMA-2-7B | DynRank | 0.4 | Multi-seed (43,44,47) | |
| | `v9_r02/r08` | LLaMA-2-7B | DynRank | 0.2/0.8 | Ratio sweep | |
| | `llama7b_v9_r04` | LLaMA-7B | DynRank | 0.4 | Cross-model | |
| | `mistral_v9_r04` | Mistral-7B | DynRank | 0.4 | Cross-model | |
| | `llama2_13b_v9_r04` | LLaMA-2-13B | DynRank | 0.4 | Scale test | |
| | `baseline_dobi_r04` | LLaMA-2-7B | Dobi-SVD profile | 0.4 | Baseline comparison | |
| | `baseline_asvd_r04_v2` | LLaMA-2-7B | ASVD-STRS profile | 0.4 | Baseline comparison | |
| | `h2_oracle_llama2_r04` | LLaMA-2-7B | Oracle static | 0.4 | H2 ablation | |
| | `gsm8k_dynrank_r04` | LLaMA-2-7B | DynRank (GSM8K calib) | 0.4 | Domain analysis | |
|
|
| ### JSON files |
|
|
| `cross_eval_*.json` — perplexity evaluation results (WT2, C4, LAMBADA) |
| `downstream7_*.json` — zero-shot accuracy on 6 tasks |
|
|
| ## Citation |
|
|
| ```bibtex |
| @article{zhang2026dynrank, |
| title={DynRank: Differentiable Rank Allocation with Joint SVD Factor Training for LLM Compression}, |
| author={Zhang, Huicheng}, |
| year={2026} |
| } |
| ``` |
|
|
| ## License |
|
|
| Model weights are derivatives of: |
| - LLaMA / LLaMA-2 (Meta Community License) |
| - Mistral-7B (Apache 2.0) |
| - Qwen3-8B (Qwen License) |
|
|
| Use subject to the original model licenses. |
|
|