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-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 的优势是在于可以方便的部署,不需要 GPU,而且开源协议是可以商用的。
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(可用)
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(可用)
开源 1.5/3/7B 中文小说模型:显存 3G 就能跑 7B 模型,几行代码即可调用
https://zhuanlan.zhihu.com/p/609154637
开源 1.5/3/7B 中文小说模型:显存 3G 就能跑 7B 模型,几行代码即可调用
https://zhuanlan.zhihu.com/p/609154637
ChatRWKV(有可用猫娘模型!) 微调/部署/使用/训练资源合集 https://zhuanlan.zhihu.com/p/616351661 RWKV-v2-RNN
原理:超越 Transformer,实现 O(T) 的语言建模 https://zhuanlan.zhihu.com/p/514840332
ChatRWKV(有可用猫娘模型!) 微调/部署/使用/训练资源合集 https://zhuanlan.zhihu.com/p/616351661 RWKV-v2-RNN
原理:超越 Transformer,实现 O(T) 的语言建模 https://zhuanlan.zhihu.com/p/514840332
中文模型的 Demo: https://modelscope.cn/studios/BlinkDL/RWKV-CHN/summary/
中文模型的 Demo: https://modelscope.cn/studios/BlinkDL/RWKV-CHN/summary/
RWKV "Raven"模型的跑团能力:14B 英文很强,7B 中文也好玩。 RWKV 将对 GPT 实施降维打击。 https://zhuanlan.zhihu.com/p/619721229
RWKV "Raven"模型的跑团能力:14B 英文很强,7B 中文也好玩。 RWKV 将对 GPT 实施降维打击。 https://zhuanlan.zhihu.com/p/619721229
从代码理解上来说,RWKV 的两个 Go 语言的实现是最好理解的。
https://github.com/nlpodyssey/rwkv
https://github.com/nlpodyssey/verbaflow
从代码理解上来说,RWKV 的两个 Go 语言的实现是最好理解的。
https://github.com/nlpodyssey/rwkv
https://github.com/nlpodyssey/verbaflow
要想搞明白 RWKV,两论文必须看:
time-mix: Apple's AFT
channel-mix: GeGLU
要想搞明白 RWKV,两论文必须看:
time-mix: Apple's AFT
channel-mix: GeGLU
RWKV 在长 context 和节约显存上都有很大的优势。
RWKV 在长 context 和节约显存上都有很大的优势。
门控线性单元 [Dauphin et al., 2016] 由两个线性投影的分量乘积组成,其中一个首先通过 sigmoid 函数。 GLU 的变体是可能的,使用不同的非线性 (甚至线性) 函数代替 sigmoid 。我们在 Transformer[Vaswani et al., 2017] 序列到序列模型的前馈子层中测试了这些变体,发现其中一些变体比通常使用的 ReLU 或 GELU 激活产生了质量改进。
门控线性单元 [Dauphin et al., 2016] 由两个线性投影的分量乘积组成,其中一个首先通过 sigmoid 函数。 GLU 的变体是可能的,使用不同的非线性 (甚至线性) 函数代替 sigmoid 。我们在 Transformer[Vaswani et al., 2017] 序列到序列模型的前馈子层中测试了这些变体,发现其中一些变体比通常使用的 ReLU 或 GELU 激活产生了质量改进。
FLASH:高效 Transformer 解析 (1)---GLU(Gated Linear Unit,门控线性单元) https://zhuanlan.zhihu.com/p/486055017
FLASH:高效 Transformer 解析 (1)---GLU(Gated Linear Unit,门控线性单元) https://zhuanlan.zhihu.com/p/486055017
TimeMix TimeMix 是 RWKV 中用于代替 self-attention 的部分,基于 AFT 的基础上做出改进兼具了线性的速度和较好的性能。在进行该步前,需要对输入的 x 进行 time-shift 。同 self-attention 中的 QKV 矩阵一样,RWKV 中也有对应的 RKV 矩阵。
TimeMix TimeMix 是 RWKV 中用于代替 self-attention 的部分,基于 AFT 的基础上做出改进兼具了线性的速度和较好的性能。在进行该步前,需要对输入的 x 进行 time-shift 。同 self-attention 中的 QKV 矩阵一样,RWKV 中也有对应的 RKV 矩阵。
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 。
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 。
两个相关的数据集:
https://huggingface.co/datasets/EleutherAI/the_pile
https://huggingface.co/datasets/bigscience/xP3all
两个相关的数据集:
https://huggingface.co/datasets/EleutherAI/the_pile
https://huggingface.co/datasets/bigscience/xP3all
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 的高性能的语言模型。它非常适合在各种计算设备上部署和使用, 这使其在实际应用中具有重要的参考价值。
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 的高性能的语言模型。它非常适合在各种计算设备上部署和使用, 这使其在实际应用中具有重要的参考价值。
ChatRWKV 桌面版懒人包 https://github.com/ZG1711/ChatRWKV_PC
ChatRWKV 桌面版懒人包 https://github.com/ZG1711/ChatRWKV_PC
RWKV-Runner https://github.com/josStorer/RWKV-Runner
RWKV-Runner https://github.com/josStorer/RWKV-Runner
https://github.com/cwhy/rwkv-decon 解构 RWKV
https://github.com/cwhy/rwkv-decon 解构 RWKV
Transformer 的物理原理 https://mp.weixin.qq.com/s/wUtwfeWAbMCBzRu5pWk2Cg
Transformer 的物理原理 https://mp.weixin.qq.com/s/wUtwfeWAbMCBzRu5pWk2Cg
最新中文 Demo:
https://www.codewithgpu.com/i/app/BlinkDL/ChatRWKV/RWKV-4-Raven-7B
最新中文 Demo:
https://www.codewithgpu.com/i/app/BlinkDL/ChatRWKV/RWKV-4-Raven-7B
Scaling Transformer to 1M tokens and beyond with
RMT
https://arxiv.org/pdf/2304.11062.pdf
Scaling Transformer to 1M tokens and beyond with
RMT
https://arxiv.org/pdf/2304.11062.pdf
在 Transformer 时代重塑 RNN,RWKV 将非 Transformer 架构扩展到数百亿参数
https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247557276&idx=2&sn=1f51cd639a13b877ad68df4a7f29c990&chksm=ebb6d848dcc1515ee332fdd9f817201a95b643051c9b1cc122f56fb87a97ea52daf798a2ac0f&mpshare=1&scene=23&srcid=05267WMvjLc7Fa40KbBStvVT&sharer_sharetime=1685061777878&sharer_shareid=64f0c4ede89121e79f548881e4a8c86d#rd
在 Transformer 时代重塑 RNN,RWKV 将非 Transformer 架构扩展到数百亿参数
https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=2247557276&idx=2&sn=1f51cd639a13b877ad68df4a7f29c990&chksm=ebb6d848dcc1515ee332fdd9f817201a95b643051c9b1cc122f56fb87a97ea52daf798a2ac0f&mpshare=1&scene=23&srcid=05267WMvjLc7Fa40KbBStvVT&sharer_sharetime=1685061777878&sharer_shareid=64f0c4ede89121e79f548881e4a8c86d#rd
PandaGPT-一条通往 「通用人工智能 AGI」 更近的路,同时支持文本、图像/视频、音频、深度、热量和 IMU6 种模态。
https://mp.weixin.qq.com/s?__biz=Mzg5MTkxNjQwMw==&mid=2247485741&idx=1&sn=1aa729531d130535e3304a2fe428cec9&chksm=cfc75031f8b0d927849d3ddbf17f2737f509172cb756e0603e825b209f03eea605012cf77314&mpshare=1&scene=23&srcid=0526JeEJ2OrI6JVu9HJ4Gspw&sharer_sharetime=1685062041145&sharer_shareid=435074712f289a011cbede67c5a4f27d#rd
PandaGPT-一条通往 「通用人工智能 AGI」 更近的路,同时支持文本、图像/视频、音频、深度、热量和 IMU6 种模态。
https://mp.weixin.qq.com/s?__biz=Mzg5MTkxNjQwMw==&mid=2247485741&idx=1&sn=1aa729531d130535e3304a2fe428cec9&chksm=cfc75031f8b0d927849d3ddbf17f2737f509172cb756e0603e825b209f03eea605012cf77314&mpshare=1&scene=23&srcid=0526JeEJ2OrI6JVu9HJ4Gspw&sharer_sharetime=1685062041145&sharer_shareid=435074712f289a011cbede67c5a4f27d#rd