端侧大模型实战指南:微调、部署、应用开发
1. 什么是端侧大模型?
端侧大模型是指在边缘设备(如个人电脑、移动设备等)上运行的大型语言模型。相较于云端部署,端侧模型具有以下优势:
-
低延迟:本地运行无需网络请求,响应更快。
-
隐私保护:数据无需上传到云端,安全性更高。
-
低成本:无需持续支付云服务费用。
-
离线可用:在无网络环境下也能正常工作。
本指南以Windows系统、Qwen2.5-0.5B 模型为例,展示如何在本地完成模型的微调、部署和应用开发。
2. 准备清单
在开始之前,请确保准备好以下工具和资源。
2.1 Ollama
Ollama 是一个轻量级工具,用于在本地运行和管理大模型。
-
安装
-
默认安装在C盘
-
自定义安装路径(以避免安装到C盘为例):
-
打开命令行,进入 Ollama 安装包所在目录。
-
执行以下命令:
OllamaSetup.exe /DIR=E:\software\Ollama
-
-
2.2 开源模型下载
我们将使用 Qwen2.5-0.5B 模型作为基础模型。
-
拉取模型:
ollama pull qwen2.5:0.5b
2.3 MiniConda
MiniConda 是一个轻量级的 Python 环境管理工具。
3. 环境配置
3.1 创建并激活 Conda 环境
首先要下载开源仓库内容:项目github仓库,比如我下载到本地[下载]文件夹下,并重命名为huanhuan
温馨提示:以管理员身份运行Anaconda Prompt
-
创建一个名为
huanhuan
的 Conda 环境,并指定 Python 版本为 3.12:conda create -n huanhuan python=3.12
-
激活环境:
conda activate huanhuan
3.2 拉取基础模型
确保 Qwen2.5-0.5B 模型已下载:
ollama pull qwen2.5:0.5b
3.3 安装依赖
根据硬件配置选择适合的安装方式:
有 GPU 的版本
conda install pytorch transformers -c pytorch -c huggingface
CPU Only 版本(推荐用于 MacBook Intel 芯片)
conda install pytorch torchvision torchaudio cpuonly -c pytorch
pip install transformers
安装其他必要包
pip install peft
pip install loguru
pip install streamlit
附:查看自己电脑是否有GPU的一个方法
按“Ctrl+Alt+Del”进入任务管理器,选择“性能”选项,查看左侧是否有GPU。
4. 微调大模型
微调是优化模型性能的关键步骤,通过在特定数据集上训练模型,使其更适合目标任务。
4.1 处理数据
运行以下命令处理数据集(以处理 50 条数据为例):
python dataScripts/huanhuan_data_prepare.py 50
4.2 进入训练目录
cd training
4.3 配置环境变量
-
如果无法连接 Hugging Face,可以设置镜像地址(Windows 使用
set
,Mac/Linux 使用export
):export HF_ENDPOINT=https://hf-mirror.com
-
如果 MacOS MPS 内存不足,设置以下变量:
export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0
4.4 开始微调
运行训练脚本:
python huanhuan_train.py
5. 部署大模型
部署是将微调后的模型集成到 Ollama 并运行的过程。
5.1 启动 Ollama 服务
保持 Ollama 服务运行:
ollama serve
5.2 查看已下载模型
列出所有已下载的模型:
ollama list
验证 Qwen2.5-0.5B 模型是否下载成功(Windows 使用 findstr
,Mac/Linux 使用 grep
):
ollama list | grep qwen2.5
5.3 创建自定义模型
进入部署目录:
cd ../deployment
使用 Modelfile 创建自定义模型:
ollama create huanhuan-qwen -f Modelfile.huanhuan
5.4 验证模型
确认模型创建成功(Windows 使用 findstr
,Mac/Linux 使用 grep
):
ollama list | grep huanhuan
查看模型详细信息:
ollama show huanhuan-qwen
5.5 启动交互式对话
运行以下命令进入对话模式:
ollama run huanhuan-qwen
在对话模式中,你可以:
-
直接输入问题进行对话。
-
使用
Ctrl+D
或/bye
退出。 -
使用
/clear
清除对话上下文。
5.6 检查模型性能
查看模型运行效率详情:
ollama run huanhuan-qwen --verbose "介绍一下你自己"
输出信息包括:
-
total duration:总运行时间
-
load duration:模型加载时间
-
prompt eval count:提示词 token 数量
-
prompt eval duration:提示词处理时间
-
eval count:响应 token 数量
-
eval duration:响应生成时间
6. 开发 Web 应用
基于 Streamlit 开发一个简单的 Web 应用,用于与模型交互。
6.1 安装 Streamlit
pip install streamlit
6.2 启动 Web 应用
运行以下命令启动应用:
streamlit run ./application/huanhuan_web.py
6.3 访问 Web 界面
浏览器会自动打开以下地址
通过 Web 界面,你可以与模型进行交互,体验直观的对话功能。
7. 总结
通过本指南,你已经学会了如何在本地设备上完成端侧大模型的微调、部署和应用开发。以下是关键步骤的回顾:
-
准备环境:安装 Ollama、MiniConda 和 Qwen2.5-0.5B 模型。
-
配置环境:创建 Conda 环境并安装必要依赖。
-
微调模型:处理数据并运行训练脚本。
-
部署模型:使用 Ollama 部署微调后的模型。
-
开发应用:基于 Streamlit 构建 Web 应用。
本部署实践学习自datawhale开源社区,希望这篇指南也能帮助你快速上手端侧大模型的开发!如果有任何问题,欢迎在评论区交流。
- 点赞
- 收藏
- 关注作者
评论(0)