当前位置: 首页 > article >正文

梁文锋亲自挂名DeepSeek发布新论文

在这里插入图片描述
由 DeepSeek 联合创始人梁文锋亲自挂名的研究团队,在 arXiv 上发表了一篇题为“Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention”的论文,提出了一种全新的注意力机制架构 NSA(Native Sparse Attention,原生稀疏注意力)。

背景

长序列建模对于下一代语言模型至关重要,但传统的注意力机制由于计算复杂度高,面临着显著的计算挑战。稀疏注意力机制被认为是提高效率的有前景的方向。NSA通过动态层次化的稀疏策略,结合粗粒度的令牌压缩和细粒度的令牌选择,既保留了全局上下文感知能力,又保持了局部精度。
熟悉 DeepSeek-R1 的用户都知道,这款模型虽然在许多方面表现出色,但比较遗憾的一点在于,其输入上下文能力方面相对不足。而这次发布的 NSA 架构就主要致力于解决当前大模型长文本处理中的关键瓶颈问题。

NSA的核心创新包括两个方面

硬件对齐的算法优化

通过平衡计算强度的算法设计,实现了显著的加速,并针对现代硬件进行了实现优化。为了最大化利用现代硬件资源,研究团队基于Triton开发了专门的kernel。以下是主要优化点:NSA 的内核设计

  • Group-Centric Data Loading:将同一GQA(Grouped-Query Attention)组内的所有query head同时加载到SRAM中处理,最大化Tensor Core的利用率。
  • 共享KV Fetching:通过连续加载key/value块到SRAM中,减少冗余数据传输。
  • Outer Loop on Grid:利用Triton的grid调度器简化和优化内核,确保高效的内存访问模式。

这些优化设计与现代GPU架构高度契合,实现了接近理论极限的加速效果。

分层稀疏注意力设计

端到端训练能通过高效的算法和反向传播操作符,实现了可训练的稀疏注意力机制,减少了预训练计算成本,同时保持了模型性能。
NSA通过独特的分层稀疏注意力设计,大幅降低了计算复杂度,同时保持了模型的表达能力。具体来说,该架构将输入序列按时间维度划分为连续的block,并通过三条并行的注意力分支进行处理:
在这里插入图片描述

  • 压缩注意力(Compressed Attention):通过可学习的MLP将每个block压缩成单一表示,用于捕获粗粒度的全局信息。
  • 选择性注意力(Selected Attention):保留最重要的fine-grained token信息,确保模型能够聚焦于关键细节。
  • 滑动窗口注意力(Sliding Attention):专注于处理近期的局部上下文,捕捉短距离依赖关系。
    这种分层设计使得模型能够在保持强大表达能力的同时,显著降低计算复杂度。

算法设计关键部分

(1)令牌压缩(Token Compression)

块级聚合:将连续令牌块压缩为单一表示,例如每32个令牌压缩为一个块,降低计算量。
数学形式:在这里插入图片描述
其中 l为块长,d为滑动步长,MLP含块内位置编码。

(2)令牌选择(Token Selection)

  • 块级重要性评分:利用压缩注意力分数生成块级重要性分布,选择Top-n关键块。
  • 硬件友好设计:连续块访问适配GPU内存带宽,支持GQA组内共享索引,减少KV缓存加载。

(3)滑动窗口(Sliding Window)

  • 局部上下文隔离:显式处理最近512个令牌,防止局部模式主导全局学习。
  • 门控融合:通过可学习门控动态加权三路注意力输出。

结果

研究团队对 NSA 进行了全方位的性能验证。实验采用了一个基于 GQA 和 MoE(Mixture-of-Experts)的 27B 参数 backbone,包含 30 层网络结构,隐藏维度为 2560。为确保实验的可比性,研究团队采用了与全量注意力模型完全相同的训练流程,包括在 270B token 的 8K 长度文本上进行预训练,随后使用 YaRN 方法在 32K 长度文本上进行延续训练和监督微调。

在通用能力评测中,NSA 展现出了超出预期的表现。在涵盖知识、推理和编程能力的九项基准测试中,包括 MMLU、MMLU-PRO、CMMLU、BBH、GSM8K、MATH、DROP、MBPP 和 HumanEval,NSA 在七项上超越了全量注意力基线。
尤其值得关注的是在推理相关任务上的显著提升,如在 DROP 任务上提升了 4.2 个百分点,在 GSM8K 上提升了 3.4 个百分点。这一结果表明,稀疏注意力的预训练不仅没有损害模型能力,反而通过过滤无关注意力路径增强了模型的推理性能。
在这里插入图片描述
在长文本处理能力的专项测试上,NSA 的优势更为突出。具体来看,在多跳问答任务 HPQ 和 2Wiki 上分别提升了 8.7 和 5.1 个百分点,在代码理解任务 LCC 上提升了 6.9 个百分点,在段落检索任务 PassR-en 上提升了 7.5 个百分点。
在这里插入图片描述

结论与展望

NSA通过动态分层稀疏策略和硬件对齐优化,为长上下文建模提供了高效且可扩展的解决方案。其核心贡献包括:

  • 端到端可训练性:支持从预训练到微调的完整流程,避免性能损失;

  • 硬件级加速:适配Tensor Core和内存带宽,实现理论计算与实测加速一致;

  • 任务自适应能力:在通用任务、长上下文推理和数学推导中均表现优异。

未来方向包括:探索更灵活的稀疏模式、优化MoE架构下的负载均衡,以及扩展至多模态长序列处理。NSA的代码与模型已开源,为LLM的长上下文应用提供了新的基础设施。

相关文章:

梁文锋亲自挂名DeepSeek发布新论文

由 DeepSeek 联合创始人梁文锋亲自挂名的研究团队,在 arXiv 上发表了一篇题为“Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention”的论文,提出了一种全新的注意力机制架构 NSA(Native Sparse Attention&…...

低代码(Low Code)全解析:从概念到应用,从选择到价值

​在数字化浪潮席卷全球的当下,企业对软件开发的效率与灵活性愈发重视,低代码平台应运而生并迅速掀起技术热潮。 本文基于笔者 6 年的低代码实践经验,深入剖析低代码的诸多方面,涵盖其定义、发展历程、国内平台对比、开发流程、与…...

C++--STL库-List

目录 1.list 的基本使用 1.1 创建和初始化 1.2. 插入元素 1.3. 删除元素 1.4. 访问元素 1.5 遍历 1.6 总结 list是C标准库&#xff08;STL&#xff09;中的双向链表容器&#xff0c;属于<list>头文件。 它的特点是&#xff1a; 动态大小&#xff1a;可以随时插入…...

尚硅谷 java 学习Day19 抽象类与抽象方法、接口、内部类

6-5 抽象类(abstract)与抽象方法&#xff08;important&#xff09; 一、什么叫抽象类&#xff1a; 有时候将一个父类设计的非常抽象&#xff0c;以至于它没有具体的实例&#xff0c;这样的类称为抽象类 abstract关键字的使用&#xff1a; ​ 1、abstract:抽象的 ​ 2、abs…...

HomeAssistant 发现MQTT设备(温度,湿度,开关)

要通过 MQTT 将温度、湿度数据以及一个灯的开关状态传输到 Home Assistant 并实现设备自动发现&#xff0c;可以按照以下步骤操作&#xff1a; 1.前期准备工作 安装MQTT服务器(EMQX)配置好(可以在HA加载项中安装,也可以在NAS上Docker安装) HA的集成中安装MQTT,并且连接上(EM…...

本地DeepSeek模型GGUF文件转换为PyTorch格式

接前文,我们在本地Windows系统上,基于GGUF文件部署了DeepSeek模型(DeepSeek-R1-Distill-Qwen-1.5B.gguf版本),但是GGUF是已经量化的版本,我们除了对其进行微调之外,无法对其训练,那么还有没有其他办法对本地的GGUF部署的DeepSeek模型进行训练呢?今天我们就反其道而行之…...

手写数字识别的神经网络 2层神经网络的类 代码详解

源代码和图解来自鱼书 目录 2层神经网络的类 源代码&#xff1a; 详解&#xff1a; 1. 类的初始化 (__init__) 2. 前向传播 (predict) 3. 损失函数 (loss) 4. 准确率计算 (accuracy) 5. 数值梯度计算 (numerical_gradient) 6. 反向传播计算梯度 (gradient) 总结&#…...

【项目】基于STM32F103C8T6的四足爬行机器人设计与实现(源码工程)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;专__注&#x1f448;&#xff1a;专注主流机器人、人工智能等相关领域的开发、测试技术。 【项目】基于STM32F103C8T6的四足爬行机器人设计与…...

[代码调试]安装Text2Image(stable diffusion)模型环境的踩坑记录

文章目录 一、xFormers版本问题1、先确认下自己torch版本所对应的cuda版本2.安装对应版本(1) 到对应官网下载包本地安装(2)代码安装 二、attn_mask尺寸错误三、diffusers四、Huggingface 配置基于stable diffusion预训练模型的环境&#xff0c;记录踩坑记录 一、xFormers版本问…...

使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(自动化篇)

7.5. 配图生成 目的&#xff1a;由于小红书发布文章要求图文格式&#xff0c;因此在生成文案的基础上&#xff0c;我们还需要生成图文搭配文案进行发布。 原实现思路&#xff1a; 起初我打算使用deepseek的文生图模型Janus进行本地部署生成&#xff0c;参考博客&#xff1a;De…...

理解三种哈希算法:MD5、CRC、SHA256

0、背景 哈希算法是一类重要的算法&#xff0c;用于将任意长度的数据映射为固定长度的哈希值。哈希算法广泛应用于数据完整性校验、密码学、数字签名等领域。本文将详细介绍三种常见的哈希算法&#xff1a;MD5、CRC 和 SHA256&#xff0c;并探讨它们的原理、特点及应用场景。 …...

机器学习基本篇

文章目录 1 基本概念2 基本流程2.0 数据获取2.1 预处理2.1.0 认识数据认识问题2.1.1 不平衡标签的处理a.随机过采样方法 ROS,random over-samplingb. SMOTE synthetic minority Over-Sampling Technique2.2 缺失值处理2.3 数据清洗2.3.0离散特征编码2.3.1 连续特征处理归一化标…...

#渗透测试#批量漏洞挖掘#Apache Log4j反序列化命令执行漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 Apache Log4j反序列化命令执行漏洞 一、…...

python常用库整理

Python常用库众多&#xff0c;涵盖了数据分析、科学计算、机器学习、Web开发、游戏开发、自然语言处理、图像处理、自动化测试等多个领域。以下是一些常用的Python库及其主要用途&#xff1a; 数据分析与科学计算 NumPy&#xff1a;用于科学计算的基础库&#xff0c;支持大型…...

SQL数据处理函数全解析

1. 引言 1.1 SQL简介 SQL(Structured Query Language)是用于管理和操作关系型数据库的标准语言。它允许用户查询、插入、更新和删除数据库中的数据。SQL的强大之处在于其内置的函数库,这些函数可以帮助我们更高效地处理数据。 1.2 数据处理函数的重要性 数据处理函数在S…...

Python解决“反应物浓度”问题

Python解决“反应物浓度”问题 问题描述测试样例解题思路代码 问题描述 在一个神秘的实验室里&#xff0c;科学家小Z正在研究一种特殊的化学反应。她有一个名为 reactant 的初始物质&#xff0c;其起始值为 0。为了推动实验进展&#xff0c;小Z设计了一系列操作&#xff0c;这…...

HTTP FTP SMTP TELNET 应用协议

1. 标准和非标准的应用协议 标准应用协议&#xff1a; 由标准化组织&#xff08;如 IETF&#xff0c;Internet Engineering Task Force&#xff09;制定和维护&#xff0c;具有广泛的通用性和互操作性。这些协议遵循严格的规范和标准&#xff0c;不同的实现之间可以很好地进行…...

百度搜索全面接入DeepSeek-R1满血版:AI与搜索的全新融合

不等了&#xff0c;就是现在&#xff01;百度搜索全量接入DeepSeek-R1满血版 百度搜索已正式全量接入DeepSeek-R1满血版&#xff0c;在宣布“将接入”仅过了24小时后。 就在宣布“将接入”仅24小时后&#xff0c;百度搜索 已正式全量接入 DeepSeek-R1满血版&#xff01;得益于…...

《DeepSeek技术:开启工业互联网低成本开发新时代》

在工业互联网蓬勃发展的当下&#xff0c;企业数字化转型的需求日益迫切。然而&#xff0c;高昂的应用开发成本却如同拦路虎&#xff0c;阻碍着众多企业的前进步伐。此时&#xff0c;DeepSeek技术的出现&#xff0c;为工业互联网应用开发带来了新曙光&#xff0c;凭借其独特优势…...

深入浅出TypedArray:网络数据处理、WebGPU与加密实战

JavaScript的TypedArray是现代Web开发中处理二进制数据的利器。本文将结合网络数据传输、WebGPU编程和简单加密算法三个实战场景&#xff0c;带你领略TypedArray的强大能力。 一、TypedArray基础认知 TypedArray家族包括Int8Array、Uint16Array、Float32Array等11种视图类型&a…...

nordic(nrf52832、nrf52840)如何使用SES(SEGGER Embedded Studio)编辑编译工程?

nordic官方例程中一般都会给出好几个不同的编译环境供用户选择&#xff0c;一般是 keil工程、armgcc工程、IAR工程、ses工程等。 一、segger embedded studio如何添加工程.h头文件&#xff1f; 1)首先打开options 2&#xff09;下拉选中common 3&#xff09;找到common下的Pre…...

LabVIEW利用CANopen的Batch SDO写入

本示例展示了如何通过CANopen协议向设备写入Batch SDO&#xff08;批量服务数据对象&#xff09;。Batch SDO允许用户在一次操作中配置多个参数&#xff0c;适用于设备的批量配置和参数设置。此方法能够简化多个参数的写入过程&#xff0c;提高设备管理效率。 主要步骤&#xf…...

P11071 「QMSOI R1」 Distorted Fate Solution

Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1​,a2​,⋯,an​)&#xff0c;有 m m m 个操作分两种&#xff1a; modify ⁡ ( l , r , x ) \operatorname{modify}(l,r,x) modify(l,r,x)&#xff1a;对每个 i ∈ [ l , r ] i \in [l,r] i∈…...

WebSocket在分布式环境中的局限性及解决方案

WebSocket 在分布式环境中存在一些局限性&#xff0c;特别是当系统需要扩展多个服务实例时&#xff0c;单个 WebSocket 连接的管理和消息推送就变得比较复杂。因此&#xff0c;必须采取一些额外的措施来确保 WebSocket 能在多个服务实例之间正确工作。 WebSocket 在分布式环境…...

Flutter 跳转后不允许返回

如果在 Flutter 中使用 Navigator.pushNamed(context, /)&#xff0c;默认情况下它会将新的页面压入栈中&#xff0c;这样用户可以按返回键返回上一页。但如果你不想让用户返回&#xff0c;而是直接跳转到 / 并清除导航栈&#xff0c;可以使用 pushReplacementNamed 或 pushNam…...

spconv 安装测试

pip install spconv 报错: File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/mod…...

关于es6-module的语法

ES6&#xff08;ECMAScript 2015&#xff09;引入了模块化的概念&#xff0c;旨在使 JavaScript 更加模块化、可维护和可重用。ES6 模块允许我们在不同的文件中组织和管理代码&#xff0c;使得不同模块之间的依赖关系更加清晰。 1. 导出&#xff08;Export&#xff09; 1.1 命…...

python旅游推荐系统+爬虫+可视化(协同过滤算法)

✅️基于用户的协同过滤算法 ✅️有后台管理 ✅️2w多数据集 这个旅游数据分析推荐系统采用了Python语言、Django框架、MySQL数据库、requests库进行网络爬虫开发、机器学习中的协同过滤算法、ECharts数据可视化技术&#xff0c;以实现从网站抓取旅游数据、个性化推荐和直观展…...

【弹性计算】IaaS 和 PaaS 类计算产品

《弹性计算产品》系列&#xff0c;共包含以下文章&#xff1a; 云服务器&#xff1a;实例、存储、网络、镜像、快照容器、裸金属云上运维IaaS 和 PaaS 类计算产品 &#x1f60a; 如果您觉得这篇文章有用 ✔️ 的话&#xff0c;请给博主一个一键三连 &#x1f680;&#x1f680…...

视频转序列帧

视频转序列帧 介绍操作总结 介绍 这篇文章不是单独讲视频转序列帧所有的方法&#xff0c;这里是针对我后面要做序列帧动画优化的一个工具篇幅。这里我用的premiere Pro 2020下面会讲方法简称pr。 操作 打开pr点击新建项目 输入名称点击确认 将需要转换的视频导入到媒体浏览…...