Bielik-Minitron-7B: Compressing Large Language Models via Structured Pruning and Knowledge Distillation for the Polish Language
论文笔记:Bielik-Minitron-7B
元信息
| 项目 | 内容 |
|---|---|
| 机构 | Bielik.AI, NVIDIA, Ingenix.ai, Vstorm, Azurro.pl, ACK Cyfronet AGH, Jagiellonian University |
| 日期 | March 2026 |
| 项目主页 | — |
| 对比基线 | Bielik-11B-v3.0 |
| 链接 | arXiv / Code: — |
一句话总结
通过两阶段结构化混合剪枝+知识蒸馏将 Bielik-11B 压缩至 7.35B,保留 90.1% 性能同时实现 49.6% 推理加速,面向波兰语 LLM 高效部署。
核心贡献
混合剪枝策略(Hybrid Pruning): 同时剪枝 depth(50→40 层)和 FFN intermediate dimension(14336→11264),参数减少 33.4%
无梯度激活分析: 仅用前向传播激活估计各结构重要性,无需反向传播,大幅降低剪枝计算开销
完整多阶段对齐流水线: 蒸馏后依次经过 SFT → DPO-P → GRPO,在波兰语/英语任务上恢复并超越多个更大模型
问题背景
要解决的问题
大参数量 LLM(11B+)在消费级 GPU(RTX 3090/4090, 16-24GB VRAM)上无法直接部署,尤其是小语种(波兰语)领域缺乏高效模型
现有方法的局限
SparseGPT 等非结构化剪枝需要专用稀疏硬件才能实际加速
单一维度剪枝(仅 depth 或仅 width)在压缩率与精度之间难以平衡
针对英语优化的压缩模型对波兰语等低资源语言效果衰减明显
本文的动机
Minitron 方法在 Nemotron-4 15B→4B 压缩上验证了多轴结构化剪枝的可行性;本文将该方法适配到波兰语 LLM,并结合 NVIDIA 生产级基础设施实现端到端压缩部署
方法详解
整体框架
两阶段压缩:
Stage I: 结构化混合剪枝 — 基于激活的重要性分析 → 多配置架构搜索 → 选定最优剪枝方案
Stage II: 知识蒸馏 → SFT → DPO-P → GRPO 对齐流水线
Stage I:结构化剪枝
重要性估计(无梯度)
对校准数据集执行前向传播,收集各维度激活统计:
Depth Pruning: 使用Block Influence(BI)度量层重要性,BI 低的 Transformer block 被移除
Width Pruning: 基于激活幅值估计 hidden dimension 和 FFN intermediate dimension 的逐神经元重要性
架构搜索
共设计 10 个实验配置(EXP_001 ~ EXP_010),系统探索不同 depth / width 组合:
| 实验 | Hidden | Intermediate | Layers | 参数量 (B) |
|---|---|---|---|---|
| Original | 4096 | 14336 | 50 | 11.04 |
| EXP_001 | 3072 | — | — | 8.28 |
| EXP_002 | — | 9216 | — | 7.90 |
| EXP_003 | — | — | 36 | 7.99 |
| EXP_004 | — | 12288 | 40 | 7.85 |
| EXP_005 | — | 10240 | — | 8.52 |
| EXP_006 | — | 11264 | 44 | 8.07 |
| EXP_007 | 3648 | 12800 | 44 | 7.92 |
| EXP_008 | — | — | 32 | 7.11 |
| EXP_009 | — | 8192 | — | 7.26 |
| EXP_010 | 4096 | 11264 | 40 | 7.35 |
EXP_010 被选为”Golden Ratio”:保持原始 hidden dimension(),仅压缩 depth 和 FFN intermediate。EXP_009(激进 width 压缩)导致训练不稳定;EXP_006(保守压缩)性能恢复不够充分。
保留结构:Multi-Head Attention topology、RoPE 位置编码、hidden dimension
Stage II:知识蒸馏 + 对齐
Teacher: Bielik-11B-v3.0(参数冻结)
Student: 以 EXP_010 剪枝后存活权重初始化
蒸馏目标:仅用 logit-level 前向 KL 散度,无 ground-truth 标签监督。
蒸馏完成后依次执行:
- SFT: 3 epochs,~20M 波兰语/英语指令对,最大序列长度 32,768
- DPO-P: 3 epochs,114K 偏好标注样本
- GRPO: 143K 任务样本,可验证奖励函数(verifiable reward)
关键公式
公式1: Block Influence(BI)度量
含义: 衡量第 个 Transformer block 对隐状态的实际改变量;BI 接近 0 表示该层对特征几乎无贡献,可安全移除
符号说明:
- : 第 个样本在第 层的隐状态
- : 校准样本数
公式2: Hidden Dimension 重要性
含义: 对所有层、所有样本的第 个 hidden 神经元激活幅值求均值后平方求和,值越大表示该维度越重要
符号说明:
- : 第 层第 个样本第 个隐神经元的激活值
- : 总层数
公式3: FFN Intermediate 重要性
含义: 与 hidden 重要性类似,但针对 FFN 中间层神经元
公式4: Logit-KL 蒸馏损失
含义: 以温度缩放后的 teacher logit 分布为目标,最小化 student 与 teacher 输出分布的 KL 散度;无需 ground-truth 标签,仅需校准数据前向传播
符号说明:
- : teacher logits
- : student logits
- : 温度超参数,用于平滑概率分布
- : softmax 函数
公式5(参考背景): Wanda 重要性评分
含义: 将权重幅值与对应输入激活的 L2 范数相乘,比纯幅值剪枝更准确地识别重要权重
符号说明:
- : 第 行第 列权重
- : 对应输入激活
公式6(参考背景): SparseGPT 权重更新
含义: 剪掉第 个权重后,用 Hessian 逆矩阵对同行其他权重做最优补偿更新
符号说明:
- : 被剪掉的权重值
- : 输出误差关于权重的 Hessian 逆矩阵
公式7(参考背景): LLM-Pruner 群重要性
含义: 一个结构组 (如一个 attention head 或 MLP 通道)的重要性为组内所有权重梯度幅值之和
关键图表
Figure 1: 蒸馏收敛曲线
说明: 展示 EXP_006、EXP_009、EXP_010 三个候选架构在蒸馏阶段的 loss 曲线。所有配置均从约 1.12 单调下降至约 0.89(共 8,000 步),证明训练稳定性;EXP_009(激进 width 压缩)收敛更慢,最终选择 EXP_010。
图片暂无在线外链,来自论文 Section 5.2。
Table 1: 剪枝方法横向对比
| 方法 | 粒度 | 重要性度量 | 需要重训练 | 单次剪枝 | 硬件友好 |
|---|---|---|---|---|---|
| Magnitude | 非结构化 | 幅值 | 否 | 是 | 否 |
| SparseGPT | 非结构化 | Hessian | 否 | 是 | 否 |
| Wanda | 非结构化 | 幅值×激活 | 否 | 是 | 否 |
| ShortGPT | 结构化(层) | Block Influence | 否 | 是 | 是 |
| LLM-Pruner | 结构化 | 梯度 | 是(LoRA) | 否 | 是 |
| Sheared LLaMA | 结构化 | 可学习掩码 | 是 | 否 | 是 |
| Minitron | 结构化(多轴) | 激活 | 是(KD) | 否 | 是 |
Table 2: 候选剪枝配置(见方法部分)
(已在方法详解中完整呈现)
Table 3: 关键候选方案对比
| 实验 | 参数量 | 压缩率 | 修改 | 状态 |
|---|---|---|---|---|
| Original | 11.04B | — | 基线 | 基线 |
| EXP_006 | 8.07B | 26.9% | Layers 44, Intermediate 11264 | 次优(压缩不足) |
| EXP_009 | 7.26B | 34.2% | Intermediate 8192 | 不稳定 |
| EXP_010 | 7.35B | 33.4% | Layers 40, Intermediate 11264 | 选定 |
Table 4: 整体性能恢复分析
| 任务类别 | 恢复率 | 指标 |
|---|---|---|
| 综合平均 | 90.1% | 平均 Benchmark 准确率 |
| Open PL LLM Leaderboard | 94.7% | 平均分 |
| Polish EQ-Bench | 90.0% | 平均分 |
| CPTUB | 90.6% | 平均分 |
| Polish Medical Leaderboard | 88.3% | 准确率 |
| INCLUDE-base-44 | 88.6% | 区域知识 |
| Belebele | 94.0% | 阅读理解 |
| FLORES 机器翻译 | 80.8% | BLEU |
| EuroEval | 91.4% | 平均分 |
| BFCL | 92.3% | 平均分 |
Table 5: Open PL LLM Leaderboard(5-shot 波兰语 NLP)
| 模型 | 参数量 | 平均分 |
|---|---|---|
| Bielik-11B-v3.0-Instruct | 11.2B | 65.93 |
| Bielik-Minitron-7B-v3.0-Instruct | 7.35B | 62.46 |
| Qwen3-14B | 14B | 62.24 |
| gemma-3-12b-it | 12B | 62.20 |
| Qwen2.5-7B | 7B | 54.93 |
| Mistral-7B-v0.3 | 7B | 47.74 |
Table 6: Polish EQ-Bench(情感推理)
| 模型 | 参数量 | 分数 |
|---|---|---|
| Bielik-11B-v3.0-Instruct | 11.2B | 71.20 |
| Bielik-Minitron-7B-v3.0-Instruct | 7.35B | 64.09 |
| glm-4-9b-chat | 9.0B | 61.79 |
| Mistral-Nemo-Instruct-2407 | 12.2B | 61.76 |
Table 7: CPTUB(复杂波兰语文本理解)
| 类别 | Minitron-7B | Teacher-11B |
|---|---|---|
| 综合平均 | 3.38 | 3.73 |
| 语言理解 | 3.83 | 3.91 |
| 情感 | 3.72 | — |
| 蕴含/推断 | 3.59 | — |
| phi-4 (15B) | 3.30 | — |
| Qwen2.5-7B | 3.07 | — |
Table 8: Polish Medical Leaderboard(LEK/PES 医学考试)
| 模型 | 参数量 | 准确率 |
|---|---|---|
| Bielik-11B-v3.0-Instruct | 11.2B | 50.21% |
| Bielik-Minitron-7B-v3.0-Instruct | 7.35B | 44.36% |
| Mistral-Small-Instruct-2409 | 22.2B | 43.60% |
| Qwen2.5-7B | 7B | 42.69% |
Table 9: INCLUDE-base-44(多语言区域知识)
| 模型 | 平均分 | 波兰语分 |
|---|---|---|
| Bielik-11B-v3.0-Instruct | — | 69.0 |
| Bielik-Minitron-7B-v3.0-Instruct | 57.4 | 59.3 |
| Llama-3.1-8B | 55.3 | — |
| EuroLLM-9B | 55.1 | — |
Table 10: Belebele(28 语言阅读理解)
| 模型 | 参数量 | 分数 |
|---|---|---|
| Bielik-11B-v3.0-Instruct | 11.2B | 82.98 |
| Bielik-Minitron-7B-v3.0-Instruct | 7.35B | 78.03 |
| Mistral-Nemo-Instruct-2407 | 12B | 74.14 |
| EuroLLM-9B | 9B | 69.05 |
Table 11: FLORES 机器翻译(20 语言对 BLEU)
| 模型 | 参数量 | 平均 BLEU | →波兰语 | 波兰语→ |
|---|---|---|---|---|
| EuroLLM-9B-Instruct | 9B | 20.61 | 19.28 | 21.95 |
| Bielik-11B-v3.0-Instruct | 11B | 19.22 | 18.54 | 19.91 |
| phi-4 | 15B | 15.58 | 14.55 | 16.61 |
| Bielik-Minitron-7B-v3.0-Instruct | 7B | 15.53 | 15.74 | 15.32 |
| Qwen3-14B | 14B | 15.37 | 14.18 | 16.56 |
Table 12: EuroEval 细粒度恢复分析
| 类别 | 指标 | Teacher (11B) | Student (7.35B) | Δ | 恢复率 |
|---|---|---|---|---|---|
| 常识推理 | MCC | 48.77 | 36.44 | -12.33 | 74.71% |
| 常识推理 | Accuracy | 69.85 | 62.70 | -7.15 | 89.75% |
| 欧洲价值观 | Score | 11.52 | 10.28 | -1.24 | 89.24% |
| 知识 | MCC | 49.75 | 38.39 | -11.35 | 77.18% |
| 知识 | Accuracy | 62.30 | 53.81 | -8.49 | 86.37% |
| 语言可接受性 | MCC | 45.10 | 39.83 | -5.27 | 88.32% |
| 语言可接受性 | Macro F1 | 69.35 | 65.96 | -3.39 | 95.11% |
| 命名实体识别 | micro F1 | 52.83 | 53.52 | +0.70 | 101.32% |
| 情感分类 | Macro F1 | 72.54 | 71.17 | -1.37 | 98.11% |
| 摘要生成 | BERTscore | 64.84 | 64.78 | -0.06 | 99.91% |
| 综合平均 | 91.38% |
Table 13: 量化性能(Open PL LLM Leaderboard)
| 模型 | 参数量 | 平均准确率 |
|---|---|---|
| Bielik-11B-v3.0-Instruct | 11.2B | 65.93% |
| Bielik-Minitron-7B-v3.0-Instruct (bf16) | 7.35B | 62.46% |
| Q6_K (6-bit GGUF) | 7.35B | 62.29% |
| Q8_0 (8-bit GGUF) | 7.35B | 62.06% |
| Q4_K_M (4-bit GGUF) | 7.35B | 61.89% |
| FP8 (weight-activation) | 7.35B | 61.53% |
| NVFP4 (weight-activation) | 7.35B | 60.14% |
关键发现: Q4_K_M(4-bit)仅下降 0.91%,极适合消费级 GPU 部署;NVFP4 下降 3.71% 是最大损耗
Table 14: 各训练阶段性能演化
| 阶段 | Open LLM EN | Open LLM PL |
|---|---|---|
| 剪枝 & 蒸馏 | 60.04 | 50.67 |
| SFT | 66.30 | 62.26 |
| DPO-P | 66.54 | 62.50 |
| GRPO | 66.60 | 62.46 |
关键发现: SFT 贡献最大增益(波兰语 +11.59 pp),DPO-P 和 GRPO 提供增量改进
Table 15: BFCL 函数调用能力
| 模型 | 参数量 | Non-Live Multi AST | Non-Live Parallel AST | Non-Live Parallel Multi AST | Live Simple AST |
|---|---|---|---|---|---|
| Bielik-Minitron-7B | 7.3B | 94.50% | 92.00% | 85.00% | 71.32% |
| Bielik-11B-v3.0-Instruct (FC) | 11.0B | 96.00% | 88.00% | 82.00% | 79.07% |
| Gemma-3-12b-it | 12.0B | 95.00% | 90.00% | 73.00% | 84.88% |
| Open-Mistral-Nemo-2407 | 12.2B | 93.50% | 85.50% | 85.00% | 77.13% |
Table 16: 推理性能基准(NVIDIA RTX PRO 6000 Max-Q, bf16, 单流)
| 模型 | 吞吐量 (tok/s) ↑ | 中位 TTFT (ms) ↓ | 中位 TPOT (ms) ↓ |
|---|---|---|---|
| Bielik-11B-v3.0 (bf16) | 54.42 | 24.64 | 18.28 |
| Bielik-Minitron-7B-v3.0 (bf16) | 81.41 | 27.29 | 12.32 |
吞吐量提升: 49.6%(54.42 → 81.41 tok/s)
TPOT 改善: 32.6%(18.28 → 12.32 ms)
TTFT 略增: +2.65 ms(可接受的小代价)
实验
数据集
| 数据集 | 规模 | 特点 | 用途 |
|---|---|---|---|
| Bielik Dataset | 8.0M 波兰语/英语样本 | 双语 | 蒸馏校准 |
| 指令数据集 | ~20M 对 | 波兰语/英语指令 | SFT |
| 偏好数据集 | 114K 样本 | 偏好标注 | DPO-P |
| GRPO 数据集 | 143K 样本 | 可验证奖励 | GRPO |
实现细节
Backbone: Bielik-11B-v3.0(基于 Mistral 架构,50 层 Transformer)
优化器: AdamW + Cosine Annealing(LR: 1.5×10⁻⁴ → 1.5×10⁻⁵)
蒸馏时长: 每个候选 48-72 小时;全搜索约 3 周
硬件: 2 × H200 节点(共 16 GPU,DGX Cloud Lepton),每 GPU 141GB HBM3e,4.8 TB/s 带宽
GPU 利用率: 90%
框架: NVIDIA NeMo v24.09 + NVIDIA Model Optimizer
可视化结果
NER(命名实体识别)和情感分类任务上,7B student 超过或基本追平 11B teacher,说明蒸馏+对齐对这类任务尤其有效
机器翻译(FLORES)恢复率最低(80.8%),是主要短板
批判性思考
优点
多轴混合剪枝比单一维度剪枝更灵活,通过系统性架构搜索找到”最佳点”而非经验猜测
无梯度激活分析使剪枝阶段无需完整反向传播,工程实现简单高效
量化友好: Q4_K_M 仅损失 0.91%,实际部署门槛极低(消费级 GPU 可运行)
波兰语特化: 在多个波兰语 benchmark 上超越参数量更大的通用模型(如 Mistral-Small 22B)
局限性
机器翻译能力明显下降(FLORES BLEU 恢复率仅 80.8%),深度减少可能损害跨语言序列生成的长程依赖
常识推理 MCC 恢复率仅 74.71%,说明结构化剪枝对需要多步推理的任务损伤更大
搜索成本高: 10 个候选方案各需 48-72 小时,总计约 3 周 H200 集群时间,对资源有限的团队难以复现
依赖 NVIDIA 生态: 整个流程深度绑定 NeMo / Model Optimizer,可迁移性有限
潜在改进方向
引入 layer-wise 自适应剪枝率(不同层使用不同压缩力度),可能进一步降低常识推理的性能损失
机器翻译短板可通过专项 SFT 数据或翻译专项奖励(GRPO)改善
探索 width + depth 协同搜索的自动化 NAS 方法,减少人工指定候选方案的工程成本
可复现性评估
- 代码开源(未提供)
- 预训练模型(论文未明确提及公开权重)
- 训练细节完整(优化器、LR、数据量均有说明)
- 数据集可获取(部分 benchmark 公开)
关联笔记
基于
Minitron: 核心压缩方法来源,Nemotron-4 15B→4B 的经验
ShortGPT: Block Influence depth pruning 度量
LLM-Pruner: 结构化剪枝参考方法
对比
SparseGPT: 非结构化剪枝基线,硬件不友好
Wanda: 非结构化剪枝,幅值×激活评分
方法相关
结构化剪枝: 核心技术路线
知识蒸馏: 蒸馏恢复阶段
Block Influence: depth pruning 的重要性度量
depth pruning: 层级剪枝
width pruning: 神经元/通道级剪枝
硬件/数据相关
H200 GPU: 蒸馏所用硬件,HBM3e 内存容量是关键
速查卡片
Bielik-Minitron-7B
- 核心: 两阶段混合剪枝(50层→40层 + FFN 14336→11264)+ logit KD,参数减少 33.4%
- 方法: 无梯度激活重要性分析 → 系统架构搜索 → KD + SFT + DPO-P + GRPO
- 结果: 保留 90.1% 性能,推理吞吐提升 49.6%,Q4_K_M 量化损失 <1%
- 代码: 未开源
笔记创建时间: 2026-03-15