【免费下载链接】K2-Horizon-3.7B-4bit
K2-Horizon-3.7B-4bit 是 IFM K2-Horizon-3.7B 的MLX 4-bit 混合精度量化版,专为 Apple 芯片(Apple Silicon)打造:3.7B 参数的稠密推理模型,支持512K(524,288 token)上下文窗口,磁盘占用仅4.1 GB,短提示词下峰值内存4.3 GB,16 GB 的 Mac 也能流畅运行。本文将带你快速了解它的规格、量化方案、性能表现与上手方法。
一、K2-Horizon-3.7B-4bit 是什么?
一句话概括:这是 IFM 出品的 K2-Horizon 家族中最小的稠密(dense)推理模型,经过 MLX 4-bit 量化后可在本地 Mac 上高速推理。
核心特性一览:
| 项目 | 说明 |
|---|---|
| 基座模型 | IFM/K2-Horizon-3.7B(本仓库为其 4-bit 量化版) |
| 架构类型 | k2_horizon,decoder-only 稠密模型,36 层 |
| 参数量 | 约 50.6 亿(5,058,255,360,见 model.safetensors.index.json) |
| 隐藏层维度 | 2560,FFN 中间层 10240,32 个注意力头 / 8 个 KV 头 |
| 上下文窗口 | 512K tokens(524,288) |
| 词表大小 | 250,624 |
| 量化方案 | 4-bit + 8-bit 混合精度(有效 6.5 bit/权重) |
| 磁盘大小 | 4.1 GB |
| 峰值内存 | 4.3 GB(短提示词) |
| 运行环境 | Apple Silicon + mlx-lm |
| 许可证 | Apache-2.0 |
📌 它属于 K2-Horizon 系列中的"小钢炮":推理能力完整保留,体积极小,速度极快。
二、为什么采用"混合精度"量化?
这是本仓库最值得新手学习的设计点。很多人以为"4-bit 模型 = 所有权重都压到 4-bit",但对这个模型来说,粗暴的纯 4-bit 会让质量明显下滑。
官方方案是根据实测选择混合精度(整数仿射量化,bf16 存储 scale 与 bias):
- 4-bit(group size 32):MLP 权重(
gate_proj、up_proj、down_proj),它们占参数的大头,是压缩收益最大的部分; - 8-bit(group size 64):其余部分,包括注意力、embedding 和
lm_head。
效果对比(WikiText-2 困惑度相对 bf16 的损失):
- 纯 4-bit(全部 4-bit,group 64):+21.5%—— 损失过大
- 本仓库混合方案:+4.4%—— 在体积和质量之间取得良好平衡
这一量化配置完整记录在 config.json 的quantization字段中,每个权重的 bits 和 group_size 一目了然。
三、性能与内存实测:三个版本横向对比
在Mac Studio M4 Max 128GB上,同一方法测得三个量化版本的数据(数据来自 README.md):
| 指标 | bf16 | 8-bit | 4-bit(本仓库) |
|---|---|---|---|
| Bits/weight | 16 | 8.5 | 6.5 |
| 磁盘占用 | 10.1 GB | 5.4 GB | 4.1 GB |
| 峰值内存 | 10.2 GB | 5.5 GB | 4.3 GB |
| WikiText-2 困惑度 | 17.552 | 17.544(-0.05%) | 18.324(+4.4%) |
| 生成速度 | 50.3 tok/s | 84.2 tok/s | 109.6 tok/s |
💡 结论非常直观:4-bit 版本速度最快(近 110 tok/s),体积最小,质量损失控制在可接受范围。对本地部署而言,"体积减半、速度翻倍"是它的核心卖点。
关于 512K 长上下文的内存提醒:KV cache 在 bf16 下每个 token 约 144 KB,128K tokens 就约 18 GB。也就是说——模型本体虽小,长上下文会额外吃内存。可以用--max-kv-size限制 KV 缓存上限,或在支持的环境用--kv-bits 8对 KV cache 做量化来进一步省内存。
四、快速上手:mlx-lm 一键运行
由于 mlx-lm 尚未内置k2_horizon架构支持,本仓库自带 MLX 模型代码k2_horizon.py,并通过 config.json 中的model_file字段让 mlx-lm 自动加载。因此只需安装最新版 mlx-lm 即可运行:
pip install -U mlx-lm运行生成时需要加--trust-remote-code(较新版本的 mlx-lm 必须加,旧版 0.31.3 可不加):
mlx_lm.generate --model mlx-community/K2-Horizon-3.7B-4bit --trust-remote-code --prompt "Explain mixture-of-experts in two sentences." --max-tokens 2048也可以在 Python 中调用:
from mlx_lm import load, generate model, tokenizer = load("mlx-community/K2-Horizon-3.7B-4bit", trust_remote_code=True) messages = [{"role": "user", "content": "Explain mixture-of-experts in two sentences."}] prompt = tokenizer.apply_chat_template(messages, add_generation_prompt=True) print(generate(model, tokenizer, prompt, max_tokens=2048))mlx_lm.chat和mlx_lm.server同样支持--trust-remote-code参数,可直接起一个本地对话服务。
五、推理模型的正确打开方式:reasoning_effort
⚡ K2-Horizon 是一个推理(reasoning)模型——它在回答前会先"思考",思考内容包裹在<ifm|think> … </ifm|think>标签内。使用时有两个实用技巧:
1. 给思考留足 token 预算
max_tokens要预留空间给思考过程,否则回答可能被截断。
2. 调节思考力度(reasoning_effort)
通过 chat template 参数reasoning_effort控制思考深度,取值有三种:
| 取值 | 对应模板标签 | 适合场景 |
|---|---|---|
"high"(默认) | <ifm|think> | 复杂推理、数学、代码 |
"medium" | <ifm|think_fast> | 中等难度任务 |
"low" | <ifm|think_faster> | 快速问答、节省 token |
示例:apply_chat_template(messages, add_generation_prompt=True, reasoning_effort="low")
该逻辑定义在 chat_template.jinja 末尾的模板中。此外,本仓库对原始 chat template 做了一个小修正:当历史 assistant 消息缺少 thinking 字段时(OpenAI 风格客户端常这样发送),模板会渲染为空思考而不是报错。
六、仓库文件档案一览
本仓库结构非常精简,每个文件的职责如下:
| 文件 | 作用 |
|---|---|
| README.md | 完整说明文档:量化方案、内存、基准测试、用法 |
| config.json | 模型架构配置 + 逐权重量化设置(4/8-bit 分配) |
| k2_horizon.py | MLX 版模型实现,由config.json的model_file指向并自动加载 |
| chat_template.jinja | 对话模板,含reasoning_effort思考力度与工具调用格式 |
| tokenizer.json / tokenizer_config.json | 分词器及其配置 |
| generation_config.json | 生成配置(BOS/EOS token) |
| model.safetensors | 量化后的模型权重(4.1 GB) |
| model.safetensors.index.json | 权重索引与元信息(总大小、总参数量) |
值得一提的是,k2_horizon.py 是经过严格验证的移植:用真实权重在 fp32 下与 IFM 官方 PyTorch 实现逐层比对,36 层全部吻合(相对误差 ≤ 4e-6),贪心解码 256 个 token 与参考实现逐个一致;转换后用官方样例做了冒烟测试(17 * 23→391、"capital of Australia" →Canberra)。
七、已知注意事项
- 服务端思考输出:mlx-lm 目前不识别
<ifm|think>标签,mlx_lm.server会把思考文本放在content字段内(</ifm|think>之前),而非单独的reasoning字段; - 工具调用:K2-Horizon 的 tool-call 格式尚未被 mlx-lm 解析;
- 版本兼容:mlx-lm 正式支持
k2_horizon架构后,本仓库将切换为官方实现; - 选型建议:困惑度只是粗略信号,建议在自家任务上实测不同量化版本再决定(官方还提供 bf16 与 8-bit 版本可选)。
总结
K2-Horizon-3.7B-4bit 是一个为 Apple 芯片本地推理量身打造的小模型方案:
- ✅512K 超长上下文,可处理超长文档;
- ✅4-bit 混合量化,4.1 GB 磁盘、4.3 GB 峰值内存,16 GB Mac 可跑;
- ✅109.6 tok/s的本地生成速度,体验接近即时;
- ✅推理能力完整保留,支持三档思考力度灵活调节。
如果你想在 MacBook / Mac mini / Mac Studio 上本地跑一个又快又省、还能深度思考的推理模型,它是非常值得尝试的选择。
【免费下载链接】K2-Horizon-3.7B-4bit
相关推荐
K2-Horizon-MoVA-36B-A4B-oQ4e 是什么?1篇看懂 36B 稀疏 MoE + 512K 长上下文推理模型
K2 Horizon MoVA 36B A4B oQ4e 是什么?1篇看懂 36B 稀疏 MoE + 512K 长上下文推理模型 K2 Horizon MoVA
QwQ-32B-AWQ:4-bit量化的超强推理模型
QwQ 32B AWQ:4 bit量化的超强推理模型 Qwen系列推出AWQ 4 bit量化的QwQ 32B推理模型,在保持高性能推理能力的同时实现显存占用大幅
大模型深度学习Accelerate 模型量化实战:基于 bitsandbytes 的 8-bit / 4-bit 模型加载与推理
Accelerate 模型量化实战:基于 bitsandbytes 的 8 bit / 4 bit 模型加载与推理 导读 本文围绕 HuggingFace Ac
人工智能分布式训练深度学习机器学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考