NOSA-1B 核心组件揭秘:KV Cache 卸载如何带来 5.04× 解码吞吐提升?
NOSA-1B 核心组件揭秘KV Cache 卸载如何带来 5.04× 解码吞吐提升【免费下载链接】NOSA-1B项目地址: https://ai.gitcode.com/OpenBMB/NOSA-1B长文本生成慢显存不够用OpenBMB 开源的 NOSA-1B 给出了一个巧妙答案通过KV Cache 卸载加原生稀疏注意力把解码吞吐直接提升了5.04 倍对比 FullAttn。本文带你逐层拆解 NOSA-1B 的三大核心组件看懂这套原生可卸载稀疏注意力Native and Offloadable Sparse Attention的完整推理链路即使你是刚入门的大模型新手也能轻松理解其中的设计精髓。为什么长文本推理卡在 KV Cache大模型做长文本推理时每生成一个 token都要把历史 token 的 Key 和 Value 缓存下来这就是KV Cache。序列越长KV Cache 越大一段 128K 的对话KV Cache 可能占用几十 GB 显存。显存放不下就只能卸载到 CPU 内存可每次计算注意力都要把数据搬回 GPU——PCIe 带宽成了新的瓶颈推理速度断崖式下跌。传统的 KV Cache 卸载方案如 ShadowKV、InfLLMv2思路是全量卸载 按需取回但取回哪些数据往往靠启发式规则精度和效率都打了折扣。NOSA-1B 则换了一条路把哪些 KV 重要这件事直接让模型在训练时学出来。核心思想训练时学会挑选推理时只取精华NOSA-1B 的核心思想可以概括为三句话KV Cache 全部卸载到 CPUGPU 显存只留极少必需数据 训练时引入显式局部性约束让模型学会判断哪些 KV 块对后续生成真正重要⚡ 推理时只把最重要的少量 KV 块搬回显存参与注意力计算其余全部跳过。这套机制由可训练稀疏注意力 NOSA 与配套推理系统 NOSI 共同实现最终在 1B/3B/8B 三种规模模型上都验证了效果。接下来我们逐个揭开它的三大核心组件。核心组件一Key 压缩器如何生成 KV Cache 摘要第一个组件是Key 压缩器CompressK位于 modeling_llama_long_infllmv2.py。它的任务很直观把冗长的 Key 序列压缩成摘要方便后续快速筛选重要区域。它的工作原理是用calc_chunks_with_stride计算出需要做稀疏注意力的分块位置支持带步长的滑窗切分见 modeling_llama_long_infllmv2.py把 Key 按32 个 token 一组kernel_size32步长 16切块对每个块做均值池化得到压缩后的 Key 向量。压缩后的 Key 体积只有原来的约 1/32配合LlamaAttention中block_size64、window_size1024的分块配置见 modeling_llama_long_infllmv2.py模型可以在毫秒级完成全局粗筛。核心组件二CIS 重要性分数与 Triton 池化内核光有压缩 Key 还不够模型还需要知道哪些区域值得注意。第二个组件就是CIS压缩重要性分数一个可学习的打分模块为每个位置生成一个重要性分数分数越高的 KV 块越可能在后续生成中被用到。为了让这个打分足够快NOSA-1B 专门实现了一个Triton 池化内核完整代码在 cis_pooling.pynosa_mean_pool_kernel是一个 Triton JIT 内核按 (head, batch, window) 三维网格并行每个线程块读取固定大小的窗口分数并求均值支持变长序列通过cu_seqlens区分不同样本nosa_mean_pooling是对外的 Python 封装默认 kernel_size32、stride16与 Key 压缩器完全对齐。这套 Triton 实现相比朴素 PyTorch 版本避免了大量中间张量的显存开销是 CIS 打分能实时跟上解码节奏的关键。核心组件三两阶段 TopK 选择如何锁定关键 KV 块有了压缩 Key 和 CIS 分数接下来就是最精彩的部分两阶段 TopK 稀疏选择实现在 modeling_llama_long_infllmv2.py 的compressed_attention函数中。第一阶段按注意力分数粗选。用压缩后的 Key 和 Query 做一次轻量注意力得到每个块的粗分数block_score先选出前若干候选块qk_select。第二阶段按 CIS 分数精排。把 CIS 分数池化到同样粒度得到block_score_cis与第一阶段候选合并后最终选出topk64个最重要的 KV 块得到topk_idx。这个先粗后精的设计非常聪明粗选保证不漏掉注意力强的区域精排则把真正会复读的块挑出来两者互补。解码阶段如何只用 64 个 KV 块完成自回归生成选择完成后真正的注意力计算在sparse_forward中进行见 modeling_llama_long_infllmv2.py关键细节有三处CIS 参与 Value 加权scaled_v value_layer * cis重要性分数直接调制 Value让重要块在输出中占更大权重稀疏 FlashAttention只对topk_idx指向的 KV 块调用 varlen 版本的 FlashAttention 内核GPU 上真正参与计算的 token 数量大幅减少归一化修正用同结构但 Value 全为 1 的假注意力算出分母消除稀疏采样带来的偏差。每一步都在为少算、算准服务这就是解码吞吐飙升的底层原因。5.04× 解码吞吐提升是怎么来的数据对比官方在 1B/3B/8B 三种规模的模型上做了系统对比数据来自 README.md 的 Overview 部分对比方案解码吞吐提升特点FullAttn全注意力5.04×显存占用大长序列几乎不可用InfLLMv21.92×稀疏注意力但缺少可学习重要性ShadowKV1.83×KV Cache 卸载依赖启发式选择同时得益于训练时的显式局部性约束NOSA-1B 在长上下文/长生成场景下的质量也优于此前所有卸载方案——不仅快而且记得住。如何快速复现 NOSA-1B 并验证效果想亲自上手体验克隆仓库即可git clone https://gitcode.com/OpenBMB/NOSA-1B仓库内的关键文件一目了然modeling_llama_long_infllmv2.py稀疏注意力核心实现CompressK、compressed_attention、sparse_forward、SparseLlamaForCausalLMcis_pooling.pyCIS 分数的 Triton 池化内核modeling_minicpm.py基于 MiniCPM 架构的稀疏注意力变体config.json模型配置28 层、16 头、2 个 KV 头、longrope 外推到 32768 长度。权重文件pytorch_model.bin已随仓库发布配合 transformers 即可加载推理。总结NOSA-1B 用一套训练时学重要性 推理时只取精华的组合拳漂亮地解决了KV Cache 卸载场景下精度与速度的矛盾。Key 压缩器、CIS 打分内核、两阶段 TopK 选择这三大核心组件环环相扣共同铸就了5.04× 解码吞吐提升的亮眼成绩。如果你正在为长文本推理的显存与速度发愁不妨从读懂这几个核心组件开始把 NOSA-1B 的思路迁移到自己的项目里。【免费下载链接】NOSA-1B项目地址: https://ai.gitcode.com/OpenBMB/NOSA-1B创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

如何微调ESM-2?esm2_t30_150M_UR50D下游任务微调实战指南

如何微调ESM-2?esm2_t30_150M_UR50D下游任务微调实战指南

如何微调ESM-2?esm2_t30_150M_UR50D下游任务微调实战指南 【免费下载链接】esm2_t30_150M_UR50D 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/esm2_t30_150M_UR50D ESM-2 是目前最流行的蛋白质语言模型之一,而 esm2_t30_150M_UR50D 正是…

2026/10/14 15:12:34 阅读更多 →
把 1.27b 安顿进 Windows 11:魔兽争霸3兼容修复与性能解锁实操记录

把 1.27b 安顿进 Windows 11:魔兽争霸3兼容修复与性能解锁实操记录

把 1.27b 安顿进 Windows 11:魔兽争霸3兼容修复与性能解锁实操记录 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 周三晚上十一点&#x…

2026/10/14 15:12:35 阅读更多 →
零基础 scrcpy 投屏指南:30 分钟把安卓手机搬上电脑屏幕的完整路线图

零基础 scrcpy 投屏指南:30 分钟把安卓手机搬上电脑屏幕的完整路线图

零基础 scrcpy 投屏指南:30 分钟把安卓手机搬上电脑屏幕的完整路线图 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 关键词(供人工检查):核心…

2026/9/29 7:10:43 阅读更多 →

最新新闻

M4A转MP3批量转换工具:FFmpeg参数调优与避坑指南

M4A转MP3批量转换工具:FFmpeg参数调优与避坑指南

简介:这是一款面向音频爱好者与日常办公用户的M4A转MP3格式转换工具,主要解决M4A文件在非Apple设备或较旧播放器上兼容性不足的问题,让音乐库能在更多终端顺畅播放。压缩包共2个文件,包含1个exe可执行程序与1个htm说明文档&#x…

2026/10/14 15:11:59 阅读更多 →
gem-0.2.5-src.zip源码编译指南:从解压到构建的完整流程

gem-0.2.5-src.zip源码编译指南:从解压到构建的完整流程

简介:面向半导体设备与主机通信开发者的JYUGEM开源SEMI SECS协议库源码包,基于ACE框架实现GEM/OBEM模型,支持C和Python双语言调用,可用于SECS消息解析、设备建模与通信调试。压缩包共452个文件,约824KB,以h…

2026/10/14 15:11:59 阅读更多 →
Spring事务管理:原理、实践与优化策略

Spring事务管理:原理、实践与优化策略

1. Spring事务管理基础概念在企业级应用开发中,事务管理是确保数据一致性的核心技术。Spring框架通过声明式事务管理,将我们从复杂的事务API中解放出来。我第一次接触Spring事务是在处理电商订单系统时,当时需要确保库存扣减和订单创建这两个…

2026/10/14 15:11:59 阅读更多 →
从地图到空间智能:高德AI引擎架构与开发者实战全解

从地图到空间智能:高德AI引擎架构与开发者实战全解

几年前我盯着高德地图上的红绿灯倒计时,还以为这不过是个导航App的贴心小功能。直到我参与了一个物流项目的路线规划系统,才真正意识到:那个能推测你几点到家、能预判哪条路更堵的引擎,已经从一张“会更新的照片”变成了一套能理解…

2026/10/14 15:11:59 阅读更多 →
CEF 110 Windows 非官方编译:开启 H.264/AAC 支持本地 MP4 播放

CEF 110 Windows 非官方编译:开启 H.264/AAC 支持本地 MP4 播放

简介:CEF110.0.5481.180 Windows 非官方编译版面向需要在桌面应用中嵌入现代浏览器引擎的开发者,尤其适合构建网页浏览器、媒体中心或在线视频平台等场景。该版本基于 Chromium 110 内核,重点补齐了 MP3 音频、MP4 视频及 H.264 编码支持&…

2026/10/14 15:11:59 阅读更多 →
多模态视觉+云端真机:AI助手从聊天框到实操代理的落地实践

多模态视觉+云端真机:AI助手从聊天框到实操代理的落地实践

1. 从"聊天框套壳"说起:为什么大多数AI助手止步于对话框过去两年,我接触过不下三十个号称"AI助手"的项目,其中绝大多数打开之后就是一个输入框加一个发送按钮,背后调一个通用大模型的API,再套一层…

2026/10/14 15:10:52 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →