RWKV-7:极先进的大模型架构,长文本能力极强

文摘   2024-12-21 11:33   浙江  

RWKV-7 是极先进的最新大模型架构,超越 attention / linear attention 范式,拥有强大的 in-context-learning(上下文学习)能力,可真正持续学习,在保持 100% RNN 的同时,拥有极强的长文本能力。

RWKV-7 架构性能表现

RWKV-7 的大海捞针测试

RWKV-7-World 0.1B(L12-D768)在 ctx 4k 预训练 1T tokens(world-v2.8),无需任何微调,即可完美通过 ctx 16k 的大海捞针。且 world 系列模型支持全球 100+ 种语言和代码。

niah-of-rwkv-7-world-0.1b

RWKV-7-Pile 0.4B(L24-D1024)在 ctx 4k 预训练 0.3T tokens(pile),无需任何微调,即可完美通过 ctx 16k 的大海捞针。

niah-of-rwkv-7-pile-0.4b

RWKV-7 的长文本外推测试

RWKV-7-Pile 系列模型,在 ctx 4k 预训练 0.3T tokens(pile),无需任何微调,即可自动外推到 ctx 32k+ 长度,且 ppl 随 ctx 增加持续稳步下降,说明还远未达到它的外推极限。

RWKV-7 外推到 ctx 32k+

下面是 RWKV-7 与 Mamba 的对比,所有模型(除-slimpj)都是在 Pile 训练:

RWKV-7 与 Mamba 对比,外推能力
💡Tips

评测代码由社区完成:https://github.com/Jellyfish042/LongMamba

Pile 模型横向评测

我们对多款 Pile 模型进行了综合测评。这里的所有模型,基于相同的数据集训练,并使用相同的分词器(tokenizer)进行推理,所以是真正公平公正的模型性能对比。


数据集:

https://www.modelscope.cn/datasets/AI-ModelScope/pile


我们对比了以下模型,涵盖 0.1B、0.4B、1.5B 三种参数:

  • RWKV-7 "Goose"(例如 L12-D768, lr 8e-4 to 3e-5 cosine decay, wd 0.1, bsz 8x30x4096,随机初始化。我们没有使用任何“技巧”提升性能,训练过程非常稳定,无任何毛刺,完全可复现,欢迎联系我们复现)
  • RWKV-4 "Dove"
  • Mamba(我们发现 Mamba 在实际训练中很不稳定,这里使用的是他们提供的模型,我们无法验证他们是否使用了“技巧”提升性能)
  • Pythia

从评测结果,可见 RWKV-7-Pile 在各项英文和多语言测试中,都拥有显著优势:

pile-models-eval

注意 RWKV-7 拥有显著更强的 ReCoRD 评分,这是长文本材料问答任务,表明 RWKV-7 能够更好地理解和使用长文本的信息。

此外,我们训练了两个“深窄”(更多的层数和更小的维度)的 RWKV-7-Pile 0.1B 模型 ,分别是 L25-D576 和 L33-D512,它们的综合性能更强:

pile-eval-with-l25-l33-rwkv

这表明 RWKV 架构可通过使用“深窄”尺寸,进一步提升性能。

0.1B 模型横向评测

RWKV-7-World-0.1B 是全球最强的 0.1B 多语言模型,在 world-2.8(1T tokens)数据训练后,拥有一流的英文能力,且多语言能力显著超越所有 0.1B 模型,支持全球 100+ 种语言和代码。

100m-model-eval

注意 RWKV-7-World-0.1B 在模型设计上保持 L12-D768 尺寸,而非 SmolLM2 的 L30-D576 尺寸。更少的神经网络层数(L12)使得 RWKV-7 的速度更快,更适合边缘设备等资源受限的推理场景,而且微调训练所需的数据和计算资源也更低。

这里的所有 RWKV 模型均已开源发布:


rwkv-7-world:

https://modelscope.cn/models/Blink_DL/rwkv-7-world


更多RWKV模型:

https://www.modelscope.cn/organization/Blink_DL


RWKV-7-World-0.1B 生成案例

作为仅 0.1B 参数的 L12-D768 小模型,RWKV-7-World-0.1B 拥有超越其尺寸的综合能力。以下是 RWKV-7-World-0.1B 的生成案例(使用 RWKV-Runner 运行):

multilang-case-english
multilang-case-code
multilang-case-jpn
multilang-case-chn-novel

其中的部分生成内容不准确,但考虑到,这是一个 0.1B L12-D768 的基底模型,尚未做任何 post-training,其性能可谓令人惊讶。

体验 RWKV-7-World 0.1B

RWKV-Gradio-1:

https://modelscope.cn/studios/Blink_DL/RWKV-Gradio-1


  • 小程序:


我们正在训练更大参数的 RWKV-7 模型,具体的发布计划请见后文。

RWKV-7 架构介绍

RWKV-7 采用了动态状态演化(Dynamic State Evolution),超越了 attention / linear attention 范式 TC0 表达能力的根本限制。RWKV-7 拥有 NC1 的表达能力,使其可以解决许多 attention 无法解决的问题。

简单地说,传统注意力机制(如 Transformer 的 QKV-softmax-attention)会将多个 {}(key 和 value 的向量对)存储起来,通过 q(query,查询向量)去匹配 key,得到对应的 value 输出。

RWKV-7 不直接存储 {} 对,而是通过动态计算更新 state,从上下文动态学习 key 和 value 之间的关系,再使用更新后的 state 处理新的输入 (在 RWKV 中是 ) 并得到输出。

具体而言,RWKV-7 模型拥有一个内部模型 。它需要拟合一个简单的目标:对于给定的两个向量序列 {} 和 {},通过 (state)把 转化为 ,输出的 需要和目标的 尽量接近。

为实现这个目标,RWKV-7 在推理时,对于 L2 损失函数 自动模拟出动态的梯度下降,以此来持续训练内部模型

因此,RWKV-7 是一个真正的持续学习模型。

💡Tips

有关 RWKV-7 的更详细设计思路(公式、伪代码等),请查看文章:RWKV-7 as a meta-in-context learner,从第一性原理真正理解

这种动态 State 演化机制,使得 RWKV-7 更擅长处理长上下文内容,拥有显著更强的长文本能力,且生成的内容更少出现自我重复,比各种 Transformer 和 RWKV-6 版本看上去更有连贯的思路。

RWKV-7 的架构图:

rwkv-7-architecture

RWKV-7 的训练和推理

RWKV-7 架构的训练和推理代码均已定稿,架构论文正在由彭博和社区成员联合撰写,欢迎大家参与,可在 EleutherAI 的 Discord 搜索 RWKV-papers 频道。

RWKV-7 训练代码可在 RWKV-LM仓库中查看,RWKV-PEFT 项目已支持微调 RWKV-7 模型。

推理方面,RWKV pip 0.8.28 版本、web-rwkvAi00RWKV Runner等 RWKV 推理工具均已支持 RWKV-7 模型。


  • RWKV-LM: 

https://github.com/BlinkDL/RWKV-LM


  • RWKV-PEFT 项目: 

https://github.com/JL-er/RWKV-PEFT


  • RWKV pip 0.8.28: 

https://pypi.org/project/rwkv/0.8.28/


  • web-rwkv: 

https://github.com/cryscan/web-rwkv


  • Ai00: 

https://github.com/Ai00-X/ai00_server


  • RWKV Runner: 

https://github.com/josStorer/RWKV-Runner


RWKV-7 模型发布计划

我们正在训练更大的 RWKV-7-World 模型,路线图如下:

模型数据集计划发布日期
RWKV-7-0.4BWorld-v2.9(2T)2025年1月上旬
RWKV-7-1.5BWorld-v3(3.1T)2025年1月下旬
RWKV-7-2.9BWorld-v3(3.1T)2025年2月中旬


点击阅读原文,直达模型




👇点击关注ModelScope公众号获取
更多技术信息~



魔搭ModelScope社区
模型开源社区魔搭社区ModelScope官方账号
 最新文章