news 2026/10/18 3:47:56

Mellum2-12B-A2.5B-Instruct-mxfp4的131K长上下文如何实现?滑动窗口注意力与YaRN详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Mellum2-12B-A2.5B-Instruct-mxfp4的131K长上下文如何实现?滑动窗口注意力与YaRN详解

【免费下载链接】Mellum2-12B-A2.5B-Instruct-mxfp4

项目地址:https://ai.gitcode.com/hf_mirrors/mlx-community/Mellum2-12B-A2.5B-Instruct-mxfp4
点击查看免费下载

Mellum2-12B-A2.5B-Instruct-mxfp4 是 JetBrains 开源 MoE 大模型 Mellum2 的 MLX MXFP4 量化版本,支持131K(131,072 token)长上下文。本文带你读懂它实现超长上下文的两大核心机制:滑动窗口注意力(Sliding Window Attention)与 YaRN 位置编码外推,全部答案都能在这个仓库的配置文件里找到。

30秒认识这个模型 📦

项目参数
架构Mixture-of-Experts(MoE),mellum
总参数 / 激活参数约 12.1B / 每 token 激活约 2.5B
专家配置64 个专家,每 token 激活 8 个
隐藏层数28 层
上下文长度131,072 token(131K)
量化格式MXFP4(4 bit,group size 32)
文件大小约 6.46 GB,两个权重分片

这是一个"小模型、长记忆"的组合:激活参数只有 2.5B,推理开销接近小模型,却能吞下约 13 万个 token 的输入——大约相当于一本几十页的技术文档或上万行代码。

权重索引见 model.safetensors.index.json,模型元信息见 config.json,使用说明见 README.md。

131K长上下文实现原理

单靠"堆算力"很难支撑 131K 上下文:全注意力(Full Attention)的计算量和 KV Cache 内存都会随序列长度平方级、线性级膨胀。Mellum2 的解法是两种机制分工协作——滑动窗口负责"省",YaRN 负责"够得远"。

机制一:滑动窗口注意力,28层里只留7层做全注意力 🔍

在 config.json#L15-L44 的layer_types字段里,28 层的注意力类型是这样排布的:

第0层 滑动注意力 第1层 滑动注意力 第2层 滑动注意力 第3层 全注意力 ★ 第4层 滑动注意力 ...(每 4 层一个循环) 第27层 全注意力 ★
  • 21 层滑动窗口注意力:每个 token 只回看最近sliding_window: 1024个 token;
  • 7 层全注意力(第 3、7、11、15、19、23、27 层):每个 token 都能"看见"整段 131K 的上下文。

为什么这样设计划算?关键在于 KV Cache 内存:

层类型缓存策略131K 上下文下的显存占用
7 层全注意力缓存全部 token约 1.8 GB(bf16)
21 层滑动窗口只缓存最近 1024 个 token约 40 MB

也就是说,超过 90% 的层只需要为"最近 1 个窗口"付费,长上下文的大部分内存成本被滑动窗口"砍掉"了,而全注意力层保证了跨文档、跨章节的远距离关联能力。这就是 config.json#L341 中use_sliding_window: true背后的真实含义。

机制二:YaRN,把 8K 的位置编码外推到 131K 📏

滑动窗口层只处理 1024 长度的局部窗口,无需外推;真正需要"看得远"的是 7 层全注意力层。Mellum2 给它们配置了YaRN(Yet another RoPE extensioN)位置编码,完整参数在 config.json#L321-L335:

参数取值通俗解释
rope_typeyarn启用 YaRN 长上下文外推方案
original_max_position_embeddings8192模型预训练时的原始上下文长度
factor16.0外推倍率:8192 × 16 =131072
rope_theta500000.0更高的基频,让位置信号在超长序列中不易重复混淆
beta_fast/beta_slow32 / 1高低频分段的插值范围
attention_factor1.277注意力 logits 缩放,缓解超长序列下的注意力熵稀释

三个核心动作可以这么理解:

  1. 频率缩放(factor=16):对 RoPE 的旋转频率按比例压缩,相当于"放慢时钟",让 8K 训练学出的位置规律在 131K 范围里依然成立;
  2. NTK 风格插值(beta_fast/beta_slow):对低频分量做平滑插值而非生硬缩放,避免长距离位置出现"错位";
  3. 注意力缩放(attention_factor≈1.277):序列越长,注意力分数越分散、越"犹豫",乘上这个系数把注意力重新"收紧"到真正相关的内容上。

而 21 层滑动窗口层则使用普通 RoPE(rope_type: default,见 config.json#L331-L334)——窗口只有 1024,用不上外推,简单即最优。

💡一句话总结:131K 长上下文 = 21 层滑动窗口"省内存" + 7 层 YaRN 全注意力"保全局" + 更高的rope_theta打底。

关键配置速查表 ✅

如果你想动手核对,以下是最值得看的几个字段:

字段值位置
上下文上限max_position_embeddings: 131072config.json#L45
注意力层排布layer_types(sliding/full 交替)config.json#L15-L44
窗口大小sliding_window: 1024config.json#L337
YaRN 外推参数rope_parameters.full_attentionconfig.json#L322-L330
MoE 专家数num_experts: 64/ 激活 8 个config.json#L81-L82
词表大小vocab_size: 98304config.json#L342

量化方面,除每层的 router gate 保持 8 bit(group size 64)以保护专家路由精度外,其余权重均为 MXFP4 4 bit(group size 32),这也是整个 12B 模型能压进约 6.5 GB 的原因(详见 config.json#L86-L219)。

如何快速上手使用 🚀

模型基于 MLX 生态,在 Apple Silicon 上运行最顺手,一条命令即可开聊:

pip install -U mlx-lm mlx_lm.chat \ --model mlx-community/Mellum2-12B-A2.5B-Instruct-mxfp4 \ --max-tokens 8192 \ --temp 0.6 \ --top-p 0.95

若需要本地克隆仓库(例如二次打包或研究配置),仓库地址为:

git clone https://gitcode.com/hf_mirrors/mlx-community/Mellum2-12B-A2.5B-Instruct-mxfp4

几个实用提示:

  • 对话格式由 chat_template.jinja 定义,`

【免费下载链接】Mellum2-12B-A2.5B-Instruct-mxfp4

项目地址:https://ai.gitcode.com/hf_mirrors/mlx-community/Mellum2-12B-A2.5B-Instruct-mxfp4
点击查看免费下载
上一篇:5分钟搞定QQ音乐加密文件:qmcdump一键解密全指南
下一篇:猫抓视频嗅探工具:从网页到本地,三步轻松下载任何视频

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 3:47:29

OpenClaw 免费跑通后接入钉钉:用 ClawHub skills 打通企业消息流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/18 3:46:23

Reframe Your Life Story: Interactive Narrative Therapist and Innovative Moment Assessment with La...

文章主要内容和创新点 主要内容 本文聚焦于将叙事疗法(Narrative Therapy)与大语言模型(LLMs)结合,提出了一个用于心理健康支持的综合框架,以解决现有LLM在模拟专业心理治疗时缺乏真实性、难以捕捉治疗进展的问题。该框架包含两个核心组件: INT(Interactive Narrativ…

作者头像 李华
网站建设 2026/10/18 3:43:46

GitLab SSH Key配置详解:从原理到排错,彻底告别密码认证

说个我自己的真实经历。用GitLab干活的时候,最烦人的不是写代码,而是每次push或者clone都要输一遍账号密码。尤其是公司开了两步验证之后,密码干脆用不了,得去后台生成personal access token,那串token又长又乱&#x…

作者头像 李华
网站建设 2026/10/18 3:42:01

从Excel到自研CRM:DeskcommCRM的架构设计与工程实践

1. 为什么还要做一个 CRM:DeskcommCRM 的由来1.1 从一张 Excel 表开始的真实需求DeskcommCRM 这个名字,最初只是我随手起的内部代号,没想到最后真的长成了一套能用的客户管理系统。项目持续了大半年,起因不是老板拍板要数字化&…

作者头像 李华
网站建设 2026/10/18 3:41:47

从DHCP到网卡丢包:一次读懂网络数据全程与排障核心

一提到网络基础,很多人脑子里冒出来的是七层模型、各种协议栈,背得滚瓜烂熟,可真到了电脑上不了网、服务器丢包、延时抖动的时候,又不知道从哪里下手。我自己也经历过那段"原理全会,排障全废"的阶段。后来在…

作者头像 李华
网站建设 2026/10/18 3:38:43

自监督模型无标签评估:RULE方法实现高效模型选型

如果你也在做自监督模型的预训练,大概率经历过这种纠结:训练跑了好几天,loss曲线看起来挺漂亮,但没人能告诉你这个模型到底好不好。拿去下游任务试,可能强得离谱,也可能崩得莫名其妙。我为了这事折腾了大半…

作者头像 李华