Llama提速500%!谷歌美女程序员手搓矩阵乘法内核

  • 电脑网络维修
  • 2024-11-15

谷歌的美女程序员,将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,输了就太没体面了!

Llamafile作为一个本地LLM名目,降生于去年11月,由Justine Tunney与Mozilla团队协作开发。

他们经常使用Cosmopolitan Libc,将llama.cpp打包为一个跨平台的单个二进制文件,让「羊驼」可以在基于AMD64和ARM64的六个操作系统上运转。

而且在GPU充足的状况下,Llamafile可以不须要低廉的CUDA内核,——家里的旧CPU,只需性能还行,再加一点RAM就足够了,很好地维护了大家的钱包。

名目地址:​ ​​ ​

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。

虽然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」。

咱们来浅浅地看一下她这些年的一些上班:

一个web主机,神奇的是可以跨平台在6种操作系统上运转!

这可不是Java那种叠了一层虚构机的机制,Justine开发了一种叫做APE(Acctually Portable Executbale)的文件格局,可以在任何x86-64的操作系统上口头。

「一次性编译,处处运转」——Java:嗯?这不是我吗?

cosmopolitan libc

为了能够跨平台调用外部程序,比如c规范库,Justine间接手搓了一个libc,在各种平台上成功了一切须要的外围操作:

看一下上方的上班量,真实是太炸裂了,而且普通人就算想肝,没有实力也是无法能的。

sectorLisp

仅有512个字节,最小的Lisp成功,可经过BIOS疏导进行:

除了上方这几个,还有诸如Blinkenlights、RoseHub等天赋名目,这里不再逐一罗列。

关于这番成就,有网友慨叹道:

关于之前提到的mmap上班,网友评估:「有Fabrice Bellard之风」。

2012年,Justine Tunney开局在谷歌上班,并担任了一些出名名目标关键局部。

比如小名鼎鼎的TensorFlow,Tunney为这个名目做出了许多奉献,包含用于存储数据的摘要系统。

Bazel是谷歌从Make演化而来的PB级构建系统,Tunney的重要奉献是下载器代码局部,用于智能化经营商级公共工件传输。

Nomulus是一项用于治理顶级域名的服务,是谷歌的第一个开源消费服务。Tunney担任为其编写注册表数据托管系统。

原文链接:​ ​​ ​

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6001.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号