
代码级拆解mlx-community/LFM2.5-8B-A1B-MLX-8bit短卷积分组注意力混合架构的独特之处【免费下载链接】LFM2.5-8B-A1B-MLX-8bit项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-8B-A1B-MLX-8bitmlx-community/LFM2.5-8B-A1B-MLX-8bit 是 Liquid AI 推出的 LFM2.5 大模型在 MLX 生态下的 8bit 量化版本它最特别的地方在于采用了短卷积 分组注意力混合架构24 层网络中竟有 18 层是短卷积算子、仅 6 层是 GQA 分组注意力配合 32 专家 top-4 的稀疏 MoE做到了 8.3B 总参数、仅 1.5B 激活参数并支持 128K 超长上下文。今天我们就翻开它的 config.json 和 model.safetensors.index.json从代码和权重层面一层层拆开这套独特架构。一张表看懂24 层混合架构的排列规律打开 config.jsonlayer_types数组直接写明了每一层的算子类型这是最直观的代码级证据layer_types: [conv, conv, full_attention, conv, conv, conv, full_attention, conv, conv, conv, full_attention, conv, conv, conv, full_attention, conv, conv, conv, full_attention, conv, conv, full_attention, conv, conv]我用脚本统计后的结果是项目数量分布位置短卷积层conv18 层第 0、1、3、4、5、7、8、9、11、12、13、15、16、17、19、20、22、23 层分组注意力层full_attention6 层第 2、6、10、14、18、21 层规律非常清晰大约每 4 层就插入 1 层全局注意力其余全部用卷积。这与主流注意力为主、偶插卷积的混合模型思路完全相反卷积在这里不是配角而是绝对主力。这种排列的目的很直接注意力负责全局信息建模卷积负责高效的局部特征提取两者各司其职。从权重命名看双门控短卷积in_proj → conv → out_proj 三段式在 model.safetensors.index.json 的权重映射里每个卷积层都挂了 3 组权重例如第 12 层model.layers.12.conv.conv.weight—— 一维卷积核本体model.layers.12.conv.in_proj.weight—— 输入投影model.layers.12.conv.out_proj.weight—— 输出投影这就是 README 中 double-gated short-conv双门控短卷积 的代码来源。它的结构可以理解为输入先经过in_proj做一次带门控的投影变换送入一维卷积提取局部特征再经out_proj投影回模型维度。相比普通 Transformer 里QKV 三件套式的注意力这套卷积算子把门控、局部卷积、残差投影封装在一起既能捕捉局部依赖又几乎没有长序列的内存开销。conv_L_cache3短卷积为什么短省内存的秘密config.json 中有一个容易被忽略但极其关键的参数conv_L_cache: 3L代表卷积核的感受野长度这里是 3即卷积每次只看最近的 3 个 token。这就是短卷积中短字的由来。这个参数带来的收益是巨大的注意力层的 KV 缓存随序列长度线性增长128K 上下文时缓存开销十分可观而卷积层只需要缓存最近 3 步的状态无论上下文多长缓存占用几乎恒定18 层卷积把整体推理时的缓存需求压到了极低水平配合 MLX 的 Apple Silicon 加速长文本对话、代码补全场景下内存表现非常友好。可以说conv_L_cache3是这套架构能在低资源设备上跑 128K 长上下文的底层保障之一。6 层 GQA 分组注意力32 个头共享 8 个 KV 头在注意力层上LFM2.5 选择了标准的 GQAGrouped Query Attention设计相关配置如下参数值含义num_attention_heads3232 个查询头Qnum_key_value_heads88 个键值头KVrope_theta5000000RoPE 旋转基频 500 万支撑长上下文max_position_embeddings128000128K 上下文窗口每 4 个 Q 头共享 1 组 KV 头KV 缓存直接缩减为原来的 1/4。同时权重表中还能看到self_attn.q_layernorm和self_attn.k_layernorm说明模型在 Q 和 K 投影后还各做了一次归一化QK-Norm这是稳定长上下文训练的经典技巧。128K 上下文 5M 的 RoPE 基频 QK-Norm三者共同保证了注意力层在超长输入下依然稳定。每层都有 MoE32 专家 top-48.3B 参数只激活 1.5B混合架构之外另一个杀手锏是稀疏专家系统。注意一个容易忽略的细节24 层中每一层都带有 feed_forward 模块也就是说 FFN 与算子层是解耦的卷积层和注意力层后面都各自挂着一份 FFN。权重表里从第 2 层开始每层都出现了三组 MoE 专属权重feed_forward.gate—— 路由门控负责把 token 分给哪些专家feed_forward.switch_mlp.gate_proj / up_proj / down_proj—— 专家内部的前馈网络feed_forward.expert_bias—— 专家偏好偏置配合use_expert_bias: true引导路由。对应的超参数为参数值含义num_experts32共 32 个专家num_experts_per_tok4每个 token 只激活 top-4 专家moe_intermediate_size1792单个专家的中间维度norm_topk_probtrue对 top-k 路由概率做归一化每生成一个 token模型只在 32 个专家中挑选 4 个干活因此虽然总参数量高达 8.3B实测 84.7 亿参数见 model.safetensors.index.json 的total_parameters字段实际激活参数只有约 1.5B兼顾了容量与速度。8bit 量化配置MLX 版本在 Apple Silicon 上的加速密码作为 MLX 生态的镜像版本本仓库最大的落地价值在于量化。config.json 中的quantization_config表明位宽 8bit模式为affine仿射量化分组大小 group_size 64即每 64 个权重共享一组缩放参数精度损失小量化范围覆盖所有层的feed_forward.gate门控权重以及各线性投影。8bit 量化后全部权重含 embedding 的 biases/scales合计约 8.4GBmodel.safetensors.index.json 的total_size字段相比 16bit 版本直接减半。对 8GB 起步的 Apple Silicon 设备来说这意味着可以真正本地跑起一个 8B 级、128K 上下文的稀疏 MoE 模型这在半年前几乎不可想象。组合起来有多独特三张王牌缺一不可把上面的细节汇总这套架构的独特性可以概括为三个反常识维度主流做法LFM2.5-8B-A1B 的做法算力主力注意力为主18/24 层是短卷积注意力只占 1/4长上下文堆 KV 缓存卷积缓存固定 3 步注意力 KV 仅 1/4模型容量全量激活8.3B 参数只激活 1.5B短卷积解决局部建模与缓存开销GQA 注意力补足全局推理能力MoE 在有限算力下放大模型容量——三者各守一摊、互相补位这正是 LFM2.5 被评价为高效混合架构代表作的根本原因。快速上手如何本地跑起这个混合架构模型想亲自体验的话先克隆仓库git clone https://gitcode.com/hf_mirrors/mlx-community/LFM2.5-8B-A1B-MLX-8bit然后安装推理依赖并加载模型参考 README.md 的用法pip install mlx-lmfrom mlx_lm import load, generate model, tokenizer load(本地模型目录路径) prompt 用三句话介绍混合架构大模型 if tokenizer.chat_template is not None: prompt tokenizer.apply_chat_template( [{role: user, content: prompt}], add_generation_promptTrue) response generate(model, tokenizer, promptprompt, verboseTrue) print(response)模型自带的 chat_template.jinja 已适配 mlx-lm 的对话模板与工具调用格式开箱即用。如果你手头正好是 Apple Silicon 设备不妨亲自感受一下这套短卷积 分组注意力 稀疏专家组合拳在本地推理时的速度与内存表现相信你会对混合架构这四个字有全新的理解。【免费下载链接】LFM2.5-8B-A1B-MLX-8bit项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-8B-A1B-MLX-8bit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考