这是一份社区贡献:作者把 MiniCPM5-1B 打包成 .litertlm,用 Google 的 LiteRT-LM 在 Android、iOS、桌面和 IoT 设备上端侧运行,推理不用联网。另外,作者自己测了 MiniCPM5-1B 在西班牙语、加泰罗尼亚语、巴斯克语和加利西亚语上的 0-shot 表现。
这是个人社区贡献,并非 OpenBMB 或 Google 的官方发布。官方的 INT4(
wi4b32)版本体积更小,可在 litert-community/MiniCPM5-1B 获取。
文件说明
| 文件 | 内容 | 适用人群 |
|---|---|---|
MiniCPM5-1B.litertlm | 开箱即用的模型(INT8,约 1.1 GB) | 所有人都适用,默认选它 |
chat_template.jinja | 对话格式(运行时自动使用) | 进阶 / 参考 |
快速开始
桌面端,一条命令跑起来:
uv tool install litert-lm
uvx litert-lm run --from-huggingface-repo=luispoveda93/MiniCPM5-1B MiniCPM5-1B.litertlm --prompt="What is the capital of France?"
Android 手机:
- 安装 Google AI Edge Gallery 应用。
- 打开 Model manager → “+” → Import from HF,粘贴本仓库链接并下载
MiniCPM5-1B.litertlm。
模型参数
MiniCPM5-1B 是 OpenBMB 的 1B 级纯解码器模型(标准 LlamaForCausalLM),面向本地助手、编程 Agent 和工具调用,支持混合思考模式和长上下文。
| 项目 | 数值 |
|---|---|
| 参数量 | 1,080,632,832(约 1B) |
| 层数 | 24 |
| 注意力(GQA) | 16 个 query 头 / 2 个 KV 头 |
| 上下文长度 | 131,072 |
| 量化 | INT8 动态范围(权重),FP32 激活 |
| Signatures | prefill_128、prefill_512、decode(KV cache 1280) |
推荐采样参数(来自源模型卡):
| 模式 | 参数 | 开关 |
|---|---|---|
| Think | temperature=0.9, top_p=0.95 | enable_thinking=True |
| No Think | temperature=0.7, top_p=0.95 | enable_thinking=False |
构建过程
从 BF16 源模型 openbmb/MiniCPM5-1B 出发,用 Google AI Edge 工具链转换:
- 重写与 TFLite 转换:用
ai-edge-torch的 Generative API。MiniCPM5-1B 能直接对上标准纯解码器结构(hidden 1536、24 层、GQA 16/2、head_dim 128、RMSNorm 1e-6、RoPE θ=5e6、非共享lm_head、词表 130560)。 - 量化:INT8 动态范围、仅权重量化。
- 打包:使用
litert-lm-builder,原生minicpm5运行时类型,沿用源 Hugging Face tokenizer;起始 token 为<s>,停止 token 为[1, 130073](</s>、<|im_end|>),启用thought推理通道,并在ExecutorMetadata中声明全部 48 个 KV cache 状态缓冲区(端侧 prefill 所必需)。 - 验证:拿重写后的模型和原始
transformers实现对比,最后一个 token 的 logits 余弦相似度 1.0000,argmax 一致,top-5 重合 5/5,参数量完全一致。打包后的文件也用litert-lm run实际跑过,生成结果正确,推理通道解析符合预期。
社区评测:西班牙语、加泰罗尼亚语、巴斯克语、加利西亚语(0-shot)
该部分为社区补充,不在官方 MiniCPM5-1B 模型卡中,由本仓库维护者独立测得,不代表 OpenBMB 官方结果。
这个 1B 模型预训练以中英文为主,作者想知道它在西班牙几种官方语言上表现如何。任务选择完全沿用 Salamandra-2b-instruct 模型卡 的做法:Salamandra 是 2.25B 模型,预训练时对这些语言做了 2 倍过采样。评测用同一套 LM Evaluation Harness 任务集(SpanishBench、CatalanBench、BasqueBench、GalicianBench),0-shot,套上对话模板。跑的是 BF16 源模型(openbmb/MiniCPM5-1B),不是本仓库的端侧 .litertlm。Salamandra-2B 那一列直接抄自公开模型卡,没有重跑。
加粗表示 MiniCPM5-1B 追平或超过 Salamandra-2B-instruct 的公开基线。
西班牙语
| 类别 | 任务 | 指标 | MiniCPM5-1B | Salamandra-2B |
|---|---|---|---|---|
| 常识推理 | xstorycloze_es | acc | 51.69 | 61.95 |
| NLI | wnli_es | acc | 43.66 | 49.30 |
| NLI | xnli_es | acc | 42.49 | 48.52 |
| 复述 | paws_es | acc | 57.30 | 57.10 |
| 问答 | xquad_es | f1(见注) | 0.00 | 29.60 |
| 翻译 | flores_es | bleu | 0.00 | 15.92 |
注:Salamandra 模型卡中该任务的指标标为“acc”;但已安装的 xquad_es 任务只计算 f1/exact_match,因此 MiniCPM5-1B 报告的是 f1。
加泰罗尼亚语
| 类别 | 任务 | 指标 | MiniCPM5-1B | Salamandra-2B |
|---|---|---|---|---|
| 常识推理 | copa_ca | acc | 50.80 | 71.00 |
| 常识推理 | xstorycloze_ca | acc | 48.64 | 61.61 |
| NLI | wnli_ca | acc | 54.93 | 56.34 |
| NLI | xnli_ca | acc | 37.83 | 52.54 |
| 复述 | parafraseja | acc | 56.75 | 64.48 |
| 复述 | paws_ca | acc | 56.45 | 60.30 |
| 问答 | arc_ca_easy | acc | 28.87 | 52.15 |
| 问答 | arc_ca_challenge | acc | 20.22 | 30.03 |
| 问答 | openbookqa_ca | acc | 21.80 | 29.20 |
| 问答 | piqa_ca | acc | 53.32 | 63.93 |
| 问答 | siqa_ca | acc | 33.76 | 42.32 |
| 翻译 | flores_ca | bleu | 0.00 | 20.04 |
巴斯克语
| 类别 | 任务 | 指标 | MiniCPM5-1B | Salamandra-2B |
|---|---|---|---|---|
| 常识推理 | xcopa_eu | acc | 48.20 | 55.20 |
| 常识推理 | xstorycloze_eu | acc | 49.77 | 55.26 |
| NLI | wnli_eu | acc | 52.11 | 52.11 |
| NLI | xnli_eu | acc | 33.91 | 45.89 |
| 问答 | eus_exams(见注) | acc | 24.40 | 24.94 |
| 问答 | eus_proficiency | acc | 24.28 | 25.15 |
| 问答 | eus_trivia | acc | 30.44 | 27.35 |
| 阅读理解 | eus_reading | acc | 25.85 | 28.69 |
| 翻译 | flores_eu | bleu | 0.00 | 7.93 |
注:eus_exams 是由 29 个考试子任务组成的任务组,MiniCPM5-1B 的分数为按样本数加权的子任务平均值。
加利西亚语
| 类别 | 任务 | 指标 | MiniCPM5-1B | Salamandra-2B |
|---|---|---|---|---|
| 复述 | parafrases_gl | acc | 52.72 | 53.40 |
| 复述 | paws_gl | acc | 53.95 | 56.85 |
| 问答 | openbookqa_gl | acc | 21.60 | 26.20 |
| 翻译 | flores_gl | bleu | 0.00 | 17.53 |
解读
MiniCPM5-1B 没有针对西班牙语、加泰罗尼亚语、巴斯克语或加利西亚语的定向预训练数据。巴斯克语和加利西亚语上的差距,以及所有 FLORES/BLEU 翻译任务(每种语言上都接近 0),都是数据不匹配的正常结果,不是端侧转换的问题。这份对比只是给考虑在这些语言上使用 MiniCPM5-1B 的人做个参考,并不表示能和 Salamandra 的官方成绩打平。
链接
- Hugging Face:luispoveda93/MiniCPM5-1B
- 官方 INT4 LiteRT 版本:litert-community/MiniCPM5-1B
- 源模型:openbmb/MiniCPM5-1B
