Mozilla发布的llamafile是在个人计算机上运行LLM的最佳方法

Mozilla的创新团队和Justine Tunney刚刚发布了llamafile,我认为这是目前在您自己的计算机上开始运行大型语言模型(比如您自己的ChatGPT本地副本)的最佳方法。

llamafile是一个包含LLM模型权重和运行该模型所需代码的单个多GB文件,在某些情况下还包括带有用于与之交互的Web用户界面的完整本地服务器。

该可执行文件使用Cosmopolitan Libc进行编译,这是Justine的令人难以置信的项目,支持编译一个单独的二进制文件,在多个不同的操作系统和硬件架构上不经修改地工作。

以下是如何开始使用LLaVA 1.5的步骤,它是一个大型多模态模型(包括文本和图像输入,类似于GPT-4 Vision),在Llama 2的基础上进行了优化。我在M2 Mac上测试了这个过程,但其他平台上也应该可以运行(但请务必阅读自述文件中的注意事项部分,并查看Justine在Hacker News评论中列出的受支持的平台列表)。

1、从Justine在Hugging Face上的存储库中下载大小为4.26GB的llamafile-server-0.1-llava-v1.5-7b-q4文件。

curl -LO https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4-server.llamafile

2、通过在终端中运行以下命令将该二进制文件设置为可执行:

chmod 755 llava-v1.5-7b-q4-server.llamafile

3、运行您的新可执行文件,它将在端口8080上启动一个Web服务器:

./llava-v1.5-7b-q4-server.llamafile

4、在浏览器中导航到127.0.0.1:8080/ 以开始与模型进行交互。

就这些。在我的M2 Mac上,它的运行速度约为每秒55个令牌,非常快。它还可以分析图像-当我上传一张照片并询问“描述这个植物”时,我得到了以下结果:

工作原理

这里有许多不同的组件共同工作以实现此功能。

  • Haotian Liu、Chunyuan Li、Yuheng Li和Yong Jae Lee的LLaVA 1.5模型在这篇论文中有详细描述,更多细节可以在llava-vl.github.io上找到。
  • 模型是使用llama.cpp执行的,并且在上面的演示中还使用了llama.cpp服务器示例来提供用户界面。
  • Cosmopolitan Libc是使一个二进制文件在多个平台上工作的魔法。我之前在一篇TIL文章中写过更多关于这方面的内容,与Cosmopolitan生态系统走近。

尝试更多模型

llamafile的自述文件目前链接到了Mistral-7B-Instruct、LLaVA 1.5和WizardCoder-Python-13B的二进制文件。

您还可以从它们的发布中下载一个更小的llamafile二进制文件,然后执行任何已编译为GGUF格式的模型:

我通过以下方式获取了大小为4.45MB的llamafile-server-0.1文件:

curl -LO https://github.com/Mozilla-Ocho/llamafile/releases/download/0.1/llamafile-server-0.1
chmod 755 llamafile-server-0.1

然后运行它以处理我先前下载的13GB llama-2-13b.Q8_0.gguf文件:

./llamafile-server-0.1 -m llama-2-13b.Q8_0.gguf

这使我可以在127.0.0.1:8080/ 上获得相同的界面(不包括图像上传),并以每秒24个令牌的速度与模型对话。

只需要一个文件。

对llamafile最喜欢的一点是它所代表的意义。这是一个单一的二进制文件,您可以下载然后在大多数计算机上永久使用。

您不需要网络连接,也不需要跟踪多个文件。

将该文件放在U盘上,并将其藏在抽屉里,作为对未来末日的保险。您永远不会没有语言模型。

讨论数量: 1

测试了一下还真的可以,不需要联网,本地就能运行。上下文,中英文支持都还不错。nice。就是速度有点。

file

另外特别神奇的就是,为啥这个文件在mac上可以执行,把文件名改成.exe,就可以在window上执行。好神奇。

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!