在本地运行 LLMs 的 6 种方法

商业人工智能和大型语言模型 (LLM) 有一个很大的缺点:隐私。在处理敏感数据或专有数据时,我们无法从这些工具中获益。因此,我们需要了解如何在本地运行私人 LLM。开源模型提供了一种解决方案,但它们也有自己的挑战和优势。
设定期望值
开源软件种类繁多,有数以千计的模型可供选择,从 Meta 等大型组织提供的模型到个人爱好者开发的模型,各有不同。然而,运行这些模型也面临着一系列挑战:
它们可能需要强大的硬件,须拥有足够的内存和一个 GPU
尽管开源模型在不断改进,但它们的功能通常仍无法与 ChatGPT 等更完善的产品相提并论,因为 ChatGPT 得益于庞大的工程师团队的支持。
并非所有模型都能用于商业用途。
不过,正如同谷歌的一份文件所指出的,开源和闭源模型之间的差距正在缩小。

Hugging Face 和 Transformers
Hugging Face 相当于机器学习和人工智能的 Docker Hub,提供了大量开源模型。并且,Hugging Face 会定期对模型进行基准测试,并提供排行榜,帮助用户选择最佳模型。
Hugging Face 还提供了一个 Python 库 transformers,可以简化本地运行一个 LLM 的过程。下面的示例使用该库运行了一个较旧的 GPT-2 microsoft/DialoGPT-medium 模型。第一次运行时,Transformers 会下载模型,你可以与它进行五次交互。该脚本还需要安装 PyTorch。
Transformers 优势
自动下载模型
提供代码片段
理想的实验和学习工具
Transformers 劣势
需要对 ML 和 NLP 有扎实的了解
需要具备编码和配置技能
LangChain
我们在本地运行 LLM 的另一种方法是使用 LangChain。LangChain 是一个用于构建人工智能应用程序的 Python 框架。它提供抽象和中间件,以便在其支持的模型之上开发人工智能应用程序。例如,下面的代码向 microsoft/DialoGPT-medium 模型提出了一个问题:
LangChain 优势
更便捷的模型管理
实用的 AI 应用程序开发工具
**LangChain 劣势**
速度有限,与 Transformers 相同
仍须编写应用程序的逻辑代码或创建合适的用户界面
Llama.cpp
Llama.cpp 是一个基于 C 和 C++ 的 LLM 推理引擎,针对苹果芯片进行了优化,可运行 Meta 的 Llama2 模型。
一旦我们克隆了资源库并构建了项目,我们就可以使用 Llama.cpp 运行一个模型:
Llama.cpp 优势
性能高于基于 Python 的解决方案
在适中的硬件上支持 Llama 7B 等大型模型
提供绑定,以便在通过 Llama.cpp 运行推理的同时使用其他语言构建 AI 应用程序
Llama.cpp 劣势
模型支持有限
需要构建工具
Llamafile
Llamafile 由 Mozilla 开发,为运行 LLM 提供了一个用户友好的替代方案。Llamafile 以其可移植性和创建单文件可执行文件的能力而著称。
下载 llamafile 和任何 GGUF 格式的模型后,我们就可以用以下命令启动本地浏览器会话:
Llamafile 优势
与 Llama.cpp 相同的速度优势
可以创建嵌入模型的单一可执行文件
Llamafile 劣势
该项目仍处于早期阶段
不支持所有模型,只支持 Llama.cpp 支持的模型
Ollama
Ollama 是 Llama.cpp 和 Llamafile 的替代品,对用户更加友好。你可以下载一个可执行文件,在你的机器上安装一个服务。安装完成后,打开终端并运行:
Ollama 优势
易于安装和使用
可以运行 Ilama 和 vicuña 模型
运行速度极快
Ollama 劣势
提供有限的模型库
自行管理模型,不能重复使用自己的模型
无法调整运行 LLM 的选项
暂无 Windows 版本
GPT4ALL
GPT4ALL 是一款易于使用的桌面应用程序,具有直观的 GUI。它支持本地模型运行,并可通过 API 密钥连接 OpenAI。它的突出特点是能够处理本地文档的上下文,确保隐私。

GPT4ALL 优势
具有友好 UI 的替代方案
支持各种策划模型
GPT4ALL 劣势
机型选择有限
部分机型有商业用途限制
结论
选择合适的工具在本地运行 LLM 取决于您的需求和专业知识。从 GPT4ALL 等用户友好型应用程序,到 Llama.cpp 等技术性更强的选项,以及基于 Python 的解决方案,可提供多种选择。可见开源模式正在迎头赶上,提供了对数据和隐私的更多控制。随着这些模型的发展,它们或有望与 ChatGPT 等产品竞争。
版权声明: 本文为 InfoQ 作者【SEAL安全】的原创文章。
原文链接:【http://xie.infoq.cn/article/dff439f63c70ec86a1870c204】。文章转载请联系作者。
评论