网路冷眼 23-04-01 14:47
微博认证:科技博主 超话主持人(网路冷眼技术分享超话)

【Llama.cpp 30B runs with only 6GB of RAM now】https:///github.com/ggerganov/llama.cpp/pull/613 现在,Llama.cpp的30B版本只需要6GB的RAM就可以运行。

这是一项重大的变化,将给我们带来三个好处:

您的推断命令加载速度应该快100倍
您可能能够安全地加载2倍大的模型
您可以运行许多并发推断进程

这是通过更改文件格式实现的,因此我们可以将权重直接mmap()到内存中,而不必读取(read())或复制它们,从而确保内核可以直接使文件缓存页面可供我们的推断进程访问。其次,由于它们不再与通过吉字节的标准i/o创建的内存页面竞争,因此文件缓存页面更不太可能被驱逐出去(这将强制加载命中磁盘),由此能够获得更好的性能。

新的文件格式支持像LLaMA 7b这样的单文件模型,也支持像LLaMA 13B这样的多文件模型。我们的Python工具现在将foo.1、foo.2等文件合并成一个单一文件,这样映射它的C++代码就不需要每次重新调整数据了。这使得llama.cpp变得简单得多。其中的大部分加载代码现在已被删除。

此外,此更改确保张量在32字节边界上正确对齐。这为使用需要内存对齐的操作,探索在一些微处理器上获得额外性能提升的可能性打开了大门。

最后请注意,POSIX和Windows平台都得到了支持。

发布于 美国