[在本地运行大型语言模型(LLM):保护隐私,提高效率]

136 阅读3分钟

在本地运行大型语言模型(LLM):保护隐私,提高效率

随着大型语言模型(LLM)的普及,越来越多的项目如llama.cpp、Ollama、GPT4All和llamafile等强调了在本地设备上运行LLM的需求。本文将介绍如何在本地运行LLM,以保护隐私和降低成本。

引言

在本地运行LLM有两个重要的好处:

  1. 隐私:数据不会被发送到第三方,也无需遵循商业服务的使用条款。
  2. 成本:没有推理费用,适合需要大量token的应用场景,如长时间运行的模拟和总结。

主要内容

开源LLM

用户可以访问一系列快速增长的开源LLM,这些模型可以自由修改和分享。评估这些模型时需考虑:

  • 基础模型:模型的基础和训练方法。
  • 微调方式:基础模型是否经过微调,使用了什么样的指令集。

模型性能评估可参考多个排行榜,如LmSys、GPT4All和HuggingFace。

推理

支持在各种设备上进行开源LLM推理的框架包括:

  • llama.cpp:C++实现的推理代码,具备权重优化和量化功能。
  • gpt4all:优化的C后端。
  • Ollama:将模型权重和环境打包成可在设备上运行的应用。
  • llamafile:将模型权重和所需文件打包成一个文件,无需额外安装步骤即可运行。
量化的重要性

量化可以显著减少模型在内存中的存储量。更高的GPU内存带宽有助于提高推理速度。

格式化提示

某些供应商提供的聊天模型包装器可以处理输入提示的格式化,如LLaMA 2需要包含特殊token。

快速开始:Ollama

Ollama可以轻松在macOS上进行推理。安装步骤如下:

  1. 下载并运行应用。
  2. 从命令行中获取模型:ollama pull llama3.1:8b
  3. 应用运行时,所有模型将自动在localhost:11434上提供服务。
# 使用API代理服务提高访问稳定性
%pip install -qU langchain_ollama

from langchain_ollama import OllamaLLM

llm = OllamaLLM(model="llama3.1:8b")

llm.invoke("The first man on the moon was ...")

常见问题和解决方案

推理速度

在本地运行模型时,推理速度是一个挑战。可以通过在GPU上运行模型来减少延迟,特别是利用Apple设备的GPU。

Apple Silicon GPU使用

Ollama和llamafile会自动使用Apple设备上的GPU。其他框架需要手动设置环境以利用Apple GPU,如通过Metal启用GPU加速。

总结和进一步学习资源

在本地运行LLM不仅能保护隐私,还能有效降低成本。建议继续学习以下资源:

参考资料

  1. HuggingFace教程
  2. Ollama文档
  3. LangChain教程

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---