HuggingFace镜像/gemma-4-21b-a4b-it-REAP
模型介绍文件和版本分析
下载使用量0

Gemma 4 21B-A4B-it REAP

使用**Cerebras REAP(基于路由权重的专家激活剪枝)对google/gemma-4-26b-a4b-it进行20%专家剪枝**的版本。

原始模型本模型(0.20)0.30 变体
总参数~260亿213.4亿190.2亿
每 layer 专家数12810390
每 token 激活参数~40亿~40亿~40亿
每 token 专家数888
格式BF16BF16BF16
磁盘大小~52 GB~43 GB~36 GB

REAP 移除了 20% 的 MoE 专家(每层 128 个专家中移除 25 个),同时保留了模型的路由行为。由于路由仍从剩余专家池中为每个 token 选择 8 个专家,因此每 token 的激活参数数量保持不变。这使得总磁盘/内存占用减少约 18%。

本模型的构建过程

步骤 1:校准(激活观察)

我们在精心挑选的校准数据集上运行完整的 Gemma 4 26B-A4B-it 模型,以记录专家激活模式。观察钩子捕获所有校准 token 在每一层的路由门控值、专家激活范数和路由频率。

校准数据集:22,000 个样本,来源于 12 个数据源,涵盖编码、推理、数学、科学、工具调用和智能体任务:

类别样本数源数据集
通用编码1,000theblackcat102/evol-codealpaca-v1
补充编码1,636theblackcat102/evol-codealpaca-v1
推理 - 代码3,480open-r1/Mixture-of-Thoughts[code]
推理 - 数学3,578open-r1/Mixture-of-Thoughts[math]
推理 - 科学3,576open-r1/Mixture-of-Thoughts[science]
工具调用1,000Salesforce/xlam-function-calling-60k
智能体编码1,000SWE-bench/SWE-smith-trajectories
生物医学问答800qiaojin/PubMedQA[pqa_labeled]
科学问答800derek-thomas/ScienceQA
小学数学4,466openai/gsm8k[main]
竞赛数学500HuggingFaceH4/MATH-500
代码正确性164evalplus/humanevalplus
总计22,000

步骤 2:REAP 剪枝

利用记录的激活数据,REAP 通过结合路由门值、专家激活范数和频率加权显著性,对每一层中每个专家的重要性进行评分。评分最低的 20% 专家(每层 25 个)将被移除。剪枝后对路由 logits 进行重新归一化,以保持输出分布。

剪枝配置

参数值
压缩率0.20(移除 20% 的专家)
每层原始专家数量128
每层剩余专家数量103
剪枝方法REAP
距离度量角度(余弦)
路由权重重新归一化是
随机种子42

基准测试结果

准确率(生成式,0 样本,50 样本/任务,启用思考模式,vLLM 0.19,4x RTX 3090)

使用 lm-eval 生成式任务进行评估,参数为 --apply_chat_template 和 think_end_token=<channel|>,以正确处理 Gemma 4 的思考模式。通过正则表达式匹配从模型响应中提取分数。

任务原始模型REAP 0.20REAP 0.30
小学数学92%90%88%
哲学92%88%74%
世界宗教90%64%48%
大学计算机科学56%76%68%
高中数学24%*44%*48%*
抽象代数12%*28%*28%*
大学数学16%*18%*24%*
GSM8K86%84%--

* 这些任务存在显著的提取失败情况(模型输出方程式而非单个字母)。所有模型的实际准确率可能更高。

注意:

  • Gemma 4 是一个思考型模型——它在回答前会进行内部推理。基于标准对数似然的基准测试会给出错误结果,因为模型希望先进行思考。
  • GSM8K 使用 flexible-extract,能很好地处理思考输出。
  • 大学计算机科学和数学任务显示 REAP 有时优于原始模型,这可能是由于 n=50 时的采样方差。

生成质量:并排比较(14 个提示,温度=0.7,top_p=0.9,最大 2048 个 tokens)

原始模型和 REAP 0.20 模型在 14 个具有挑战性的提示上进行了测试,涵盖编码、数学、哲学、长上下文和重复压力场景,并使用正确的聊天模板格式。

领域数量原始模型平均词数REAP 平均词数原始模型循环REAP 循环原始模型崩溃REAP 崩溃
编码36706480%0%0%0%
数学推理32962610%0%0%0%
哲学38197270%0%0%0%
长上下文2121085450%0%0%0%
重复压力31088109933%33%0%0%

12/14 次完全持平,1 次 REAP 胜出(长上下文),1 次双方轻微循环(排序算法)。 REAP 0.20 模型在生成质量上与原始模型基本无法区分。

架构

Gemma 4 采用混合滑动/全注意力 MoE 架构:

  • 30 个 transformer 层
  • 25 层采用滑动注意力(窗口=1024),每第 6 层采用全注意力
  • MoE FFN,每层包含 103 个保留专家(原始为 128 个),每个 token 激活 8 个专家
  • 思维模型——使用 <|channel>thought / <|channel>response 通道
  • 多模态——支持文本和视觉输入
  • 上下文窗口:262,144 个 token
  • 词汇表大小:262,144

使用方法

Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "0xSero/gemma-4-21b-a4b-it-REAP"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto", trust_remote_code=True)

messages = [{"role": "user", "content": "Write a quicksort in Python."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=4096)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

vLLM

pip install vllm>=0.19 transformers>=5.0

vllm serve 0xSero/gemma-4-21b-a4b-it-REAP \
    --tensor-parallel-size 2 \
    --enforce-eager \
    --gpu-memory-utilization 0.9 \
    --max-model-len 16384 \
    --trust-remote-code

引用

@inproceedings{lasby2025reap,
  title={{REAP} the Experts: Why Pruning Prevails for One-Shot {MoE} Compression},
  author={Lasby, Mike and others},
  booktitle={International Conference on Learning Representations (ICLR)},
  year={2026},
  url={https://arxiv.org/abs/2510.13999}
}

链接

  • REAP 论文: arxiv.org/abs/2510.13999
  • REAP 代码: github.com/cerebras/reap
  • 30% 剪枝变体: 0xSero/gemma-4-19b-a4b-it-REAP
  • 基础模型: google/gemma-4-26b-a4b-it