Views
No views yet
When Does One-Shot Pruning Beat Iterative Optimisation? Second-Order Correction for Sparse LLMs on Neuromorphic Hardware
Kimia Gholami et al., NeurIPS 2026 submission
| Metric | Value |
|---|---|
| WikiText-2 PPL (dense) | 14.18 |
| WikiText-2 PPL (sparse) | 19.02 |
| Sparsity | 50% |
| ARC-Easy | 0.461 |
| ARC-Challenge | 0.261 |
| HellaSwag | 0.427 |
| PIQA | 0.669 |
| WinoGrande | 0.525 |
| LAMBADA | 0.230 |
| Average | 0.429 |
k = floor(d_in * 0.5) weights are zeroed
per output row in every linear layer. All 24 transformer blocks are pruned,
including recurrent projections (i_proj, f_proj, g_proj, o_proj) and
MLP layers (gate_proj, up_proj, down_proj), as well as lm_head.1import torch
2import fla
3from fla.models.hgrn import HGRNConfig, HGRNForCausalLM
4from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer
5
6AutoConfig.register("hgrn", HGRNConfig, exist_ok=True)
7AutoModelForCausalLM.register(HGRNConfig, HGRNForCausalLM, exist_ok=True)
8
9model_id = "ikimyaii/hgrn-1.3B-obs-cancel-block-50pct"
10tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
11model = AutoModelForCausalLM.from_pretrained(
12 model_id,
13 torch_dtype=torch.bfloat16,
14 trust_remote_code=True,
15).cuda()pip install flash-linear-attention