成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

人工智能
近日,天才程序員Justine Tunney發推表示自己更新了Llamafile的代碼,通過手搓84個新的矩陣乘法內核,將Llama的推理速度提高了500%!

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

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

圖片圖片

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

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

圖片圖片

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

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

圖片圖片

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

畢竟,由微軟,英特爾,TI,AMD,HPE,Oracle,Huawei,Facebook,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%以內就已經非常厲害了......這就是英特爾為BLIS開發提供資金的原因。

跨平臺的「羊駝」

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

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

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

圖片圖片

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

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

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

性能提升

老惠普

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

圖片圖片

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

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

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

圖片圖片

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

到目前為止,Justine為q8_0、f16、q4_1、q4_0和f32數據類型編寫了優化的內核。

樹莓派

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

圖片圖片

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

圖片圖片

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

游戲主機

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

圖片圖片

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

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

圖片圖片

蘋果

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

圖片圖片

另一個問題則是蘋果自身的封閉環境:

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

圖片圖片

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

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

AMD

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

圖片圖片

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

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

圖片圖片

通過Justine的優化,現在可以在Zen4上以2.8倍的速度運行LLaMA。

天才程序員

圖片圖片

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

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

RedBean

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

圖片圖片

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

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

cosmopolitan libc

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

圖片圖片

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

sectorLisp

僅有512個字節,最小的Lisp實現,可通過BIOS引導啟動:

圖片圖片

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

對于這番成就,有網友感嘆道:

圖片圖片

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

對于之前提到的mmap工作,網友評價:「有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開始在谷歌工作,并負責了一些知名項目的關鍵部分。

圖片圖片

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

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

圖片圖片

Nomulus是一項用于管理頂級域名的服務,是谷歌的第一個開源生產服務。Tunney負責為其編寫注冊表數據托管系統。

參考資料:https://twitter.com/JustineTunney/status/1774621341473489024

責任編輯:武曉燕 來源: 新智元
相關推薦

2011-03-03 17:56:40

程序員美女

2025-05-30 09:12:00

2012-07-18 08:22:11

梅耶爾

2019-04-16 14:03:47

編程程序員代碼

2013-03-06 09:50:02

程序員搜索

2022-12-07 10:21:19

谷歌搜索技巧

2018-09-06 13:06:46

程序員焦慮谷歌

2019-11-28 10:53:19

程序員技能開發者

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2014-04-18 14:32:31

美女程序員Android開發者

2023-04-17 21:48:00

OpenAIAI

2009-05-21 15:58:12

程序員工作經驗職場

2011-05-13 14:34:02

程序員

2013-05-31 13:03:28

2015-08-25 08:26:39

IT公司程序員鼓勵師

2013-07-12 10:58:16

程序員

2015-09-15 09:14:10

程序員經驗教訓

2015-04-10 19:37:34

程序員

2022-03-16 11:10:19

程序員社區技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 男人的天堂在线视频 | 精精久久 | 美女视频一区二区三区 | 精品国产伦一区二区三区观看说明 | 午夜在线观看免费 | 日韩免费看视频 | 国产乱码精品1区2区3区 | 天天干视频在线 | 一区二区精品 | 欧美成人h版在线观看 | 盗摄精品av一区二区三区 | 黄视频网站免费观看 | 亚洲图片视频一区 | 欧美日韩精品区 | 久久大陆 | 国产精品高潮呻吟久久aⅴ码 | 精品日韩一区二区 | 国产三级大片 | 亚洲欧美视频一区二区 | 一区免费看 | 午夜影晥| 日韩在线免费视频 | 国产精品亚洲第一 | 97偷拍视频 | 在线观看视频一区二区三区 | 国产美女黄色 | 欧美性乱 | 热久久久 | 中文字幕亚洲专区 | 欧美日韩成人在线 | 久久久青草婷婷精品综合日韩 | xxxcom在线观看 | 亚洲精品免费在线观看 | 97综合在线 | 亚洲一区二区三区免费观看 | 高清久久久 | 日本久久网| 99久久婷婷 | 99精品视频免费观看 | 日本午夜免费福利视频 | 久久国产激情视频 |