Llama 3官网|llama3 本地部署|llama3下载

Llama提速500%!谷歌美女程序员的84个手搓矩阵乘法内核大显威力

nidongde2024-05-11 09:28:3418

九年前以超高薪入职谷歌的天才女程序员Justine Tunney又一次用她的才华和努力,展示了程序员的魅力。

她在社交媒体上分享了自己重写Llamafile代码的消息,她重写的84个新的矩阵乘法内核,使Llamafile可以更快地读取提示和图像。

Llama提速500%!谷歌美女程序员的84个手搓矩阵乘法内核大显威力

与llama.cpp相比,新的Llamafile在CPU上的推理速度提升了30%到500%。其中,ARMv8.2+(如RPI 5)、Intel(如Alderlake)和AVX512(如Zen 4)计算机的改进最为显著。

另外,对于适合L2缓存的矩阵,新的内核比MKL(数学核心函数库)快2倍!

Justine Tunney出生于1984年,14岁就开始帮别的黑客开发软件,当时的绰号是「Oogle」。

Justine Tunney表示:负责MKL的大家,你们有事做了!

英特尔数学核心函数库(Intel Math Kernel Library,MKL)是一套经过高度优化和广泛线程化的数学例程,专为需要极致性能的科学、工程及金融等领域的应用而设计。核心数学函数包括BLAS、LAPACK、ScaLAPACK1、稀疏矩阵解算器、快速傅立叶转换、矢量数学及其它函数。其可以为英特尔处理器提供性能优化,并且更出色地与 Microsoft Visual Studio相集成。Intel MKL是一套经过高度优化和线程化的函数库,并提供了C和Fortran接口。

毕竟,由微软,英特尔,TI,AMD,HPE,Oracle,Huawei,Facebook,ARM和National Science Foundation资助的BLIS,作为最强大的开源BLAS,输了就太没面子了!

Llamafile——跨平台的「羊驼」

Llamafile作为一个本地LLM项目,2023年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,以进一步减少内存占用。

亦步亦趋的性能提升

NO.1 老式HP主机开启了Justine Tunney的开发之路

Justine Tunney最开始尝试LLM时,用的是下面这台简陋的HP主机,运行Alpine,机械硬盘、慢速RAM、AVX2处理器、没有 GPU。

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

Justine Tunney与人合作为其引入了mmap()支持,使得权重可以立即加载,只使用原来一半的RAM,这大大优化了llama.cpp的使用效果。

之后,Justine又花了很长的时间来优化代码,让我来看一下改进后的效果:在Skylake上,llamafile实现了2倍的加速,llama.cpp也获得了50%的性能提升。

到目前为止,Justine为q8_0、f16、q4_1、q4_0和f32数据类型编写了优化的内核。

NO.2 树莓派的硬件加持

最新版的树莓派在硬件性能的提升也让llama.cpp在f16权重上实现了10倍性能提升。再加上树莓派的两个CPU都有32个矢量寄存器,Justine使用为AVX512编写的内核,使推理速度又提高了2倍。

新版的树莓派既提升了主频,又引入了对ARMv8.2 dotprod 和fp16算术ISA的支持。

NO.3 Alderlake CPU——游戏主机

在Alderlake CPU上,Justine将float16的性能提高了五倍,并且Alderlake能够在不引入舍入错误的情况下做到这一点,因为它在内部使用float32计算类型。

NO.4 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。

本文链接:https://www.hzby.vip/Llama3/20.html

Llama 3开源模型llama.meta.com/llama3Llama 3开源模型Llama 3模型下载Llama 3官网Ollama 地址GGUF 版本地址Llama-3官方模型权重地址Llama-3-70B

相关文章

网友评论