把 100 万 Token 塞进 4B 模型,讯飞星火 X2.5 是怎么做到的?

把 100 万 Token 塞进 4B 模型,讯飞星火 X2.5 是怎么做到的? 早上刷到一条消息科大讯飞旗下的词元星火今天开源了两款端侧模型——星火 X2.5-4B 和 X2.5-1.7B。参数不大4B 和 1.7B放云端也就是个零头。但再看一眼细节我愣住了原生支持 100 万 Token 上下文。你没看错。4B 参数的模型能在本地吃下 100 万 Token。什么概念一本《三体》三部曲大约 90 万字折合 Token 大概 100 万左右。也就是说你可以在车机上跑一个模型让它一口气读完一整部长篇小说然后跟你聊剧情。端侧模型做长上下文这事以前没人干成过。端侧长上下文为什么以前没人做先说说背景。过去两年大模型的主战场在云端。几千亿参数的模型跑在数据中心用户通过 API 调一下就行。上下文长度从 4K 到 32K 到 128K一路卷到百万级别——Gemini 1.5 Pro 和 GPT-4 Turbo 都支持百万 Token。但那是云端集群里有几百张 A100/H100 扛着。端侧模型就不一样了。你让一个 4B 的模型跑在手机或车机上内存就几个 G算力更是没法和 GPU 集群比。标准的 Transformer 里注意力机制的计算量是 O(n²) 的——上下文长度翻倍计算量翻四倍。100 万 Token 的序列长度用标准注意力去做4B 模型根本扛不住显存直接爆掉。所以之前端侧模型的上下文长度普遍在 8K 到 32K 之间到了 128K 就已经算不错了。100 万没人敢想。星火 X2.5 这次的做法是换了一套混合注意力架构。混合注意力到底改了啥我没有星火 X2.5 的技术报告原文但从公开信息来看混合注意力架构的核心思路是不把所有 Token 一视同仁。标准注意力里每个 Token 都要跟序列里所有其他 Token 算一遍注意力分数。如果序列长度是 100 万那就是 100 万的平方次计算——这在端侧根本不现实。混合注意力的做法我猜大致是这么几招的组合第一局部注意力 全局稀疏注意力。近处的 Token 用全量注意力保持精度。远处的 Token 用稀疏采样只选一部分关键位置做注意力。这样近处细节不丢远处信息也能够到。第二层级压缩。底层做细粒度注意力高层做压缩后的粗粒度注意力。底层积累的上下文信息被压缩成更紧凑的表征传给上层避免每层都处理全量序列。第三KV Cache 优化。100 万 Token 的 Key-Value Cache 如果原样存内存直接爆炸。星火 X2.5 大概率用了某种 Cache 压缩或淘汰策略只保留对当前推理最重要的部分。这些技术不是全新的——学术界这几年一直在研究长上下文的高效注意力比如 Ring Attention、FlashAttention 的迭代、稀疏注意力等等。但把这些技术整合到一个 4B 的端侧模型里并且真正做到百万级别星火 X2.5 算是第一个吃螃蟹的。谁需要端侧百万 Token说完了技术来聊聊场景。坦白讲不是所有端侧场景都需要 100 万 Token。你让手机上的语音助手读 100 万 Token 的上下文——没必要也浪费电。但有几个场景这个能力是真有用。车载场景是第一个。你买一辆车它带了一个 AI 助手。这个助手能不能读完你的车的手册200 多页的 PDF包含故障码、保养周期、功能说明、保修条款。你问一句我买了 10 天用了第三方脚垫现在座椅加热出问题了保修还管不管——模型需要跨章节去查保修条款里的免责条款再结合购买时间做判断。星火 X2.5 的官方案例就是这个场景说明他们自己也很清楚这个能力适合什么。智能硬件是第二个。智能音箱、智能家居中控、可穿戴设备——这些设备上的模型如果能记住用户过去几周的使用习惯和偏好交互体验会完全不一样。现在的端侧模型基本是对话失忆症每次对话都是全新的什么都不记得。离线文档处理是第三个。企业场景里有些数据不能上云——医疗记录、财务数据、合同文件。能跑在本地设备上的长上下文模型意味着你可以把一整本操作手册或者合规文档丢给它然后直接问问题数据不出设备。对很多行业来说这是个刚需。值得关注的开源信号星火 X2.5-4B 和 1.7B 用的是 MIT 协议可以免费商用。这意味着开发者可以下载权重在本地做二次开发甚至可以集成到自己的硬件产品里不需要交授权费。这对端侧 AI 的生态来说是个好消息——之前做端侧 AI 的开发者要么用 Llama.cpp 跑量化版的大模型要么用一些闭源的端侧 SDK。现在有了一个开源、可商用、原生支持百万上下文的选项。另外9 月 7 日科大讯飞还会发布星火 X2.5 的 293B 基座模型。这次开源的 4B 和 1.7B大概率是从基座模型蒸馏或剪枝出来的。如果 293B 的基座模型也开源那就更有意思了——端侧和云端打通同一个模型家族不同规模的部署方案。不过也要说句实话。4B 模型吃掉 100 万 Token 的推理速度目前还没有实测数据。百万上下文在端侧能跑但跑多快、准确率如何、长距离依赖到底能不能 hold 住——这些都需要等模型放出来之后实际测一测才知道。技术宣传是一回事拉到真实设备上跑是另一回事。写在最后端侧 AI 的竞争之前比的是谁能在更小的模型上做到更高的精度。星火 X2.5 这次换了个赛道——比的是谁能在小模型上塞进更长的上下文。这其实是两个不同的技术路线。一个追求脑子好用一个追求记性好。长上下文本身就是一种能力——不需要模型在小参数下做到顶尖的推理能力但它能记住足够多的信息这就覆盖了很多实际场景。你觉得端侧模型需要百万上下文吗还是说 32K 的上下文对大多数场景已经够用了欢迎评论区聊聊。