RWKV模型

RWKV-LM 是一个开源的LLM,作者是PENG Bo

论文:RWKV: Reinventing RNNs for the Transformer Era

chatRWKV 用RWKV做后端的类chatGPT项目。

RWKV cuda 支持AMD和CUDA平台的量化RWKV推理项目,无pytorch依赖。

rwkv.cpp 纯CPU部署RWKV高速量化推理。

RWKV Notebooks 一些相关的Jupyter Notebooks。

评论

《 “RWKV模型” 》 有 45 条评论

  1. Master, Halo 的头像

    RWKV的优势是在于可以方便的部署,不需要GPU,而且开源协议是可以商用的。

  2. C3P00 的头像

    RWKV(Receptance Weighted Key Value)是一个具有变形金刚级性能的RNN,没有二次注意机制:只需要当前位置的隐藏状态来计算下一个位置的状态。

    RWKV 旨在高效执行推理,即使在 CPU 上也是如此,因此它非常适合在普通消费者硬件上以不错的速度运行 LLM(大语言模型)。

    RWKV是一个具有变压器级LLM性能的RNN。它可以像GPT(可并行化)一样直接训练。因此,它结合了RNN和转换器的优点 – 出色的性能,快速推理,节省VRAM,快速训练,“无限”ctx_len和免费句子嵌入。

    RWKV 是一个具有变压器级 LLM 性能的 RNN,也可以像 GPT 转换器(可并行化)一样直接训练。而且它是100%免关注的。您只需要位置 t 处的隐藏状态即可计算位置 t+1 处的状态。您可以使用“GPT”模式快速计算“RNN”模式的隐藏状态。

    因此,它结合了RNN和转换器的优点 – 出色的性能,快速推理,节省VRAM,快速训练,“无限”ctx_len和自由句子嵌入(使用最终隐藏状态)。

    工作原理:RWKV 将信息收集到多个通道,当您移动到下一个令牌时,这些通道也会以不同的速度衰减。一旦你理解了它,它就很简单了。

    RWKV 是可并行化的,因为每个通道的时间衰减都是独立于数据的(且可训练的)。例如,在通常的RNN中,您可以将通道的时间衰减从0.8调整到0.5(这些称为“门”),而在RWKV中,您只需将信息从W-0.8通道移动到W-0.5通道即可达到相同的效果。此外,如果您想要额外的性能,您可以将 RWKV 微调为不可并行化的 RNN(然后您可以使用前一个令牌的后续层的输出)。

    – Raven 模型:适合直接聊天,适合 +i 指令。有很多种语言的版本,看清楚用哪个。适合聊天、完成任务、写代码。可以作为任务去写文稿、大纲、故事、诗歌等等,但文笔不如 testNovel 系列模型。

    – EngChn-testNovel 模型:中英文小说模型,可以用 +gen 生成世界设定(如果会写 prompt,可以控制下文剧情和人物),可以写科幻奇幻。不适合聊天,不适合 +i 指令。

    – Chn-testNovel 模型:纯中文网文模型,只能用 +gen 续写网文(不能生成世界设定等等),但是写网文写得更好(也更小白文,适合写男频女频)。不适合聊天,不适合 +i 指令。

    原版:
    https://github.com/BlinkDL/RWKV-LM
    Go实现:
    https://github.com/nlpodyssey/rwkv
    https://github.com/nlpodyssey/verbaflow
    RWKV-CUDA:
    https://github.com/BlinkDL/RWKV-CUDA
    Chat机器人:
    https://github.com/BlinkDL/ChatRWKV
    https://huggingface.co/spaces/BlinkDL/ChatRWKV-gradio (太忙,经常不可用)

    Raven:
    https://huggingface.co/BlinkDL/rwkv-4-raven
    ## Demo: https://huggingface.co/spaces/BlinkDL/Raven-RWKV-7B (可用)

  3. Halo Master 的头像

    RWKV(Receptance Weighted Key Value)是一个具有变形金刚级性能的RNN,没有二次注意机制:只需要当前位置的隐藏状态来计算下一个位置的状态。

    RWKV 旨在高效执行推理,即使在 CPU 上也是如此,因此它非常适合在普通消费者硬件上以不错的速度运行 LLM(大语言模型)。

    RWKV是一个具有变压器级LLM性能的RNN。它可以像GPT(可并行化)一样直接训练。因此,它结合了RNN和转换器的优点 – 出色的性能,快速推理,节省VRAM,快速训练,“无限”ctx_len和免费句子嵌入。

    RWKV 是一个具有变压器级 LLM 性能的 RNN,也可以像 GPT 转换器(可并行化)一样直接训练。而且它是100%免关注的。您只需要位置 t 处的隐藏状态即可计算位置 t+1 处的状态。您可以使用“GPT”模式快速计算“RNN”模式的隐藏状态。

    因此,它结合了RNN和转换器的优点 – 出色的性能,快速推理,节省VRAM,快速训练,“无限”ctx_len和自由句子嵌入(使用最终隐藏状态)。

    工作原理:RWKV 将信息收集到多个通道,当您移动到下一个令牌时,这些通道也会以不同的速度衰减。一旦你理解了它,它就很简单了。

    RWKV 是可并行化的,因为每个通道的时间衰减都是独立于数据的(且可训练的)。例如,在通常的RNN中,您可以将通道的时间衰减从0.8调整到0.5(这些称为“门”),而在RWKV中,您只需将信息从W-0.8通道移动到W-0.5通道即可达到相同的效果。此外,如果您想要额外的性能,您可以将 RWKV 微调为不可并行化的 RNN(然后您可以使用前一个令牌的后续层的输出)。

    – Raven 模型:适合直接聊天,适合 +i 指令。有很多种语言的版本,看清楚用哪个。适合聊天、完成任务、写代码。可以作为任务去写文稿、大纲、故事、诗歌等等,但文笔不如 testNovel 系列模型。

    – EngChn-testNovel 模型:中英文小说模型,可以用 +gen 生成世界设定(如果会写 prompt,可以控制下文剧情和人物),可以写科幻奇幻。不适合聊天,不适合 +i 指令。

    – Chn-testNovel 模型:纯中文网文模型,只能用 +gen 续写网文(不能生成世界设定等等),但是写网文写得更好(也更小白文,适合写男频女频)。不适合聊天,不适合 +i 指令。

    原版:
    https://github.com/BlinkDL/RWKV-LM
    Go实现:
    https://github.com/nlpodyssey/rwkv
    https://github.com/nlpodyssey/verbaflow
    RWKV-CUDA:
    https://github.com/BlinkDL/RWKV-CUDA
    Chat机器人:
    https://github.com/BlinkDL/ChatRWKV
    https://huggingface.co/spaces/BlinkDL/ChatRWKV-gradio (太忙,经常不可用)

    Raven:
    https://huggingface.co/BlinkDL/rwkv-4-raven
    ## Demo: https://huggingface.co/spaces/BlinkDL/Raven-RWKV-7B (可用)

  4. C3P00 的头像

    开源1.5/3/7B中文小说模型:显存3G就能跑7B模型,几行代码即可调用
    https://zhuanlan.zhihu.com/p/609154637

  5. Halo Master 的头像

    开源1.5/3/7B中文小说模型:显存3G就能跑7B模型,几行代码即可调用
    https://zhuanlan.zhihu.com/p/609154637

  6. C3P00 的头像

    ChatRWKV(有可用猫娘模型!)微调/部署/使用/训练资源合集 https://zhuanlan.zhihu.com/p/616351661 RWKV-v2-RNN
    原理:超越 Transformer,实现 O(T) 的语言建模 https://zhuanlan.zhihu.com/p/514840332

  7. Halo Master 的头像

    ChatRWKV(有可用猫娘模型!)微调/部署/使用/训练资源合集 https://zhuanlan.zhihu.com/p/616351661 RWKV-v2-RNN
    原理:超越 Transformer,实现 O(T) 的语言建模 https://zhuanlan.zhihu.com/p/514840332

  8. C3P00 的头像

    RWKV “Raven”模型的跑团能力:14B英文很强,7B中文也好玩。RWKV将对GPT实施降维打击。 https://zhuanlan.zhihu.com/p/619721229

  9. Halo Master 的头像

    RWKV “Raven”模型的跑团能力:14B英文很强,7B中文也好玩。RWKV将对GPT实施降维打击。 https://zhuanlan.zhihu.com/p/619721229

  10. C3P00 的头像

    从代码理解上来说,RWKV的两个Go语言的实现是最好理解的。
    https://github.com/nlpodyssey/rwkv
    https://github.com/nlpodyssey/verbaflow

  11. Halo Master 的头像

    从代码理解上来说,RWKV的两个Go语言的实现是最好理解的。
    https://github.com/nlpodyssey/rwkv
    https://github.com/nlpodyssey/verbaflow

  12. C3P00 的头像

    要想搞明白RWKV,两论文必须看:
    time-mix: Apple’s AFT
    channel-mix: GeGLU

  13. Halo Master 的头像

    要想搞明白RWKV,两论文必须看:
    time-mix: Apple’s AFT
    channel-mix: GeGLU

  14. C3P00 的头像

    RWKV在长context和节约显存上都有很大的优势。

  15. Halo Master 的头像

    RWKV在长context和节约显存上都有很大的优势。

  16. C3P00 的头像

    门控线性单元 [Dauphin et al., 2016] 由两个线性投影的分量乘积组成,其中一个首先通过 sigmoid函数。 GLU 的变体是可能的,使用不同的非线性(甚至线性)函数代替 sigmoid。我们在 Transformer[Vaswani et al., 2017] 序列到序列模型的前馈子层中测试了这些变体,发现其中一些变体比通常使用的ReLU 或 GELU 激活产生了质量改进。

  17. Halo Master 的头像

    门控线性单元 [Dauphin et al., 2016] 由两个线性投影的分量乘积组成,其中一个首先通过 sigmoid函数。 GLU 的变体是可能的,使用不同的非线性(甚至线性)函数代替 sigmoid。我们在 Transformer[Vaswani et al., 2017] 序列到序列模型的前馈子层中测试了这些变体,发现其中一些变体比通常使用的ReLU 或 GELU 激活产生了质量改进。

  18. C3P00 的头像

    FLASH:高效Transformer解析(1)—GLU(Gated Linear Unit,门控线性单元) https://zhuanlan.zhihu.com/p/486055017

  19. Halo Master 的头像

    FLASH:高效Transformer解析(1)—GLU(Gated Linear Unit,门控线性单元) https://zhuanlan.zhihu.com/p/486055017

  20. C3P00 的头像

    TimeMix TimeMix是RWKV中用于代替self-attention的部分,基于AFT的基础上做出改进兼具了线性的速度和较好的性能。在进行该步前,需要对输入的x进行time-shift。同self-attention中的QKV矩阵一样,RWKV中也有对应的RKV矩阵。

  21. Halo Master 的头像

    TimeMix TimeMix是RWKV中用于代替self-attention的部分,基于AFT的基础上做出改进兼具了线性的速度和较好的性能。在进行该步前,需要对输入的x进行time-shift。同self-attention中的QKV矩阵一样,RWKV中也有对应的RKV矩阵。

  22. C3P00 的头像

    ChannelMix ChannelMix 是RWKV中用于替代FFN的部分。类似于tiny attention之于attention。ChannelMix本质上来说是一个tiny TimeMix。在进行该步计算前,和TimeMix一样要先进行一次time-shift。随后依然要计算出RKV矩阵和W权重。不过有所不同的是在这一步中假设输入x的维度是embed_size,则R的维度应和X相同。KV的维度是用户所自定义的hidden_size,W的形状为[hidden_size,embed_size].通过设置较小的hidden_size可以实现一个tiny版TimeMix,能在对性能影响较小的情况下实现提速。当hidden_size==embed_size时,可以看作一个不考虑位置信息和归一化的TimeMix或者看作点乘式的FFN。

  23. Halo Master 的头像

    ChannelMix ChannelMix 是RWKV中用于替代FFN的部分。类似于tiny attention之于attention。ChannelMix本质上来说是一个tiny TimeMix。在进行该步计算前,和TimeMix一样要先进行一次time-shift。随后依然要计算出RKV矩阵和W权重。不过有所不同的是在这一步中假设输入x的维度是embed_size,则R的维度应和X相同。KV的维度是用户所自定义的hidden_size,W的形状为[hidden_size,embed_size].通过设置较小的hidden_size可以实现一个tiny版TimeMix,能在对性能影响较小的情况下实现提速。当hidden_size==embed_size时,可以看作一个不考虑位置信息和归一化的TimeMix或者看作点乘式的FFN。

  24. C3P00 的头像

    RWKV是一个具有变压器级语言模型性能的RNN,它没有使用注意力机制,而是直接利用当前位置的隐藏状态计算下一个位置的隐藏状态。这使得它可以高效执行推理,甚至在CPU上也具有不错的速度,非常适合在普通计算设备上运行大规模语言模型。
    RWKV可以像GPTtransformer一样直接训练,实现并行化训练。所以它结合了RNN和transformer的优点,如出色的性能、快速推理、节省显存、快速训练、“无限”的上下文长度和免费的句子嵌入。
    RWKV通过收集信息到多个通道来工作,这些通道会随着移动到下一个token而以不同的速度衰减。每个通道的时间衰减是独立于数据的,且是可训练的。这使得RWKV是可并行化的。同时,RWKV也可以调整为不可并行化的RNN,在这种情况下,后续层的输出可以用于前一个token,以获得额外的性能提升。
    您推荐的几个RWKV模型各有不同的用途:
    • Raven模型适合直接聊天,完成任务和编写代码。它可以用来写文章、大纲、故事和诗歌,但文笔不如testNovel系列模型。 • EngChn-testNovel模型是中英文小说模型,可以用来生成世界观设定和续写科幻奇幻作品。但不适合聊天和响应+i指令。 • Chn-testNovel模型是纯中文网文模型,只能用来续写网文,文笔更加通俗。同样不适合聊天和+i指令。
    RWKV是一个非常有价值的项目,它实现了一个既具有RNN的计算效率和序列建模能力,又具有transformer的高性能的语言模型。它非常适合在各种计算设备上部署和使用,这使其在实际应用中具有重要的参考价值。

  25. Halo Master 的头像

    RWKV是一个具有变压器级语言模型性能的RNN,它没有使用注意力机制,而是直接利用当前位置的隐藏状态计算下一个位置的隐藏状态。这使得它可以高效执行推理,甚至在CPU上也具有不错的速度,非常适合在普通计算设备上运行大规模语言模型。
    RWKV可以像GPTtransformer一样直接训练,实现并行化训练。所以它结合了RNN和transformer的优点,如出色的性能、快速推理、节省显存、快速训练、“无限”的上下文长度和免费的句子嵌入。
    RWKV通过收集信息到多个通道来工作,这些通道会随着移动到下一个token而以不同的速度衰减。每个通道的时间衰减是独立于数据的,且是可训练的。这使得RWKV是可并行化的。同时,RWKV也可以调整为不可并行化的RNN,在这种情况下,后续层的输出可以用于前一个token,以获得额外的性能提升。
    您推荐的几个RWKV模型各有不同的用途:
    • Raven模型适合直接聊天,完成任务和编写代码。它可以用来写文章、大纲、故事和诗歌,但文笔不如testNovel系列模型。 • EngChn-testNovel模型是中英文小说模型,可以用来生成世界观设定和续写科幻奇幻作品。但不适合聊天和响应+i指令。 • Chn-testNovel模型是纯中文网文模型,只能用来续写网文,文笔更加通俗。同样不适合聊天和+i指令。
    RWKV是一个非常有价值的项目,它实现了一个既具有RNN的计算效率和序列建模能力,又具有transformer的高性能的语言模型。它非常适合在各种计算设备上部署和使用,这使其在实际应用中具有重要的参考价值。

  26. C3P00 的头像

    Scaling Transformer to 1M tokens and beyond with
    RMT
    https://arxiv.org/pdf/2304.11062.pdf

  27. Halo Master 的头像

    Scaling Transformer to 1M tokens and beyond with
    RMT
    https://arxiv.org/pdf/2304.11062.pdf

发表回复

人生梦想 - 关注前沿的计算机技术 acejoy.com