今天小編分享的科學經驗:微軟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