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

RWKV-8 系列之 DeepEmbedAttention:精简 KV 缓存,尤其适合混合模型(RWKV-7s)

5 月 27 日,我们公开了 RWKV-8 首个新特性 DeepEmbed:对端侧友好的稀疏设计,解决 MoE 显存占用。

今天,我们公开与其相关的另一个新特性:DeepEmbedAttention(DEA),这是一种基于 RWKV-8 的 DeepEmbed 思路构建的注意力变体,拥有极小的 KV 缓存,尤其适合混合模型(例如后续的 RWKV-7s 混合模型),可将它们的长上下文性能提升到 Transformer 水准。

DEA 的结构定义例子:

# q: D => 256
# k: D => 32, k_up: 32 => 256, k_emb: V => 256
# v: D => 32, vup: 32 => D, v_emb: V => D
q = ln_q(q(x))
k = ln_k(k_up(k(x)) * k_emb(idx))
v = ln_v(tanh(v_up(v(x))) * v_emb(idx))   

然后将 QKV 的输出加到 RWKV-7 的输出上。这适合并行计算,例如可在不同设备(或异构计算)计算 QKV 和 RWKV-7 部分。

这个注意力头的维度是 256,但由于 DEA 的 keyvalue 只需缓存 32 维,KV 总共只需缓存 64 个值(32+32)。

对于 RWKV-7,只需在每层加上一个 DEA head,就能显著增强长上下文能力。因此,对比现有的高效注意力机制(例如 MLA 使用 576 个值),DEA 的 KV 缓存进一步缩小到 64/576 = 1/9,实现了极致效率。

DEA

图中 loss delta 图的横轴是随着前文长度增加时 token 的位置(token_pos),纵轴表示两种架构在不同 token 位置的 loss 差值(token_loss delta)。

实验结果显示:随着前文长度增加,RWKV-7s(加入 DeepEmbed 和 DEA)在越来越长前文的 loss 相较原版 RWKV-7 持续下降,从 -0.13 降至 -0.17。

这意味着 RWKV-7s 这类添加了 DEA 的混合模型,在处理长上下文时表现更好。因为 token 越靠后,所依赖的前文也越长,而 loss 差值持续扩大,代表 RWKV-7s 对比 RWKV-7 更有能力利用越来越长的前文所包含的越来越多的信息,语言建模能力越来越强。

最后,尽管 DEA 的 KV 缓存非常小,但它仍会随上下文长度而缓慢增长。RWKV-8 的目标,是在完全无 KV 缓存的情况下也能实现强上下文能力,且我们也有方法,后续逐步公布,欢迎大家关注。

http://www.lryc.cn/news/577282.html

相关文章:

  • MySQL 慢查询日志详解
  • 小白excel中使用VBA
  • [国家电网备考]操作系统
  • 飞算JavaAI 2.0.0深度测评:自然语言编程如何重构开发生产力?
  • 《微信生态裂变增长利器:推客小程序架构设计与商业落地》
  • 【Python使用】嘿马云课堂web完整实战项目第2篇:CMS页面管理需求,后端工程搭建【附代码文档】
  • SpringCloud系列(42)--搭建SpringCloud Config分布式配置总控中心(服务端)
  • 鸿蒙5:组件状态共享
  • STM32-第一节-新建工程,GPIO,点亮LED,蜂鸣器
  • 七天学会SpringCloud分布式微服务——05——OpenFeign
  • Hadoop WordCount 程序实现与执行指南
  • 大数据(3)-Hive
  • 【时时三省】vectorcast使用教程
  • 烘焙工业4.0:自动化升级与制造执行MES系统的深度赋能
  • 【软考中级·软件评测师】下午题·面向对象测试之架构考点全析:分层、分布式、微内核与事件驱动
  • 【原创】【5】【视频二创工具发布】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道
  • 国产车哪款有远程代驾功能?远程代驾+自动驾驶
  • 【Wireshark】高级过滤技巧精讲
  • APP 内存测试--Android Profiler实操(入门版)
  • Unity编辑器扩展之扫描项目中所有图片资源,并找出引用这些图片的预制体及其引用路径,最终导出为CSV报告
  • Monorepo+Pnpm+Turborepo
  • Windows 安装 nodejs npm
  • 网络拓扑图绘制全流程:从架构解析到工具实战
  • Jenkins Pipeline 实战指南
  • Java基础(六):数组全面解析
  • python+uniapp基于微信小程序的生鲜订购系统nodejs+java
  • Java 图书管理系统
  • 在拉卡拉分账功能中实现实时更新,需结合异步回调通知和数据库事务来确保数据一致性。以下是具体实现方案
  • 【Linux系统部分】在Linux命令行中写一个简单的shell外壳
  • 网络安全2023—新安全新发展