本地部署开源语言大模型 Llama3 及中文微调版教程
简介
Llama3 是 Meta 公司发布的最新一代开源语言大模型。与闭源的商业模型类似,它可以完成对话、翻译、上下文理解、代码生成等一系列复杂任务。将其部署在本地电脑后,用户可以在无须联网的情况下使用这一 AI 助手,有效保障数据隐私并降低延迟。
Ollama 是一个支持在本地运行大语言模型的工具,兼容 Windows、MacOS 和 Linux 操作系统。它简化了模型的下载、管理和推理过程,用户仅需一行命令即可启动模型。在本教程中,我们将使用 Ollama 作为核心工具来部署和管理 Llama3 模型。
LobeChat 是一款开源的聊天界面,支持接入本地运行的 Ollama 服务。通过它,我们可以获得更友好的 UI 体验和插件扩展能力,方便日常交互。
安装准备
硬件要求
Llama3 提供不同参数量版本,常见的有 8B(80 亿参数)和 70B(700 亿参数)。
- 70B 版本:需要强大的硬件支持,建议显存 48GB 以上,适合企业级服务器或高端工作站。
- 8B 版本:相对轻量,推荐显存 8GB 及以上,适合大多数个人 PC 和笔记本。
最低配置建议:
- GPU:NVIDIA 显卡,显存至少 8GB(推荐 12GB+ 以获得更好体验)。
- 内存:系统内存 16GB 及以上。
- 磁盘空间:预留 10GB 以上空间。Llama3 8B 版本约需 5GB,中文微调版因包含额外权重,建议预留 8GB 以上。
- 网络环境:首次下载模型需要良好的网络连接。
利用 Ollama 本地部署 Llama3
Windows 系统安装
- 访问 Ollama 官网下载 Windows 安装包并双击运行。
- 安装完成后,Ollama 将在后台以服务形式运行。
- 默认情况下,Ollama 仅监听本地地址
127.0.0.1:11434。若需跨域访问(例如连接前端应用),需设置环境变量 OLLAMA_ORIGINS。
配置跨域访问:
- 退出 Ollama 托盘程序。
- 打开 Windows 控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 环境变量。
- 在'用户变量'中新建或编辑变量名
OLLAMA_ORIGINS,值设为 *。
- 保存后重启系统,重新运行 Ollama。
MacOS / Linux 系统安装
使用 Homebrew (MacOS) 或官方脚本 (Linux) 安装:
brew install ollama
curl -fsSL https://ollama.com/install.sh | sh
运行基础模型
打开终端(Windows 下为 CMD 或 PowerShell),输入以下命令:
ollama run llama3
该命令会检查本地是否存在 llama3 模型,若不存在则自动从 Hugging Face 拉取。下载完成后,模型将立即进入交互模式。
交互示例:
>>> 你好,请介绍一下你自己。
<<< 你好!我是 Llama3,一个由 Meta 开发的大型语言模型...
利用 Ollama 本地部署 Llama3 中文微调版
原版 Llama3 对英文支持较好,针对中文场景,社区开发了基于增量预训练的微调版本(如 Chinese-LLaMA-Alpaca-3)。这些版本在中文指令遵循和语境理解上表现更佳。
下载模型文件
- 访问 Hugging Face 仓库下载 GGUF 格式的量化模型文件。推荐使用
q8_0 版本,它在文件大小和模型性能之间取得了较好的平衡。
- 将下载的
.gguf 文件保存到本地文件夹,例如 Models。
创建 Modelfile
Ollama 允许通过 Modelfile 自定义模型配置。在文本编辑器中创建名为 Modelfile 的文件,内容如下:
FROM ./llama-3-chinese-8b-instruct-q8_0.gguf
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>"""
SYSTEM """
你是一个有用的中文助手。
"""
PARAMETER num_keep 24
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
PARAMETER stop assistant
PARAMETER stop Assistant
注意:
FROM 路径需根据实际存放位置修改,确保指向正确的 .gguf 文件。
TEMPLATE 定义了模型对话的格式,必须与微调模型训练时的格式一致,否则可能导致输出异常。
构建并运行模型
在命令行中执行以下命令,将配置文件打包为新的模型实例:
ollama create llama3-zh-inst -f Modelfile
构建成功后,运行模型:
ollama run llama3-zh-inst
此时即可开始使用中文微调版进行对话。
在 LobeChat 中使用 Llama3
为了获得更好的图形化交互体验,可以接入 LobeChat。
- 确保 Ollama 服务正在运行且端口可访问。
- 访问 LobeChat 网页版或部署本地版本。
- 在设置中选择'添加模型',提供商选择'Ollama'。
- 填入 API 地址(默认为
http://localhost:11434)。
- 在模型列表中选择已创建的
llama3 或 llama3-zh-inst。
配置完成后,即可通过 Web 界面与本地模型进行流畅对话。
模型 API 调用示例
Ollama 提供了标准的 HTTP API,方便开发者集成到应用程序中。
请求示例(curl):
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "请解释什么是人工智能?",
"stream": false
}'
Python 调用示例:
import requests
response = requests.post(
'http://localhost:11434/api/generate',
json={
'model': 'llama3',
'prompt': '请解释什么是人工智能?',
'stream': False
}
)
print(response.json()['response'])
常见问题与排查
1. 显存不足报错
如果运行时报错 out of memory,说明当前模型量化级别过高或显存不足。尝试下载更低量化的版本(如 q4_K_M),该版本通常只需 6GB 左右显存。
2. 无法跨域访问
若前端页面无法连接本地 Ollama,请检查 OLLAMA_ORIGINS 环境变量是否设置为 *,并确保 Ollama 服务已重启。
3. 中文乱码
确保终端编码设置为 UTF-8。在 Windows 上可在 CMD 中输入 chcp 65001 切换编码。
4. 模型加载慢
GGUF 模型加载速度受磁盘 I/O 影响较大。建议使用 SSD 存储模型文件,避免机械硬盘导致加载缓慢。
总结
本文详细介绍了如何在本地环境中部署 Llama3 及其中文微调版本。通过 Ollama 工具,用户可以轻松实现模型的离线运行、自定义配置及 API 集成。结合 LobeChat 等界面工具,能够显著提升使用体验。对于关注数据隐私、希望低成本体验大模型能力的开发者而言,本地部署是理想的解决方案。