在本地运行大型语言模型(LLM):保护隐私,提高效率
随着大型语言模型(LLM)的普及,越来越多的项目如llama.cpp、Ollama、GPT4All和llamafile等强调了在本地设备上运行LLM的需求。本文将介绍如何在本地运行LLM,以保护隐私和降低成本。
引言
在本地运行LLM有两个重要的好处:
- 隐私:数据不会被发送到第三方,也无需遵循商业服务的使用条款。
- 成本:没有推理费用,适合需要大量token的应用场景,如长时间运行的模拟和总结。
主要内容
开源LLM
用户可以访问一系列快速增长的开源LLM,这些模型可以自由修改和分享。评估这些模型时需考虑:
- 基础模型:模型的基础和训练方法。
- 微调方式:基础模型是否经过微调,使用了什么样的指令集。
模型性能评估可参考多个排行榜,如LmSys、GPT4All和HuggingFace。
推理
支持在各种设备上进行开源LLM推理的框架包括:
- llama.cpp:C++实现的推理代码,具备权重优化和量化功能。
- gpt4all:优化的C后端。
- Ollama:将模型权重和环境打包成可在设备上运行的应用。
- llamafile:将模型权重和所需文件打包成一个文件,无需额外安装步骤即可运行。
量化的重要性
量化可以显著减少模型在内存中的存储量。更高的GPU内存带宽有助于提高推理速度。
格式化提示
某些供应商提供的聊天模型包装器可以处理输入提示的格式化,如LLaMA 2需要包含特殊token。
快速开始:Ollama
Ollama可以轻松在macOS上进行推理。安装步骤如下:
- 下载并运行应用。
- 从命令行中获取模型:
ollama pull llama3.1:8b - 应用运行时,所有模型将自动在
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不仅能保护隐私,还能有效降低成本。建议继续学习以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---