谁说家用机不能跑 Mixtral-8x22b-v0.1的,我就偏不信。Mistral 公司又发布了比8x7B更强的MoE模型------Mixtral-8x22b-v0.1。于是我就想试试家庭机能不能跑。
昨天也挺艰辛的。从下午18点开始,HF下载就卡的一批,我还以为CDN网络被墙了。后来想想,估计是友军都在下载model。还是Musk英明神武,先投了Bittorrent文件,再丢Huggingface。动不动100B参的LLM确实占带宽。建议开源100B以上的放个Bittorrent文件,或者大家优先B2B下载。
硬件
RTX 4090
i9 13代
RAM 128G
Arch OS
日志
首先,原生的版本我们肯定pass掉的,于是看到 mistral-community/Mixtral-8x22B-v0.1-4bit。
下载完后,根据代码运行。结果报了vram不足
这个时候查看Model size:72.7B params
参考
只进行推理如果只是进行推理的话,还是比较容易计算的。目前模型的参数绝大多数都是float32类型, 占用4个字节。所以一个粗略的计算方法就是,每10亿个参数,占用4G显存(实际应该是10^9*4/1024/1024/1024=3.725G,为了方便可以记为4G)。比如LLaMA的参数量为7000559616,那么全精度加载这个模型参数需要的显存为:7000559616 * 4 /1024/1024/1024 = 26.08G
于是试试CPU的模式,结果查了github说bitsandbytes必须使用CUDA。WTF!!!
想想有没有CPU模拟方案,一番查找后发现 github.com/intel/intel...
一顿突突部署,结果卡在exit方法错误。难怪隔壁55K,I家项目1.9K。
我再看了看还有 mistral-community/Mixtral-8x22B-v0.1-AWQ。 "杰哥,我超勇的哦" 我又下载后,运行发现 autoawq也需要cuda模型而且 Requires ~260GB VRAM in fp16, 73GB in int4
怎么可以这样对待玩家显卡 4090?
难道不知道我会cpp吗?好歹我之前研究过 llamafile 的。感谢 MaziyarPanahi/Mixtral-8x22B-v0.1-GGUF 项目把它量化成Guff。 立刻clone llama.cpp项目,make编译,main运行试试。这里我胆子大,直接选择Mixtral-8x22B-v0.1.Q5_K_M。
腾了160G disk,终于跑起来了。
嗯,真香~ 不得不说,Mixtral调教的还不错, 速度能在1 token/s