说明: 稀疏矩阵是机器学习中经常遇到的一种矩阵形式,特别是当矩阵行列比较多的时候,本着“节约”原则,必须要对其进行压缩。本节即演示一种常用的压缩方法,并说明其他压缩方式。 ★矩阵压缩的基本原则: 不重复存储相同元素 不存储零元素 下面详细介绍一种压缩稀疏行(Compressed Sparse Row,CSR)的矩阵压缩方法。 从而实现了对原有稀疏矩阵的压缩。从图2-6-3中,能够更直观地了解上述压缩过程和效果。 图 2-6-3 CSR 的“按行压缩”就体现在ptr所记录的结果中,其中的数值可以称为行偏移量,从中可以确定每行的非零数字个数。 对分块稀疏矩阵按行压缩 coo_matrix 坐标格式的稀疏矩阵 csc_matrix 压缩系数矩阵 csr_matrix 按行压缩 dia_matrix 压缩对角线为非零元素的稀疏矩阵 dok_matrix
FlashAttention 优化注意力计算的内存访问 不改变计算复杂度 分块注意力(如 NSA) 分块+稀疏选择 压缩率有限 DeepSeek-V4 的方案是两级压缩: CSA(轻度压缩 + 稀疏选择 压缩稀疏注意力(CSA) CSA 的流水线:压缩 → 索引选择 → 核心注意力 第 1 步:压缩键值条目 CSA 计算两组 KV 条目 Ca,Cb\mathbf{C}_a, \mathbf{C}_bCa 重度压缩注意力(HCA) HCA 与 CSA 的核心区别: CSA HCA 压缩率 m=4m = 4m=4 m′=128m' = 128m′=128 压缩后是否稀疏选择 是(top-k) 否 "某些压缩块,这对稀疏注意力更自然。 压缩稀疏注意力,轻度压缩 + top-k 稀疏选择 HCA 重度压缩注意力,极端压缩 + 稠密注意力 闪电索引器 CSA 中的稀疏选择模块,用多头 ReLU 点积计算索引分数 MQA 多查询注意力,所有头共享
稀疏注意力 一、稀疏注意力的特点 DeepSpeed有很多不错的功能:Training Overview and Features - DeepSpeed 其中有一个功能是注意力稀疏,我们重点展开说明 需要注意的是:稀疏注意力的实现并不仅限于DeepSpeed。虽然DeepSpeed提供了一种高效的稀疏注意力实现,但其他深度学习框架和库也可能提供稀疏注意力的支持。 二、稀疏注意力的示意图 “稀疏注意力”是一种与传统注意力机制不同的技术,它只关注序列中的部分元素以提高处理速度。 蓝色的单元格在图中代表了被计算的元素,也就是被注意力机制关注的部分,体现了这种选择性关注。 稀疏性:稀疏性是稀疏注意力机制的另一个重要特点。 在处理稀疏注意力内核时,DeepSpeed采用了块稀疏计算。 在训练阶段,可以使用稀疏注意力来优化模型。稀疏注意力通过减少注意力机制中需要计算的元素数量来提高训练效率。
图 2:CSA 和 HCA 混合注意力架构对比CSA(Compressed Sparse Attention)CSA 解决的核心问题是:算什么。 V4-Pro 的压缩率是 4:1,意味着序列长度直接缩短到原来的 1/4稀疏选择:在压缩后的序列上跑稀疏注意力。 这些窗口 KV 和压缩 KV 拼接后一起参与核心注意力计算来源:技术报告 Section 2.3.1这套方案的关键在于,稀疏结构是可训练的——模型在训练过程中自己学习哪些位置需要高密度注意力,哪些可以被压缩 但和 CSA 不同,HCA 不做稀疏选择,在压缩后的序列上直接跑稠密注意力——每个 query 都能看到所有压缩后的 KV。为什么需要 HCA?因为 CSA 虽然稀疏选择很高效,但毕竟会丢信息。 6. 客观评价:强在哪里,弱在哪里真正的突破长上下文效率的大幅提升。CSA+HCA 混合注意力不是渐进式优化,是架构层面的范式变化。
DeepSeek-V4 想解决的正是这个问题,用混合稀疏注意力(CSA + HCA)把 KV Cache 沿序列维度狠压一刀,用 mHC(流形约束的超连接)顶住深层堆叠的数值不稳定,用 Muon 优化器加快收敛 沿序列维度叠罗汉 V4 的注意力是两种压缩注意力交错的混合架构——CSA(Compressed Sparse Attention)做温和压缩加稀疏选择;HCA(Heavily Compressed Attention CSA 虽然能精读细节,但 top-k 的稀疏选择天然会漏掉一些全局摘要级的信息。 两者交错排布——V4-Pro 前 2 层 HCA、之后 CSA/HCA 交替——构成了一个局部精读加全局浏览的双轨注意力。 混合稀疏注意力加 Muon 共同作用的结果。 批判性思考:V4 没解决的,和值得追问的 论文自己列了三类 limitation。把它们和我个人的观察合并起来,整理成下面几个值得继续追问的问题。
这次V4更是在自研DSA稀疏注意力基础上,升级了CSA压缩稀疏注意力+HCA重度压缩注意力的混合架构,搭配KV缓存序列维度压缩(下文会解释这两个技术),直接把百万上下文的算力需求砍到了前代的1/10,成本打穿了行业地板 在V4的官方架构里,这套压缩逻辑分了两级,精准适配不同的信息密度,对应CSA压缩稀疏注意力和HCA重度压缩注意力,所有参数均来自官方技术报告实测:轻量压缩(CSA,4个Token缩成1个):针对段落级的细节内容 三、降维第二式:DSA稀疏注意力,从“整本翻书”到“索引精准定位”如果说Token压缩解决了“笔记本不够用”的问题,那DSA(DeepSeek Sparse Attention)稀疏注意力,就解决了“翻书太慢 这里先说明:DSA是DeepSeek V3已落地的自研稀疏注意力架构,V4的核心升级,是在DSA基础上新增了前置KV压缩,形成了全新的CSA架构,通过「压缩+稀疏」的双重优化,把无效算力降到了极致。 而DeepSeek CSA架构里的Lightning Indexer闪电索引器,就是给文员的笔记,做了一套可精准检索的“闪电索引目录”,再通过DSA稀疏注意力实现精准筛选。
我们完全可以把稀疏矩阵看成是有序稀疏列向量组,然后模仿 LIL 格式或者是 CSR 格式对列向量组中的每一个列向量进行压缩存储。 ], dtype=int32) 通过第 5 种实例化方法实例化一个稀疏矩阵: >>> indptr = np.array([0, 2, 3, 6]) >>> indices = np.array([0, PART. 02 下回预告 不同于 LIL 格式和 CSR 格式都是把稀疏矩阵看成有序稀疏行向量组,然后对行向量组中每一个行向量进行压缩存储,CSC 格式把稀疏矩阵看成有序稀疏列向量组,然后通过模仿 CSR 格式来对列向量组中每一个列向量进行压缩存储。 对于一个大的稀疏矩阵我们显然也可以进行分块,只不过绝大多数情况下大量的块是元素全为零的矩阵,显然,我们可以通过仅存储非零矩阵块也能实现稀疏矩阵的压缩存储。
二、三大架构突破 2.1 混合注意力机制:CSA + HCA 这是V4最核心的创新。 传统全量自注意力在百万Token场景下计算量呈二次方爆炸,V4通过全新的分层注意力架构解决了这个问题: CSA(Compressed Sparse Attention,压缩稀疏注意力) 将长上下文按固定长度划分为多个分组 分组内执行全量注意力,保证局部语义完整 跨分组仅通过稀疏采样交互,大幅降低计算复杂度 HCA(Heavily Compressed Attention,重度压缩注意力) 对远距离Token进行高度压缩后参与注意力计算 年初论文提出的NSA(Native Sparse Attention) 两种稀疏注意力机制的融合方案,让长上下文效率达到新高度。 本专业书的图书馆,但每次你提问,它只需要翻阅其中6本就能给出高质量答案。
上下文瓶颈(ContextBottleneck):长文本处理成本高昂→DSA稀疏注意力。 第四章:第三大突破——DSA稀疏注意力:百万Token上下文的智能压缩引擎4.1挑战:O(n²)复杂度的诅咒标准的自注意力机制(Self-Attention)的计算和内存复杂度均为O(L²),其中L是序列长度 4.2DSA的设计哲学:“先粗筛,再精算”DeepSeek-V4采用了其自研的压缩稀疏注意力(CompressedSparseAttention,CSA),这是DSA(DeepSeekSparseAttention 4.3技术实现:LightningIndexer与动态Top-KDSA/CSA的工作流程如下:Token维度压缩:将每m个连续的Token的Key-Value(KV)对,通过一个轻量级的压缩函数(如平均池化或小型 局部依赖保留:为了不丢失重要的局部信息(如语法结构),CSA还结合了滑动窗口注意力(SlidingWindowAttention)和AttentionSink机制,确保模型能捕捉到紧邻Token之间的依赖关系
3.3DSA稀疏注意力与LightningIndexer:百万上下文的“智能压缩引擎”3.3.1设计动机标准的自注意力机制计算复杂度为O(L²),其中L是序列长度。 3.3.2技术原理DeepSeek-V4采用了其自研的压缩稀疏注意力(CompressedSparseAttention,CSA),这是DSA(DeepSeekSparseAttention)机制的演进版 Token维度压缩:CSA首先将每m个连续的Token的Key-Value(KV)对压缩成一个单一的“超级条目”(SuperEntry),大幅减少了KV缓存的数量。 动态Top-K选择:基于LightningIndexer的分数,CSA只会选择Top-K个最相关的“超级条目”进行完整的注意力计算。 局部依赖保留:为了不丢失重要的局部信息,CSA还结合了滑动窗口注意力(SlidingWindowAttention)和AttentionSink机制。
稀疏矩阵的压缩存储与高效运算随着数据科学、图计算与机器学习的迅猛发展,稀疏矩阵已成为大规模数据处理中不可或缺的一种数据结构。 本文将系统地介绍稀疏矩阵的压缩存储方式,并结合代码实例,探讨其在高效运算中的应用策略。一、稀疏矩阵概述在实际工程和科研中,我们常会遇到这样一种矩阵:大多数元素为零,仅有极少数的非零元素。 这种矩阵称为稀疏矩阵(Sparse Matrix)。若使用常规二维数组存储,会浪费大量空间。因此我们需要一种压缩存储结构来只记录“有用信息”——即非零元素及其位置。 4.3 大型推荐系统用户-物品评分矩阵通常极度稀疏,使用压缩存储可以显著降低内存需求与运算成本。五、稀疏矩阵运算的优化建议预选择合适格式:如构建阶段用 COO,乘法运算用 CSR。 十、结语稀疏矩阵的压缩存储与高效运算,是连接数学、计算机体系结构与人工智能的桥梁。掌握稀疏矩阵不仅能提升算法性能,更为你打通处理大规模数据的新路径。
稀疏矩阵:指大部分元素为零的矩阵。传统的按行优先次序存储方法会浪费大量空间来存储零元素,因此采用压缩存储的方法更为合适。 稀疏矩阵的压缩存储——三元组表 【数据结构】数组和字符串(四):特殊矩阵的压缩存储:稀疏矩阵——三元组表 e. 压缩稀疏行(Compressed Sparse Row,CSR)矩阵 压缩稀疏行(Compressed Sparse Row,CSR)是一种常用的稀疏矩阵存储格式。 CSR存储格式通过压缩非零元素的行指针和列索引,以及存储非零元素的值,来有效地表示稀疏矩阵。 CSR存储格式的主要优点是有效地压缩了稀疏矩阵的存储空间,只存储非零元素及其对应的行和列信息。此外,CSR格式还支持高效的稀疏矩阵向量乘法和稀疏矩阵乘法等操作。
这一举措,配合其自研的双轴稀疏架构、DSA稀疏注意力以及对华为昇腾等国产芯片的深度适配,标志着大模型技术正式从少数巨头的“奢侈品”迈入普惠化、平民化的新纪元。 2.3DSA稀疏注意力与LightningIndexer:百万上下文的“智能压缩引擎”2.3.1挑战:O(n²)的诅咒标准自注意力机制的计算和内存复杂度均为O(L²),其中L是序列长度。 2.3.2解决方案:压缩稀疏注意力(CSA)DeepSeek-V4采用了其自研的压缩稀疏注意力(CompressedSparseAttention,CSA),这是DSA(DeepSeekSparseAttention Token维度压缩:CSA首先将每m个连续的Token的Key-Value(KV)对压缩成一个单一的“超级条目”(SuperEntry),将KV缓存的数量从L减少到L/m。 动态Top-K选择:基于LightningIndexer的分数,CSA只会选择Top-K个最相关的“超级条目”进行完整的注意力计算。
此外,还从理论上证明了稀疏注意力机制保持了二次型全 Transformer 的表达能力和灵活性。 BigBird 模型中的稀疏注意力包括三个主要部分: 一组注意输入序列的所有部分的全局标记 所有标记注意一组相邻的局部标记 所有标记注意一组随机标记 BigBird 稀疏注意力模型由(注意输入序列的所有部分的 全局标记作为信息流的管道,证明了使用全局标记的稀疏注意力机制可以和全注意模型一样强大。 稀疏注意力模型的高效实现 大规模采用稀疏注意力的一个主要障碍,是稀疏操作在现代硬件中效率相当低。 相反,将稀疏的局部注意力和随机注意力转换成密集的张量运算,以充分利用现代单指令、多数据(single instruction, multiple data,SIMD)硬件。 稀疏注意力机制的高效实现示意图。
本文我主要来梳理下 DeepSeek-V4 的技术重点,从 技术报告 来看,可以概括为四条主线:MoE 稀疏扩容、百万上下文注意力窗口、长上下文缓存复用,以及面向 Agent 的协议兼容与后训练能力。 CSA Compressed Sparse Attention,本质上是 “先压缩,再稀疏选择”。 它采用更激进的压缩方式,把更长范围的上下文压成更短的表示,再在压缩后的序列上做 attention。CSA 解决的是远程关键信息的精细访问,HCA 解决的是超长上下文下的全局结构保留。 二者结合后,V4 形成了三层信息处理逻辑:近处上下文保留细节,远程信息通过 CSA 按需读取,更远的整体背景则通过 HCA 进行高度压缩记忆。 DeepSeek-V4 通过 CSA、HCA 和 Context Caching 去压缩这部分成本,正说明长上下文能力必须和推理系统一起设计,不能单靠模型结构硬撑。 • 芯片与推理框架协同。
稀疏矩阵:指大部分元素为零的矩阵。传统的按行优先次序存储方法会浪费大量空间来存储零元素,因此采用压缩存储的方法更为合适。 常见的压缩存储方法有:压缩稠密行(CSR)、压缩稠密列(CSC)、坐标列表(COO)等。 a. 对角矩阵的压缩存储 【数据结构】数组和字符串(二):特殊矩阵的压缩存储:对角矩阵——一维数组 b~c. 稀疏矩阵的压缩存储——三元组表 【数据结构】数组和字符串(四):特殊矩阵的压缩存储:稀疏矩阵——三元组表 e. 压缩稀疏行(Compressed Sparse Row,CSR)矩阵 【数据结构】数组和字符串(五):特殊矩阵的压缩存储:稀疏矩阵——压缩稀疏行(CSR) f. 压缩稀疏列(Compressed Sparse Column,CSC)矩阵 压缩稀疏列(Compressed Sparse Column,CSC)以列为主要组织方式,将矩阵按列进行存储。
2025年2月,中国AI公司DeepSeek推出原生稀疏注意力机制(Native Sparse Attention, NSA),通过算法与硬件的协同创新,为长文本建模提供了高效解决方案。 一、技术原理:动态分层稀疏与硬件优化 NSA的核心设计围绕动态分层稀疏策略展开,结合粗粒度令牌压缩与细粒度令牌选择,实现计算效率与模型性能的平衡。 1. 动态分层稀疏策略 粗粒度压缩:通过聚类或语义分割,将长序列划分为多个子块,仅保留关键块间的全局关联信息,减少冗余计算。 原生可训练性 传统稀疏注意力机制多采用固定模式(如局部窗口或随机采样),而NSA通过动态路由机制,允许稀疏模式在训练过程中自适应调整。 例如,已有团队基于NSA改进低秩注意力机制(MLA),进一步压缩KV缓存至原有规模的5%。 3.
而sparsemax是2016年提出的softmax的改进版,他可以得到稀疏的结果,即让一些值为0,它和softmax具有相似的性能,但具有选择性、更紧凑、注意力集中。 如下如所示,sparsemax相比如softmax是更硬的,在过大过小的地方对应1和0,即可以得到稀疏解。 ,e_t,e_s\} 就是稀疏自注意力机制的得到的输出。前t个是item的embedding,字后一个es是目标embedding。 结果 image.png 6. 针对第一个问题,作者采用学习target embedding的方式,而不是直接采用会话中最后一个点击的商品 针对第二个问题,作者采用α-entmax的激活函数,主要是通过该方法产生稀疏解,从而避免给一些不感兴趣的商品加权
第二章:架构革命——双轴稀疏架构的深度剖析DeepSeek-V4的卓越性能源于其独创的“双轴稀疏架构”。 该架构通过三大核心技术——Engram条件记忆、mHC流形约束超连接和DSA稀疏注意力——协同工作,从根本上解决了传统模型的效率瓶颈。 2.3DSA稀疏注意力与LightningIndexer:百万上下文的“智能压缩引擎”2.3.1挑战:O(n²)的诅咒标准自注意力机制的计算复杂度为O(L²),对于1MToken的上下文完全不可行。 2.3.2解决方案:压缩稀疏注意力(CSA)DeepSeek-V4采用了自研的压缩稀疏注意力(CSA)。Token维度压缩:将每m个连续Token的KV对压缩成一个“超级条目”。 3.2成本结构拆解算法效率:双轴稀疏架构和DSA注意力机制大幅降低了实际计算量和显存占用。硬件协同:深度适配华为昇腾910B,推理效率比在英伟达A100上高出数倍。
深入浅出:什么是 DeepSeek 稀疏注意力 (DSA)?本文旨在揭开 DeepSeek 稀疏注意力(DeepSeek Sparse Attention, DSA)机制的神秘面纱。 在大型语言模型中,一个核心机制叫做“注意力”(Attention),它帮助模型理解单词之间的关系。在传统的注意力机制中,模型为了理解一个词,必须将其与前面出现过的每一个词进行关联和计算。 而 DeepSeek 稀疏注意力(DSA)正是为了解决这个效率难题而设计的创新方案。2. 解决方案:DeepSeek 稀疏注意力 (DSA) 登场DeepSeek 稀疏注意力(DSA)是由 DeepSeek-AI 开发的一种创新的注意力机制,旨在解决长文本处理的效率问题。 DeepSeek 稀疏注意力(DSA)是一项关键的架构创新,它通过智能的两步筛选机制,有效解决了大型语言模型在处理长文档时面临的效率和成本瓶颈。