Line
1周前
看这个图 Deepseek 的这次注意力创新 DSA 几乎实现了“常数”成本的长上下文,似乎无限上下文也不远了。 但是, 看报告复杂度依然是: O(L²),L 是序列长度。 怎么实现的? DeepSeek-V3.2-Exp的更新主要多了一个注意力索引模块, 他们叫闪电索引 (Lighting Indexer), 输入的上下文序列在这里计算打分,然后,挑选出与当前问题最相关固定的 2048 个 tokens(Top-K 算法), 接下来只需要计算这 2048 个 Token 的注意力就行了。 需要注意的是这个注意力索引模块复杂依然是 O(L²), 维度并没有减少,模型的维度是 7168, indexer 的维度是:64 × 128= 8192 ,一些人认为维度减小才高效是不对的。 高效的关键在于数据精度,通常 L² 复度的注意力计算的 Q,K 的值是用 BF16 表示的,而在 Indexer 内的 Q,K 是用 FP8 表示的 。如果不考虑后面的固定的 2048 计算量,主导计算量就由: `L² (BF16) -> L² (FP8)` 在 Indexer 只需要完成挑选最相关 Token 的工作,任务相对简单了很多,这种 Q,K 的 FP8 “量化” 也不影响。 (也就是如果可以用 FP8 无损计算注意力效果也是一样) 由 BF16 到 FP8 似乎只能实现 1 倍的效率提升。 可为什么成本曲线,几乎是常数呢? 在空间占用减半的情况下,带宽占用也成倍增长了,同时寄存器缓存命中率也提高了,这些优化效果还有乘数效应的。 尤其是带宽的提升对榨取硬件性能最为关键。 这里的硬件具体就是矩阵计算加速单元 Tensor Core (Tensor Core 是Nvidia 的叫法,其他加速硬件应该也有类似的东西)。 Tensor Core 非常高效的,几乎可以实现 0 成本的矩阵运算。 因此它并不需要很多(一块卡也就几十个), 就是因为它太快了, 把数据运送给它,取出数据的过程才是真正的瓶颈(这也是大寄存器,高速 HBM 的价值)。 Deepseek 通过将数据表示需要的位数变少,一次就能送进更多参数,实现了更加极致的硬件性能压榨。理论上, 如果带宽没有限制, 再多的计算量都可以常数成本完成。 上面的优化建立在 Deepseek 已经用 MLA, MQA 技术优化过的注意力计算之上的, 之前的技术优化已经让注意力的计算成本变的极低了, 这次是在之前的优化之上再做优化。 这些优化一起才就是的让成本曲线几乎变水平线的原因。 所以,能不能实现无限上下文? 这个方案应该是不行的,随着上下文增长,还是存在 L² 复杂度的。
在意义之海中寻找意义 当人类的知识被投射到一个连续空间之后,博士生的需求会大大减少,因为人人都可以是“博士生”。过去,博士生最核心的工作是花费无数时间去查资料、读文献、做 citation,把分散在不同学科、不同语境里的碎片知识一点点拼接起来。但在向量化之前,这种连接往往意味着高强度的人工劳动:生物学家的论文和法学家的评论彼此孤立,工程师的日志和历史学家的档案没有桥梁。人类理论上可以把它们联系起来,但代价是海量的阅读、交叉比对与翻译。 这种碎片化导致许多潜在的联系根本没有发生。原本可能引发突破的想法,被淹没在资料工作量的泥沼里。 向量化改变了一切。当文字、图像、表格、代码都被嵌入到同一个坐标空间时,知识不再是一个个孤岛,而是连续的语义地图。生物学与法学可以在邻近的向量里相遇,工程与历史可以在空间中自然对齐。许多过去“未被察觉”的联系,突然变得可见;许多需要高智力人群耗费数年才能完成的查阅工作,如今可以在几秒内生成。 这就是知识连续化的力量:它不仅降低了博士生式的资料劳动成本,更重要的是,它把人类尚未发现的知识联系,从沉睡的噪音中唤醒了。 而人类最缺失的就是“意义“。 The Sea of Meaning — Vectorization as a Continuous Substrate