一句话定义
长上下文端侧推理指在内存和带宽都固定的设备上,处理长度远超单帧、单句的输入:一段几百帧的连续视频、一次几十轮的对话、一条跨几分钟的行为序列。
它和「模型大一点」不是同一类问题。模型大小是装配时就定死的常数;上下文相关的中间状态是边跑边长的。同一个模型,输入 10 帧和输入 300 帧,占用的内存不是一个量级。
它解决什么问题
把模型压小,一直是最直接的思路。1.58 位三元权重(取值只有 -1、0、+1,只存一组尺度)把权重文件压到接近理论下限,矩阵乘里的乘法也退化成加减。文件从几百兆掉到几十兆,装进盒子不再是问题。
但长上下文不在这条路上。压完权重之后,占内存的主项换了人:注意力要保留的历史状态、每一层要缓存的中间结果、多帧特征金字塔。这些东西的大小和输入长度成正比,和权重位宽无关。三元量化把「装得下」这一关过了,下一关是「跑得长」。
arXiv 上 2026 年 10 月的一篇工作(编号 2610.34824,方法名 SPARTA)就是从这个缝里切的:标题里三个词——稀疏三元、自适应注意力、统一数据通路——分别对应权重、注意力和搬运。作者的出发点写得很直白:端侧 LLM 卡在内存和带宽上,三元权重虽然大幅降低了模型存储,但长上下文推理仍有它自己的瓶颈。
关键做法
- 权重侧做到三元,把常数项压到最小。 这一步换的是「装得下」和「乘法便宜」,不换「跑得长」。把它当成长上下文的解药会误判。
- 注意力只算该算的位置。 上下文一长,注意力的计算量按长度平方增长,但真正重要的往往只是一小部分历史(最近若干帧、几个关键事件)。自适应注意力是按内容决定看哪里,代价是「决定看哪里」本身要开销——在短输入上这笔开销是净亏。
- 把两条路径合并到一条数据通路上。 稀疏注意力和低位宽矩阵乘如果各自实现,中间结果要在两套数据布局之间来回搬,搬一次就是一次带宽开销。统一数据通路的意思是让两者共用同一种布局,省掉这次往返。这类设计的收益在带宽受限的设备上才明显。
- 兜底手段是「别让它变长」。 滑窗、关键帧抽取、把旧内容压成摘要、给缓存设硬上限——工程上最常见的长上下文方案,其实是不让上下文真的长起来。
用不上的时候
- 上下文长不等于判断准。 把整段视频不加筛选地喂进去,无关帧会摊薄注意力,结果是又慢又没变准。先问一句「模型真的需要看完整段吗」。
- 三元权重和长上下文是两件事。 前者省存储和乘法,后者吃缓存容量和带宽。供应商拿「权重只有几十兆」来回答「能不能看十分钟视频」,答的不是同一个问题。
- 稀疏注意力的选择开销是真实的。 输入只有十几帧时,选位置的代价可能超过省下的计算。这类方案适合长输入,不适合短输入。
- 看峰值,不看平均。 内存是分配出去就不一定还回来的资源。平均值好看、峰值顶到天花板,进程照样被杀。要的是整段跑完的内存曲线,不是起始值。
- 长度和路数是乘法关系。 一路看 30 秒和四路各看 30 秒,中间状态是四倍。盒子上同时跑识别、称重、防损时,这笔账要一起算。
- 产品设计常常比模型优化便宜。 先用轻量检测器挑出候选片段、只对候选做重模型判断,往往比硬啃长上下文更省事,也更好验收。
参考
arXiv:2610.34824,SPARTA: A Sparse Ternary LLM Accelerator with Adaptive Attention and Unified Datapath for Long-Context Edge Inference(2026-10-26)。摘要指出端侧 LLM 受内存与带宽限制,1.58 位三元权重虽显著降低模型存储,长上下文推理仍受约束;方法以稀疏三元计算、自适应注意力与统一数据通路三者组合,面向长上下文边缘推理场景。
延伸阅读
- 盒子看一段视频就卡,问题多半不在模型大小 —— 这篇讲的是这件事对门店意味着什么。
相关词条
火眼识别提供端侧视觉引擎与设备管理平台,相关方案见 火眼识别官网。