自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核

發(fā)布于 2024-4-7 13:03
瀏覽
0收藏

谷歌的美女程序員,將Llama的推理速度提高了500%!


近日,天才程序員Justine Tunney發(fā)推表示自己更新了Llamafile的代碼,

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

她重寫了84個新的矩陣乘法內(nèi)核,使得Llamafile可以更快地讀取提示和圖像。


與llama.cpp相比,新的Llamafile在CPU上的推理速度提升了30%到500%。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

其中,ARMv8.2+(如RPI 5)、Intel(如Alderlake)和AVX512(如Zen 4)計算機的改進最為顯著。


另外,對于適合L2緩存的矩陣,新的內(nèi)核比MKL快2倍!

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

Justine Tunney表示:負責MKL的大家,你們有事做了!


畢竟,由微軟,英特爾,TI,AMD,HPE,Oracle,Huawei,F(xiàn)acebook,ARM和National Science Foundation資助的BLIS,作為最強大的開源BLAS,輸了就太沒面子了!

Any time somebody outside Intel beats MKL by a nontrivial amount, I report it to the MKL team. It is fantastic for any open-source project to get within 10% of MKL... [T]his is why Intel funds BLIS development.


每當英特爾以外的人以不小的幅度擊敗MKL時,我都會向MKL團隊報告。對于任何開源項目,超過MKL 10%以內(nèi)就已經(jīng)非常厲害了......這就是英特爾為BLIS開發(fā)提供資金的原因。

跨平臺的「羊駝」

Llamafile作為一個本地LLM項目,誕生于去年11月,由Justine Tunney與Mozilla團隊合作開發(fā)。


他們使用Cosmopolitan Libc,將llama.cpp打包為一個跨平臺的單個二進制文件,讓「羊駝」可以在基于AMD64和ARM64的六個操作系統(tǒng)上運行。


而且在GPU短缺的情況下,Llamafile可以不需要昂貴的CUDA內(nèi)核,——家里的舊CPU,只要性能還行,再加一點RAM就足夠了,很好地保護了大家的錢包。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

項目地址:??https://github.com/Mozilla-Ocho/llamafile/releases??


Llamafile代碼可以在GitHub上找到,使用C++編寫的,沒有外部依賴,可以在Linux、macOS、Windows、FreeBSD,甚至SerenityOS上編譯。


而且,Justine Tunney并沒有就此止步。她已經(jīng)在努力支持新的數(shù)據(jù)格式,比如FP16和BF16,以進一步減少內(nèi)存占用,——她甚至在Raspberry Pi上成功運行了TinyLlama!

性能提升

老惠普

Justine Tunney最開始嘗試LLM時,用的是下面這臺簡陋的HP主機,運行Alpine,機械硬盤、慢速RAM、AVX2處理器、沒有 GPU。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

HP Intel? Core? i9-9900 ($439) w/ 2200 MT/s RAM


出于對llama.cpp的喜愛,Justine Tunney與人合作為其引入了mmap()支持,使得權重可以立即加載,只使用原來一半的RAM。


之后,Justine又花了很長的時間來優(yōu)化代碼,讓我來看一下改進后的效果:

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

在Skylake上,llamafile實現(xiàn)了2倍的加速,llama.cpp也獲得了50%的性能提升。


到目前為止,Justine為q8_0、f16、q4_1、q4_0和f32數(shù)據(jù)類型編寫了優(yōu)化的內(nèi)核。

樹莓派

最新版的樹莓派不僅提升了主頻,還引入了對ARMv8.2 dotprod 和fp16算術ISA的支持,僅這兩個功能就讓llama.cpp在f16權重上實現(xiàn)了10倍性能提升。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

因為樹莓派的兩個CPU都有32個矢量寄存器,Justine使用為AVX512編寫的內(nèi)核,使推理速度又提高了2倍。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

不過值得注意的是,新的ARMv8.2 fp16 ISA可能會引入比平時更多的錯誤,因為它會導致llamafile使用fp16。因此,Q8_0權重實際上的效果更好,因為它使用dotprod ISA。

游戲主機

在Alderlake CPU上,Justine將float16的性能提高了五倍。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

與ARMv8.2不同,Alderlake能夠在不引入舍入錯誤的情況下做到這一點,因為內(nèi)核在內(nèi)部使用float32計算類型。


另外讓人吃驚的是,當涉及到小工作負載時,這個芯片甚至能夠在CUDA開始之前就完成任務。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

蘋果

Mac Studio,作為llama.cpp開發(fā)人員最關心的硬件平臺,想要在這里提升性能比較困難。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

另一個問題則是蘋果自身的封閉環(huán)境:


M2 Ultra將RAM DIMM放在了CPU內(nèi)部,使得token生成等受延遲限制的操作速度更快,因為CPU不再需要打「長途電話」了。


Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

我們可以看到,與便宜得多的英特爾計算機相比,M2 Ultra僅通過ARM ISA暴露了30%的計算能力。


如果開發(fā)者想訪問更多內(nèi)容,則需要通過蘋果的專有框架,例如Metal和Accelerate。

AMD

雖然llamafile非常關心幫助缺乏GPU的人,但也為另外1%的人提供了一流的體驗。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

AMD Ryzen Threadripper PRO 7995WX,通過花費10,000美元左右,你會得到96個基于Zen4架構的AVX512內(nèi)核。


盡管價格只有M2 Ultra的兩倍,但7995WX x86 ISA提供的原始計算能力是M2 Ultra ARM ISA的7倍,token生成速度幾乎相同,這可能要歸功于384M的L3緩存。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

通過Justine的優(yōu)化,現(xiàn)在可以在Zen4上以2.8倍的速度運行LLaMA。

天才程序員

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

Justine Tunney出生于1984年,14歲就開始幫別的黑客開發(fā)軟件,當時的綽號是「Oogle」。


我們來淺淺地看一下她這些年的一些工作:


RedBean

?

一個web服務器,神奇的是可以跨平臺在6種操作系統(tǒng)上運行!

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

這可不是Java那種疊了一層虛擬機的機制,Justine開發(fā)了一種叫做APE(Acctually Portable Executbale)的文件格式,可以在任何x86-64的操作系統(tǒng)上執(zhí)行。


「一次編譯,處處運行」——Java:嗯?這不是我嗎?


cosmopolitan libc

?

為了能夠跨平臺調(diào)用外部程序,比如c標準庫,Justine直接手搓了一個libc,在各種平臺上實現(xiàn)了所有需要的核心操作:

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

看一下上面的工作量,實在是太炸裂了,而且一般人就算想肝,沒有實力也是不可能的。


sectorLisp

?

僅有512個字節(jié),最小的Lisp實現(xiàn),可通過BIOS引導啟動:

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

除了上面這幾個,還有諸如Blinkenlights、RoseHub等天才項目,這里不再一一列舉。

對于這番成就,有網(wǎng)友感嘆道:

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

Every time I read something by Justine Tunney, I am continually reminded of my mediocrity.

對于之前提到的mmap工作,網(wǎng)友評價:「有Fabrice Bellard之風」。

Justine Tunney is a true genius. Similar to Fabrice Bellard, a truly unique mind.


Justine or Fabrice are the true 10x engineers, their output is world class and they are much rarer than any hiring article about these gurus want us to believe. With Justine's work, I feel  would need to be more than a 1x engineer myself just to find the time to play with all of her creations.

2012年,Justine Tunney開始在谷歌工作,并負責了一些知名項目的關鍵部分。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

比如大名鼎鼎的TensorFlow,Tunney為這個項目做出了許多貢獻,包括用于存儲數(shù)據(jù)的摘要系統(tǒng)。


Bazel是谷歌從Make演變而來的PB級構建系統(tǒng),Tunney的主要貢獻是下載器代碼部分,用于自動化運營商級公共工件傳輸。

Llama提速500%!谷歌美女程序員手搓矩陣乘法內(nèi)核-AI.x社區(qū)

Nomulus是一項用于管理頂級域名的服務,是谷歌的第一個開源生產(chǎn)服務。Tunney負責為其編寫注冊表數(shù)據(jù)托管系統(tǒng)。


本文轉自 新智元 ,作者:新智元


原文鏈接:??https://mp.weixin.qq.com/s/2ROw_Tmmh4NHf8WOiwnJLg??

收藏
回復
舉報
回復
相關推薦