MobileMoE 是一族端侧 Mixture-of-Experts(MoE)语言模型,具有低于十亿激活参数,旨在推动端侧 LLM 的质量—效率帕累托前沿,包含三个模型规模(S/M/L):0.3B/0.5B/0.9B 激活参数(1.3B/2.8B/5.3B 总参数),并具备小于 3 GB 的 INT4 权重占用,以适配移动端 DRAM。每个规模均发布三种变体:Base 模型(预训练 + 中期训练)、SFT 模型(监督微调)和 QAT 模型(量化感知训练)。您当前位于 MobileMoE-M-Base 仓库——预训练的 0.5B 激活参数基础模型。
| S | M | L | |
|---|---|---|---|
| 激活 / 总参数 | 272M / 1.3B | 528M / 2.8B | 922M / 5.3B |
| 层数 | 20 | 26 | 32 |
| 模型维度 | 768 | 1024 | 1280 |
| 注意力头(Q / KV) | 12 / 4 | 16 / 4 | 20 / 4 |
| 路由专家 | 60 | 60 | 60 |
| Top-k | 4 | 4 | 4 |
| INT4 权重占用 | 0.68 GB | 1.48 GB | 2.75 GB |
| Base | MobileMoE-S-Base | MobileMoE-M-Base | MobileMoE-L-Base |
| SFT | MobileMoE-S-SFT | MobileMoE-M-SFT | MobileMoE-L-SFT |
| QAT (INT4) | MobileMoE-S-QAT | MobileMoE-M-QAT | MobileMoE-L-QAT |
如需详细技术报告:📝 MobileMoE:扩展端侧 Mixture of Experts
如需查看更多版本,请访问 🤗 MobileMoE 合集

MobileMoE 为端侧 LLM 建立了新的帕累托前沿。 在 14 项涵盖常识、知识、科学、理解与推理的基准上计算的平均基准精度,分别与(a)单 token 推理计算量 Finf = 2Nact(GFLOPs)和(b)总参数量 Ntotal(B)作图;在(b)中,x 轴刻度标签显示总参数量(B) | 预计 INT4 内存占用(GB)。
模型: MobileMoE-M-Base(预训练 + 中期训练)
激活参数: 528M
总参数: 2.8B
层数: 26
模型维度: 1024
注意力头: 16
KV 头: 4(GQA)
头维度: 64
路由专家: 60(细粒度,每个 FFN 隐藏维度 512)
每 token 激活专家数: 4(top-k sigmoid 路由,带归一化)
共享专家: 1,始终开启(FFN 隐藏维度 2048)
词汇表大小: 128,256
其他特性: QK-Norm、输入/输出嵌入绑定、RoPE(θ = 500,000)
输入模态: 文本
输出模态: 文本
语言: 英语
训练阶段: 预训练 → 中期训练
上下文长度: 8,192 tokens
精度: BF16
模型开发者: Meta
模型发布日期: 2026 年 8 月
许可证: MobileMoE 采用 FAIR NC 许可
以下所有数值均对应 基础(预训练) 模型,并使用 lm-eval 在相同设置下通过贪心解码重新评测;少样本数量以括号形式标注在基准测试名称之后,未标注的基准测试采用 0-shot 评测。
| 能力 | 基准测试 | Gemma 3 270M | SmolLM2 360M | MobileMoE-S | Qwen3.5 0.8B | MobileMoE-M |
|---|---|---|---|---|---|---|
| 激活 / 总参数 | 270M | 362M | 272M / 1.3B | 749M | 528M / 2.8B | |
| 常识推理 | HellaSwag | 41.4 | 56.5 | 58.9 | 54.9 | 68.3 |
| PIQA | 68.3 | 71.7 | 75.4 | 71.3 | 77.5 | |
| SIQA | 40.2 | 40.7 | 46.8 | 42.1 | 50.2 | |
| WinoGrande | 53.7 | 59.0 | 58.6 | 59.9 | 61.6 | |
| 知识 | MMLU (5-shot) | 26.7 | 25.2 | 43.7 | 48.2 | 54.7 |
| NaturalQuestions (5-shot) | 4.1 | 7.4 | 12.6 | 6.2 | 20.9 | |
| TriviaQA (5-shot) | 14.3 | 26.8 | 33.2 | 19.5 | 49.0 | |
| 科学 | ARC-Challenge (25-shot) | 29.4 | 40.5 | 46.5 | 44.0 | 51.0 |
| ARC-Easy | 56.8 | 68.1 | 73.9 | 67.6 | 79.4 | |
| OpenBookQA | 30.4 | 37.6 | 34.6 | 36.0 | 39.4 | |
| 阅读理解 | BoolQ | 58.3 | 61.8 | 60.2 | 74.6 | 75.1 |
| DROP (3-shot) | 14.2 | 17.9 | 39.0 | 39.6 | 58.5 | |
| 推理 | BIG-Bench Hard (3-shot) | 29.5 | 31.7 | 31.8 | 40.9 | 37.7 |
| GSM8K (8-shot) | 1.8 | 5.3 | 36.2 | 44.1 | 51.6 | |
| 平均 | 33.5 | 39.3 | 46.5 | 46.4 | 55.4 |
MobileMoE 采用四阶段训练流程。该 checkpoint 是阶段 2(mid-training)的输出。
| Pre-training | Mid-training | SFT | QAT | |
|---|---|---|---|---|
| 上下文长度 | 2,048 | 8,192 | 8,192 | 8,192 |
| 总词元数 | ~6T | ~500B | ~126B | ~21B |
| 峰值学习率 | 4×10-4 | 4×10-5 | 4×10-6 | 4×10-6 |
| LR schedule | Cosine | Linear | Cosine | Cosine |
| Token dispatch | drop-and-pad | drop-and-pad | dropless | dropless |
MobileMoE 采用自定义架构(model_type: mobilemoe),该架构尚未纳入上游 transformers,因此需要设置 trust_remote_code=True。建模代码随本仓库提供(configuration_mobilemoe.py、modeling_mobilemoe.py)。
pip install "torch>=2.1" "transformers>=4.57" "safetensors>=0.4" "accelerate>=1.0"已在以下版本中验证:
| 包 | 版本 |
|---|---|
torch | 2.8.0 (cu128) |
transformers | 4.57.6 |
tokenizers | 0.22.2 |
safetensors | 0.7.0 |
accelerate | 1.13.0 |
批量评估时,推荐使用 vLLM(≥ 0.10.2),并设置 enforce_eager=True。
这是一个基础模型——没有聊天模板,也未经过指令微调。请以纯文本续写的方式进行提示:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
MODEL_ID = "facebook/MobileMoE-M-Base"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
trust_remote_code=True,
dtype=torch.bfloat16,
)
model.to("cuda" if torch.cuda.is_available() else "cpu")
model.eval()
prompt = "Why are open-source on-device language models great?"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
input_ids=inputs["input_ids"],
attention_mask=inputs["attention_mask"],
max_new_tokens=64,
do_sample=False,
temperature=None,
top_p=None,
pad_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))已知问题。 在 transformers 4.57.6 中加载 tokenizer 时,会打印 fix_mistral_regex=True 警告。请忽略该警告,不要设置该标志,因为 MobileMoE 使用的是 Llama-3 tokenizer,其默认分词已经正确。
@article{chen2026mobilemoe,
title={MobileMoE: Scaling On-Device Mixture of Experts},
author={Chen, Yanbei and Huang, Hanxian and Chang, Ernie and Szwejbka, Jacob and Desai, Digant and Liu, Zechun and Chandra, Vikas and Krishnamoorthi, Raghuraman},
journal={arXiv preprint arXiv:2605.27358},
year={2026}
}MobileMoE 依据 FAIR Noncommercial Research License 发布。