今天小编分享的科学经验:微软Win11中发现国产开源大模型!RWKV官方:没人给我钱啊?现在捐赠还来得及,欢迎阅读。
微软正尝试在 Office 中集成国产开源大模型 RWKV!
RWKV 官方甚至直接发了个推文表示:
RWKV.cpp,现已在全球五亿系统中部署。
之所以这么说,是因为他们发现最新版 Windows 11 系统的Office 檔案夹中有以 rwkv 命名的 DLL 檔案,包含 GPU、CPU 版本。
对这些二进制檔案进行反编译检查,结果发现就是 GitHub 的 RWKV.cpp 项目的一种变体。
人人都可以将 Windows 11 更新到最新版本,通过以下路径自行验证:
C:Program FilesMicrosoft OfficerootvfsProgramFilesCommonX64Microsoft SharedOFFICE16
或者,也可以在 IT 商店的任何 "copilot Windows 11" 设备上搜索系统檔案中的 rwkv。
消息一出,引发网友热议,不少网友喊微软赶紧打钱。
如果他们没有给予支持或引用你们的贡献,那就有点说不过去了。
希望这项工作能得到丰厚的报酬。
微软可能用 RWKV 干啥?
RWKV 团队猜测,微软可能会将 RWKV 用于正在测试的本地 Copilot、memory recall等功能。
在之前微软发布新一代 Copilot+PC 中就有提到过,在专为 AI 重构的新版 Windows 11 上,许多功能都是实时的。
为此,微软引入了全新的系统架构,将 CPU、GPU 和新的高性能神经处理单元 NPU 结合在一起。
NPU 就负责在后台实时运行 AI,Recall 功能背后其实就是AI 对你螢幕上正在处理的所有内容做分类。
而 RWKV 模型的优势是:
支持 100 多种语言,有利于全球化部署;
相比传统 Transformer 模型,运行能耗低得多,能够在包括树莓派等各种设备上高效运行。
如下图所示,生成更多 token 所需的计算资源随 token 数增加而线性增加,cuda_rwkv-4-pile-3b 的曲线在整个过程中相对低了一大截,表明在相同量 token 情况下,这个模型 GPU 消耗更为高效。
而能耗对于设备电池寿命而言至关重要。
当然这些只是猜测,关于微软的真实用意,团队表示后续将密切关注。
RWKV 是什么 ?
再来简要介绍一下 RWKV,之前量子位也有持续关注,
RWKV 设计灵感来自苹果 21 年的研究《An Attention Free Transform》,团队意识到如果在公式中使用循环矩阵(circular matrices)就可以将网络结构写成 RNN。
与 GPT 系列的时间复杂度 O ( n^2 ) 相比,RNN 的时间复杂度只有 O ( n ) , 空间复杂度是 O ( 1 ) 。
这意味着生成内容的速度不会随长度而夸张增涨,显存占用也是恒定的。
论文共同一作彭博在接受 36kr 采访时曾这样形容:
GPT 每写一个字就要重新看一遍前面所有文字,效率很低。而 RWKV 就相当于人类读了一遍资料后,在不再看资料的情况下直接回答。
这项研究去年一经发布,就在学术圈得到大量关注。
RWKV 开山论文背后是由来自 27 家大学、研究机构和公司的研究人员组成的团队,作者达 30 人。
共同一作彭博(Peng Bo),毕业于香港大学物理系,编程经验 20+ 年,曾在世界最大外汇对冲基金之一 Ortus Capital 就职,负责高频量化交易。
还出版过一本关于深度卷积网络的书籍《深度卷积网络 · 原理与实践》。
他的主要关注和兴趣方向在软硬體开发方面,在此前的公开访谈中,他曾明确表示 AIGC 是自己的兴趣所在,尤其是小说生成。
但他的最主要公开身份是一家灯具公司禀临科技的联合创始人,主要是做阳光灯、吸顶灯、便携台灯等。
并且其人应该是一个喵星人资深爱好者,Github、知乎、微信头像,以及灯具公司的官网首页、微博上,都有橘猫的身影。
今年,:Eagle ( RWKV-5 ) 、Finch(RWKV-6 ) 。
这两种序列模型以 RWKV-4 架构为基础,在多头矩阵值状态(multi-headed matrix-valued states)和动态递归机制(dynamic recurrence mechanism)上做了改进,提高了 RWKV 模型的表达能力,同时保持 RNN 的推理效率特征。
同时,新架构引入了一个新的多语言语料库,包含 1.12 万亿个 token。
团队还基于贪婪匹配(greedy matching)开发了一种快速的分词器,以增强 RWKV 的多语言性。
参考链接:
[ 1 ] https://x.com/RWKV_AI/status/1831000938120917336
[ 2 ] https://github.com/RWKV/rwkv.cpp