Llamafile:本地运行开源大模型的最佳工具
大幅简化了在个人电脑部署开源模型的复杂性,降低门槛。
大幅简化了在个人电脑部署开源模型的复杂性,降低门槛。
Mozilla 的创新团队与 Justine Tunney 刚刚发布了 llamafile。我认为,它现在是在自己的电脑上开始运行 Large Language Model(可以理解为属于你自己的本地版 ChatGPT)的最佳方式。
llamafile 是一个数 GB 大小的单一文件,其中既包含 LLM 的模型权重,也包含运行该模型所需的代码——在某些情况下,它甚至还带有完整的本地服务器和用于交互的 Web UI。
该可执行文件使用 Cosmopolitan Libc 编译而成。这是 Justine 创建的一个令人惊叹的项目,它可以将程序编译成单一二进制文件,无需任何修改,就能在多种不同的操作系统和硬件架构上运行。
下面介绍如何开始使用 LLaVA 1.5。这是一个基于 Llama 2 微调的大型多模态模型(也就是说,它同时支持文本和图像输入,类似 GPT-4 Vision)。我已经在 M2 Mac 上测试过这一流程,不过它应该也能在其他平台上运行(但请务必阅读 README 中的 Gotchas 部分,并查看 Justine 在 Hacker News 评论中列出的受支持平台)。
从 Justine 的 Hugging Face 仓库下载 4.29GB 的 llava-v1.5-7b-q4.llamafile 文件。curl -LO https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile
从 Justine 的 Hugging Face 仓库下载 4.29GB 的 llava-v1.5-7b-q4.llamafile 文件。
curl -LO https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile
在终端中运行以下命令,将该二进制文件设为可执行:chmod 755 llava-v1.5-7b-q4.llamafile
在终端中运行以下命令,将该二进制文件设为可执行:
chmod 755 llava-v1.5-7b-q4.llamafile
运行这个新的可执行文件,它会在 8080 端口启动一个 Web 服务器:./llava-v1.5-7b-q4.llamafile
运行这个新的可执行文件,它会在 8080 端口启动一个 Web 服务器:
./llava-v1.5-7b-q4.llamafile
访问 http://127.0.0.1:8080/,就可以开始在浏览器中与模型交互。
访问 http://127.0.0.1:8080/,就可以开始在浏览器中与模型交互。
就是这么简单。在我的 M2 Mac 上,它的运行速度约为每秒 55 个 token,真的非常快。而且它还能分析图像——下面是我上传一张照片并提问“描述一下这株植物”后得到的结果:
为了实现这些功能,背后有许多不同的组件协同工作。
Haotian Liu、Chunyuan Li、Yuheng Li 和 Yong Jae Lee 开发的 LLaVA 1.5 模型在这篇论文中有所介绍,更多细节可以参阅 llava-vl.github.io。
模型通过 llama.cpp 执行,上面的演示还使用了 llama.cpp 的 server 示例来提供 UI。
Cosmopolitan Libc 是让单一二进制文件能够跨多个平台运行的关键魔法。几个月前,我曾在一篇 TIL 中详细介绍过它,文章名为《跟进 Cosmopolitan 生态系统的最新进展》。
llamafile 的 README 目前提供了 Mistral-7B-Instruct、LLaVA 1.5 和 WizardCoder-Python-13B 的二进制文件链接。
你还可以从其 releases 页面下载一个小得多的 llamafile 二进制文件,它可以执行任何已编译为 GGUF 格式的模型:
我是这样下载 llamafile-server-0.1(4.45MB)的:
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
这样,我在 http://127.0.0.1:8080/ 上得到了同样的界面(但没有图像上传功能),并且能够以每秒 24 个 token 的速度与模型对话。
我最喜欢 llamafile 的一点,或许是它所代表的理念。这是一个单一的二进制文件,你可以把它下载下来,然后永远使用下去,而且几乎能在任何电脑上运行。
你不需要网络连接,也不必管理多个文件。
把这个文件放进 U 盘,塞到抽屉里,就当是为未来可能发生的末日准备一份保险。从此以后,你再也不会没有语言模型可用了。
OpenAI 意外对 Hugging Face 发起的网络攻击,成了真实上演的科幻故事——2026 年 7 月 22 日
与 Claude Code 团队的 Cat 和 Thariq 炉边对谈——2026 年 7 月 21 日
Kimi K3,以及我们还能从鹈鹕基准测试中学到什么——2026 年 7 月 16 日
本文《llamafile 是在自己电脑上运行 LLM 的全新最佳方式》由 Simon Willison 撰写,发布于 2023 年 11 月 29 日。
让我们做熊还是兔子——2023 年 5 月 1 日下午 6:37
泄露的 Google 文档:“我们没有护城河,OpenAI 也没有”——2023 年 5 月 4 日下午 4:05
使用 LLM 和 Homebrew 在自己的 Mac 上运行 Llama 2——2023 年 8 月 1 日下午 6:56
llamafile 是在自己电脑上运行 LLM 的全新最佳方式——2023 年 11 月 29 日晚上 8:54
使用 LLM 在终端中运行 Mistral 模型的多种方式——2023 年 12 月 18 日下午 6:18
使用 LLM 从终端访问 Llama 3 的几种方式——2024 年 4 月 22 日下午 1:38
在 Mac 上使用 mistral.rs 运行 Llama 3.2 Vision 和 Phi-3.5 Vision——2024 年 10 月 19 日下午 4:14
下一篇:Datasette Enrichments——一个用于增强数据的新插件框架
上一篇:Prompt injection 详解,2023 年 11 月版
每月赞助我 10 美元,即可收到一封精心整理的邮件摘要,了解当月最重要的 LLM 进展。
付钱让我少给你发点内容!