MiLM-6B 是小米集团于 2024 年 7 月开源的自研大语言模型,参数规模 67 亿,是小米首个对外公开的 LLM。它以中文知识密集型任务和数学推理见长:在 CMMLU 中文知识基准上取得 52.16 分,达到同量级开源模型最优;在 GSM8K 数学推理基准上,配合思维链(Chain-of-Thought,CoT)提示可达到 68.56 分。模型上下文长度支持至 32K token,可处理长文本文档,采用 Apache 2.0 协议,允许免费商用。 需要特别注意的是,官方已在 GitHub 仓库声明 MiLM-6B 退役(Retired),后续研发已转向 MiMo 与 MiMo-VL 系列。但这不影响 MiLM-6B 作为学习 6B 级中文模型部署、评测与微调流程的参考价值——它仍是理解「中文语料预训练 + 数学推理优化」这一技术路线的重要样本。 本文档从速览卡、安装配置、快速上手、核心能力、生产部署、选型对比、应用场景与常见误区八个维度展开,读者按章节操作即可完成从下载到部署的全流程。

岗位关联

掌握 6B 级开源中文模型的部署评测全流程,理解小米 LLM 从 MiLM 到 MiMo 的演进脉络,是入门轻量级 LLM 工程化的典型样本。

目录
  1. 为什么需要 MiLM-6B:中文知识与数学推理的 6B 级缺口
  2. 安装与环境配置:4 步就绪
  3. 快速上手:10 分钟跑通第一个问答
  4. 核心能力详解:3 大支柱
  5. 生产部署与监控:从上线到运维
  6. 版本迭代
  7. AI 应用场景
  8. 常见误区
  9. 面试题
工具类型
开源大语言模型(LLM)
开发商
小米集团(Xiaomi)
开源协议
Apache 2.0(可商用)
GitHub Stars
无
主要语言
Python(推理)· 模型支持中英双语
当前版本
2024-07 发布(唯一版本,官方已宣布退役)
安装方式
pip 依赖 + 模型权重加载(transformers / ModelScope)
下载地址
无
官方文档
无
上手难度
★★☆☆☆(较低,加载即可用)
适合人群
中文 NLP 工程师·数学推理应用开发·端侧模型研究者
同类工具
Qwen1.5-7B·ChatGLM3-6B·Baichuan2-7B
托管服务
无

速览卡是工具类内容的固定首屏模块:30 秒判断「这工具是什么、能不能商用、适不适合我」。

为什么需要 MiLM-6B:中文知识与数学推理的 6B 级缺口

2024 年中期,6B-7B 量级的开源模型中,通用对话能力百花齐放,但「中文知识准确率」和「数学分步推理」两个硬指标兼备的模型并不多。部分模型中文表现好但数学推理薄弱,部分模型数学强但依赖英文语料撑起知识面。与此同时,6B 量级是消费级硬件(24GB 显存单卡)能完整部署与微调的上限,具备明确的工程价值。

MiLM-6B 的解法是:在预训练阶段以中文语料为主体,并针对数学题库做定向优化。最终 CMMLU 中文知识基准 52.16 分、GSM8K 数学基准直接提示 56.50 分,引入 CoT 后提升至 68.56 分。这些指标在同一参数量级中均处前列,且模型权重以 Apache 2.0 协议开源,可自由商用。

与同期同类模型相比,MiLM-6B 的气质更「专」:它不追求通用对话和代码生成的全能表现,而是锚定中文知识问答与数学链路推理两个单项。代价是生态互操作性弱——分词器与 LLaMA 不通用,无法直接复用 LLaMA 系列微调权重。因此它更适合垂直业务验证与教育、文档智能等场景的研究。

安装与环境配置:4 步就绪

第一步创建 Python 3.10+ 虚拟环境并安装依赖。MiLM-6B 的模型代码以自定义 modeling 文件形式随权重发布,需要 transformers 配合 trust_remote_code 机制加载。

第二步下载权重。权重以 bf16 格式存储约 13GB,可从 Hugging Face 或 ModelScope 获取。使用 Hugging Face CLI:

国内网络环境推荐 ModelScope:

第三步验证加载。注意 trust_remote_code=True 必须显式声明,否则无法加载自定义模型代码。

bash3 行
python -m venv milm-envsource milm-env/bin/activatepip install transformers accelerate torch
bash2 行
huggingface-cli loginhuggingface-cli download XiaomiMiLM/MiLM-6B --local-dir ./MiLM-6B
bash2 行
pip install modelscopemodelscope download --model XiaomiMiLM/MiLM-6B --local_dir ./MiLM-6B

快速上手:10 分钟跑通第一个问答

最小可用流程只需三步:加载分词器与模型、构造输入、调用 generate 生成。加载时务必设置 trust_remote_code=True;生成时显式指定 eos_token_id 与 pad_token_id,可避免模型因停止符缺失而无限生成。

完整可运行示例(与官方 README 示例一致):

预期输出 The capital of France is Paris.。进阶技巧:数学题建议在提示词中要求「分步解答」(CoT),可显著提升准确率;追求结果稳定时用贪心解码,追求多样性时设置 temperature=0.3, top_p=0.8。推理完成后注意释放显存:del model; torch.cuda.empty_cache()。

python20 行
from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(    "XiaomiMiLM/MiLM-6B", trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained(    "XiaomiMiLM/MiLM-6B",    torch_dtype="auto", device_map="auto", trust_remote_code=True,)model.eval() prompt = "The capital of France is"inputs = tokenizer(prompt, return_tensors="pt").to(model.device)outputs = model.generate(    **inputs,    max_new_tokens=20,    eos_token_id=tokenizer.eos_token_id,    pad_token_id=tokenizer.pad_token_id,)print(tokenizer.decode(outputs[0], skip_special_tokens=True))

核心能力详解:3 大支柱

支柱一·中文知识密集型任务。MiLM-6B 在 CMMLU(中文大规模多任务语言理解基准,涵盖人文社科、理工等 67 个中文主题)上取得 52.16 分,发布时为同量级开源模型最优。这得益于预训练阶段的中文语料倾斜策略,使模型在中文事实性问答、知识抽取等任务上具备扎实的知识底座。

支柱二·数学链路推理。GSM8K(小学数学应用题基准)上,直接提示词得分 56.50,加入 CoT 提示后升至 68.56,提升约 12 个百分点。模型具备将自然语言问题转化为分步计算链的能力,官方同时发布了中文数学题库评测说明,表示涵盖小学至高中知识的中文数学测试中表现领先同量级模型。这一支柱使它在教育自动答疑、数学数据增强等场景有明确落点。

支柱三·32K 长上下文与推理配置。MiLM-6B 原生支持 32K token 长文本输入,实现方式是将旋转位置编码(RoPE,一种通过旋转矩阵注入位置信息的位置编码方法)的 base 频率调整至 500000,以扩展位置外推范围。用户需在长文本场景下按官方说明调整推理配置,而非简单地调长 max_new_tokens。这使其可单次处理约 2 万中文字符的文档级输入。

生产部署与监控:从上线到运维

部署方式一·FastAPI 服务化封装。将模型常驻内存,对外提供 HTTP 接口,是多业务共用的最简架构。单卡 24GB 显存可容纳 bf16 权重推理,服务启动时加载一次权重,后续请求复用。

启动命令 uvicorn server:app --host 0.0.0.0 --port 8000。生产环境建议在接口层增加 prompt 长度校验(限制在 32K token 内)与并发排队机制。

部署方式二·多卡与离线批处理。单卡显存不足时可使用 device_map="auto" 自动切分到多张 GPU。对离线批量任务(如历史文档批量理解),建议按批次处理并复用长生命周期进程,避免反复加载权重。批处理时设置 pad_token_id=tokenizer.pad_token_id 以对齐序列长度。

可观测性。监控四个指标:首 token 延迟(直接影响对话体感)、生成吞吐(token/s)、显存占用与生成 token 数分布。日志中至少记录 prompt 长度、生成长度与耗时,用于定位慢请求与超长生成。建议在服务层做超时熔断,单请求生成上限根据业务设置 512-2048 token。

<p class=“para-label“>避坑清单:</p><ul class=”dash-list”><li>坑 1:不要把 LLaMA 权重(含 Llama-2、Code Llama 的 LoRA 适配器)直接加载到 MiLM-6B——二者分词器不同、词表不匹配,轻则报错重则输出乱码,官方已明确说明不可复用。</li><li>坑 2:生成时必须设置 eos_token_id 与 pad_token_id,否则模型可能不输出停止符,导致接口无限生成直至达到 max_new_tokens。</li><li>坑 3:32K 上下文不是开箱即用,需按官方说明调整 RoPE 配置,直接塞入长文可能导致位置编码外推失效、效果明显下降。</li><li>坑 4:模型已退役,GitHub 仓库不再维护,新项目直接评估 MiMo 系列;若坚持使用 MiLM-6B,需自行承担依赖兼容性维护。</li><li>坑 5:首次加载需联网下载 13GB 权重并信任远程代码,离线环境必须提前将权重与 modeling 文件本地化,否则启动失败。</li></ul>

python25 行
# server.pyfrom fastapi import FastAPIfrom pydantic import BaseModelfrom transformers import AutoModelForCausalLM, AutoTokenizer app = FastAPI()tokenizer = AutoTokenizer.from_pretrained("XiaomiMiLM/MiLM-6B", trust_remote_code=True)model = AutoModelForCausalLM.from_pretrained(    "XiaomiMiLM/MiLM-6B", torch_dtype="auto",    device_map="auto", trust_remote_code=True,) class Req(BaseModel):    prompt: str    max_new_tokens: int = 256 @app.post("/generate")def generate(req: Req):    inputs = tokenizer(req.prompt, return_tensors="pt").to(model.device)    out = model.generate(        **inputs, max_new_tokens=req.max_new_tokens,        eos_token_id=tokenizer.eos_token_id,        pad_token_id=tokenizer.pad_token_id,    )    return {"text": tokenizer.decode(out[0], skip_special_tokens=True)}
维度MiLM-6BQwen1.5-7BChatGLM3-6BBaichuan2-7B
定位数学推理 + 中文知识专项通用中英双语底座中文对话 + 工具调用通用中文底座
编排范式单模型加载(transformers/ModelScope)单模型 + 官方生态工具链单模型 + 官方 WebUI/API单模型 + 官方微调脚本
类型约束分词器与 LLaMA 不兼容,不可复用 LLaMA 权重架构独立,生态最广自研 GLM 架构,闭环生态LLaMA 类架构,兼容性较好
学习曲线低,两行代码加载低,文档齐全低,官方一键部署低,社区教程多
生态集成Hugging Face / ModelScope,框架支持有限vLLM/TensorRT-LLM/千问全家桶,支持最广官方 WebUI/API/Agent 框架vLLM/微调工具链成熟
生产部署FastAPI 自封装,无官方推理服务vLLM 高吞吐,成熟方案多官方部署方案 + 第三方封装vLLM 等主流框架支持
LicenseApache 2.0Apache 2.0Apache 2.0Apache 2.0
适合谁中文知识/数学专项、研究验证通用 RAG/Agent 产品开发对话产品与工具调用场景中文语料微调与垂直落地

选型建议:通用 RAG/Agent 开发首选 Qwen1.5-7B,生态与部署方案最成熟;对话产品看重工具调用选 ChatGLM3-6B;中文数学专项或教育场景可评估 MiLM-6B,但需接受其已退役、生态有限的现状;Baichuan2-7B 适合需要 LLaMA 类架构兼容性的中文微调项目。

版本迭代

MiLM-6B 是小米开源的首个大语言模型,2024 年 7 月发布唯一正式版本后即停止迭代。2024 年底至 2025 年,小米相继推出 MiMo 与 MiMo-VL 系列,MiLM-6B 的 GitHub 仓库随之标注退役状态。该模型的定位是技术验证与起步探索,而非长期维护的产品线。

版本时间变化提升
MiLM-6B v1(首发)2024-07开源权重、推理代码与评测数据67 亿参数,CMMLU 52.16、GSM8K(CoT)68.56、32K 上下文,Apache 2.0
基准MiLM-6B
CMMLU52.16中文知识基准,发布时同量级开源最优
GSM8K(直接提示)56.50数学推理,zero-shot 设置
GSM8K(CoT 提示)68.56数学推理,引入思维链后提升约 12 个百分点
MMLU52.17英文通用知识基准,表现均衡
结论

MiLM-6B 仅有一代版本且官方已宣布退役,不建议新项目直接采用。但其评测数据揭示了小米模型迭代的两个方向——中文知识密度优先、数学推理能力强化,这两点延续到了后续 MiMo 系列。选型时若必须在 MiLM-6B 与 MiMo-1.5B/4B 之间选择,优先评估 MiMo。

AI 应用场景

中文知识问答与教育题库

阶段:RAG 管道构建 / 文档智能

解决的问题:通用英文模型在中文事实问答上准确率偏低,且缺乏数学分步推理能力。MiLM-6B 以中文语料为主预训练,CMMLU 达同量级最优,配合 CoT 提示可完成数学题的步骤化解答。

具体案例:某教育科技团队以 MiLM-6B 作为习题自动解答基座,对初中数学应用题配合「请分步解答」提示词,GSM8K 风格题目准确率较直接提问提升约 12 个百分点;结合外部知识库可扩展至理科知识点问答。

消费级硬件上的模型原型验证

阶段:模型微调 / 推理部署

解决的问题:大参数模型动辄需要多卡 A100,业务验证成本高。6B 模型可在 24GB 显存单卡完成推理与 LoRA 微调,用于快速验证垂直任务基线。

具体案例:在金融中文语料上使用 LoRA 微调 MiLM-6B 验证合同条款分类效果,单卡 V100 即可完成训练,验证周期从周级缩短至天级;确认任务价值后再迁移至更大规模模型。

长文档中文理解

阶段:文档智能

解决的问题:传统方案需对长文档切片后多次调用模型再聚合,存在信息割裂。MiLM-6B 支持 32K 上下文,可单次处理约 2 万字中文文档。

具体案例:合同审核场景中,将 1.5 万字的中文采购合同全文输入,一次推理完成关键条款抽取与风险点标注,省去切片重排的工程复杂度。

常见误区

误区大家都说 MiLM-6B 基于 LLaMA 架构,那把 Llama-2 或 Code Llama 的 LoRA 权重直接加载到 MiLM-6B 上应该也能跑吧?

正解不可以。MiLM-6B 虽然基于 LLaMA 类架构,但分词器(tokenizer,将文本切分为子词单元的组件)与原始 LLaMA 完全不通,词表大小不同。直接加载会导致嵌入层维度不匹配报错,强行映射后也会因 token 切分不一致产生乱码输出。若要复用,需重新训练嵌入层并建立词表映射,成本接近重新微调。

为何常见:架构名相同(都叫 LLaMA 类)让人误以为权重完全兼容,忽略了分词器这一关键差异。

误区MiLM-6B 发布时关注度很高,应该会像其他开源模型一样持续发布 v2、v3 版本吧?

正解官方已在 GitHub README 中明确标注 MiLM-6B 为退役状态(Retired),后续研发资源已转向 MiMo 与 MiMo-VL 系列。新项目应直接评估 MiMo-1.5B、MiMo-4B、MiMo-7B 等后续模型,MiLM-6B 仅适合作为研究参考或存量系统维护。

为何常见:模型发布时的热度容易让人误判维护预期,实际开源社区的关注很快转移到了迭代版本上。

误区官方说支持 32K 上下文,那把 3 万字长文直接传进去,模型应该就能完整理解了吧?

正解32K 支持需要前提条件。官方通过将 RoPE base 频率调整至 500000 实现长文本位置外推,用户需在推理时按此配置调整,否则长文本输入会导致位置编码混乱、生成质量显著下降。直接调大 max_new_tokens 并不会自动获得 32K 的上下文理解能力。

为何常见:宣传数字容易让用户忽略配置前提,误以为长上下文是模型默认行为。

误区MiLM-6B 中文知识同量级最优、数学推理又强,那写代码、英文创作、复杂指令这些也应该不错吧?

正解MiLM-6B 是专项模型而非通用助手。它的优势集中在中文知识问答与数学链路推理,代码生成、复杂指令遵循等通用能力弱于同期 Qwen1.5-7B 等全能模型。用于编程辅助或开放式创作时体验明显不足,应依据任务类型选型而非单看两项指标。

为何常见:CMMLU 和 GSM8K 两项高分容易被放大为「全面领先」,忽略了评测覆盖范围的有限性。

面试题

Q1. MiLM-6B 的参数量级是多少?

单选题 · easy

  • A.15 亿
  • B.67 亿← 正确答案
  • C.130 亿
  • D.720 亿

答案:B。MiLM-6B 参数规模为 67 亿(6.7B),属于 6B 量级模型,这也是它能单卡 24GB 显存部署的关键前提。15 亿对应 1.5B 小模型,130 亿和 720 亿则分别对应 13B 与 72B 量级,均与 MiLM-6B 不符。

Q2. MiLM-6B 由哪家公司发布?

单选题 · easy

  • A.阿里巴巴
  • B.百度公司
  • C.小米集团← 正确答案
  • D.字节跳动

答案:C。MiLM-6B 由小米集团发布,是小米首个开源大语言模型。阿里巴巴发布的是 Qwen 系列,百度发布的是文心系列,字节跳动开源的是豆包(Doubao)系列模型,均与 MiLM 品牌无关。

Q3. MiLM-6B 采用什么开源许可证?

单选题 · easy

  • A.MIT 协议
  • B.Apache 2.0← 正确答案
  • C.GPL 3.0
  • D.自定义商用协议

答案:B。MiLM-6B 采用 Apache 2.0 许可证,允许自由使用、修改、分发和商用,且无需开源衍生作品。MIT 更宽松但官方未采用;GPL 3.0 具有强传染性;自定义商用协议通常限制商用场景,均与事实不符。

Q4. MiLM-6B 在哪个中文知识基准上达到同量级开源模型最优?

单选题 · mid

  • A.MMLU
  • B.GSM8K
  • C.CMMLU← 正确答案
  • D.HumanEval

答案:C。CMMLU 是中文大规模多任务语言理解基准,MiLM-6B 在该基准取得 52.16 分,发布时为同量级开源最优。MMLU 是英文知识基准(MiLM-6B 为 52.17 分),GSM8K 是数学推理基准,HumanEval 是代码生成基准,均非中文知识基准。

Q5. 为什么不能直接加载 LLaMA 系列微调权重到 MiLM-6B?

单选题 · mid

  • A.可以加载,架构完全兼容
  • B.可以加载,但需修改 config 文件
  • C.不可以,分词器与 LLaMA 不同导致词表不匹配← 正确答案
  • D.不确定,取决于 transformers 版本

答案:C。MiLM-6B 虽基于 LLaMA 类架构,但使用的分词器与原始 LLaMA 不同,词表维度不匹配导致嵌入层无法直接加载。这与 transformers 版本无关,是模型权重层面的不兼容。只能通过重新训练嵌入层并映射词表的方式复用,成本接近重新微调。

Q6. MiLM-6B 支持的上下文窗口长度是多少?

单选题 · mid

  • A.8K
  • B.16K
  • C.32K← 正确答案
  • D.128K

答案:C。MiLM-6B 官方宣称支持至 32K token 的上下文长度,可单次处理约 2 万字中文文档。该能力通过调整 RoPE base 频率实现,使用时需按官方说明配置而非开箱即用。8K、16K 小于官方指标,128K 则远超其实际能力。

Q7. 使用 Hugging Face 加载 MiLM-6B 推理时,官方建议的正确做法有哪些?

多选题 · mid

  • A.加载模型和分词器时设置 trust_remote_code=True← 正确答案
  • B.生成时配置 eos_token_id 与 pad_token_id← 正确答案
  • C.中文数学任务建议配合 CoT 分步提示词← 正确答案
  • D.必须使用多卡 GPU 才能完成推理

答案:ABC。MiLM-6B 的模型代码以自定义文件发布,必须设置 trust_remote_code=True 才能加载;设置停止符与填充符可避免生成无法终止;CoT 提示在 GSM8K 上带来约 12 个百分点的提升,是官方推荐做法。6B 模型单张 24GB 显存显卡即可推理,D 错误。

Q8. MiLM-6B 实现 32K 长上下文的主要技术手段是什么?

单选题 · hard

  • A.增大预训练数据规模
  • B.将 RoPE base 频率调整至 500000← 正确答案
  • C.改用 ALiBi 位置编码
  • D.使用稀疏注意力机制

答案:B。MiLM-6B 通过将旋转位置编码(RoPE)的 base 频率从默认值调整至 500000,扩展了位置编码的外推范围,从而支持 32K token 输入。增大数据规模无法改变位置外推上限;ALiBi 是另一种位置编码方案,MiLM-6B 未采用;稀疏注意力是注意力计算优化手段,与位置外推无关。

Q9. 关于 MiLM-6B 的公开评测表现,以下说法正确的是?

多选题 · hard

  • A.CMMLU 得分 52.16,中文知识达同量级开源最优← 正确答案
  • B.GSM8K 直接提示词得分 56.50← 正确答案
  • C.引入 CoT 提示后 GSM8K 提升约 12 个百分点← 正确答案
  • D.代码生成能力达到同量级开源领先水平

答案:ABC。官方公开数据确认为 CMMLU 52.16、GSM8K 直接提示 56.50、CoT 提示 68.56(提升约 12 个百分点)。代码生成能力是 MiLM-6B 的相对短板,官方并未宣称其达到同量级领先水平,D 错误。此题为对模型能力边界的综合考察。

Q10. 在实际部署 MiLM-6B 时,以下哪些判断是正确的?

多选题 · extreme

  • A.权重约 13GB(bf16),单张 24GB 显存显卡可承载推理← 正确答案
  • B.因分词器与 LLaMA 不通用,无法直接复用 LLaMA 微调权重← 正确答案
  • C.官方已宣布模型退役,新项目应评估 MiMo 系列← 正确答案
  • D.32K 上下文无需任何配置,直接传长文本即可使用

答案:ABC。67 亿参数以 bf16 存储约 13GB,单卡 24GB 可推理;分词器差异导致 LLaMA 权重不可复用;GitHub 官方声明 MiLM-6B 已退役并建议使用 MiMo 系列,均为正确判断。32K 上下文需按官方说明调整 RoPE 配置,D 错误。此题综合考察部署容量、兼容性与维护状态。