本博客为山东大学软件学院2024创新实训,25组可视化课程知识问答系统(VCR)的个人博客,记载个人任务进展。
第四周:对ChatGLM3进行本地部署
进行大语言模型ChatGLM3的本地部署
大语言模型ChatGLM3的本地部署涉及多个步骤,可以大致归纳为以下几个步骤:
1. 环境准备
1.1 硬件环境:
- 内存要求:
- 最低要求:内存 >= 8GB
- 流畅运行FP16版本的配置要求:内存 >= 16GB
- 显存要求:
- 最低要求:显存 >= 5GB(例如NVIDIA GTX 1060 6GB, GTX 2060 6GB)
- 流畅运行FP16版本的配置要求:显存 >= 13GB(例如NVIDIA RTX 4080 16GB)
- 其他硬件需求:
- GPU:一个或多个支持CUDA的NVIDIA GPU,用于加速模型的训练和推理。
- CPU:一个性能良好的多核CPU,用于处理非GPU计算任务。
- 存储:足够的硬盘空间来存储模型、数据集和其他相关文件。
1.2 软件环境:
安装Python环境,版本推荐3.10到3.11之间。
当进行ChatGLM3的本地部署时,安装Python环境是第一步:
1. 确定Python版本
ChatGLM3通常需要特定版本的Python来运行。首先,查看ChatGLM3的官方文档或GitHub仓库的requirements.txt文件来确定所需的Python版本。
2. 下载Python安装包
- 访问Python官方网站(https://www.python.org/downloads/)下载适用于你的操作系统的Python安装包。
- 对于Linux,通常可以通过包管理器(如apt、yum等)来安装Python。
3. 安装Python
- 对于Linux,打开终端并使用包管理器来安装Python。例如,在基于Debian的系统上,可以使用以下命令安装Python 3.x:
bash
sudo apt update | |
sudo apt install python3 python3-pip |
4. 验证Python安装
- 打开命令行工具(Linux上的Terminal)。
- 输入python --version或python3 --version(取决于你的操作系统和Python安装)来检查Python的版本。你应该能看到类似Python 3.x.x的输出,其中x.x是具体的版本号。
5. 安装Python虚拟环境
使用Python虚拟环境(如conda)可以更好地管理项目依赖。可以安装conda:
- conda:
首先,从Anaconda官网下载并安装Anaconda。然后,可以使用conda命令来创建和管理虚拟环境。
使用Anaconda来管理Python虚拟环境。
ChatGLM3的本地部署中,Python虚拟环境的创建是重要的一步,它有助于隔离不同项目的依赖项,避免版本冲突。
1. 安装Anaconda
- 下载地址:
- Anaconda: 通常可以从其官网下载,但Miniconda是Anaconda的轻量级版本,仅包含conda和Python,适合用于创建虚拟环境。
2. 创建虚拟环境
- 打开命令行工具(Linux的Terminal)。
- 使用conda命令来创建新的虚拟环境。以下是一个示例命令,创建了一个名为chatglm3-6b-310的虚拟环境,并指定Python版本为3.10:
bash
conda create -n chatglm3-6b-310 python=3.10 |
-
- -n参数用于指定虚拟环境的名称。
- python=3.10指定了Python的版本。你可以根据需要选择其他版本,但请确保它与ChatGLM3的兼容性。
3. 激活虚拟环境
- 在创建虚拟环境后,需要激活它才能在其中安装Python包。激活命令取决于你的操作系统:
- Linux:
bash
source activate chatglm3-6b-310 |
-
- 激活后,你的命令行提示符通常会显示当前活动的虚拟环境名称。
4. 安装依赖
- 一旦虚拟环境被激活,你就可以在其中安装ChatGLM3所需的依赖项。这通常通过pip命令来完成,但首先你需要进入ChatGLM3的源码目录:
bash
cd /path/to/ChatGLM3 # 替换为ChatGLM3源码的实际路径 | |
pip install -r requirements.txt # 安装requirements.txt中列出的所有依赖项 |
5. 验证环境
- 你可以通过运行一个简单的Python脚本来验证虚拟环境是否已正确设置,并包含所有必要的依赖项。
按照以上步骤操作,能够成功地为ChatGLM3创建一个Python虚拟环境,并在其中安装所需的依赖项。
2. 下载源码和模型
ChatGLM3的本地部署时,下载源码和模型的步骤可以归纳如下:
2.1 下载源码
- 打开命令行工具:打开Linux的对应的命令行工具Terminal。
- 克隆GitHub仓库:使用git clone命令从GitHub上克隆ChatGLM3的源码。在命令行中输入以下命令:
bash
git clone https://github.com/THUDM/ChatGLM3.git |
这条命令会将ChatGLM3的源码克隆到当前目录下的ChatGLM3文件夹中。
- 进入源码目录:使用cd命令进入源码目录,以便后续操作。
bash
cd ChatGLM3 |
2.2 下载模型
- 从Hugging Face下载:
- 安装git-lfs(Large File Storage):因为模型文件通常很大,所以使用git-lfs来管理大文件。你可以根据官方文档安装git-lfs。
- 克隆模型仓库:使用git clone命令从Hugging Face的模型仓库克隆模型。
bash
git lfs install | |
git clone https://huggingface.co/THUDM/chatglm3-6b.git |
-
- 这会下载一个完整的模型仓库,可以将模型文件(通常是.ckpt或.pt格式)复制到ChatGLM3源码目录下的合适位置。
3. 配置环境
3.1 安装依赖
ChatGLM3的本地部署时安装依赖的步骤可以概括如下:
- 激活虚拟环境:
- 如果你使用了虚拟环境,需要先激活它。在Linux使用source myenv/bin/activate。
- 安装依赖包:
- 进入ChatGLM3的源码目录。
- 使用pip命令安装requirements.txt中列出的依赖项。在ChatGLM3的源码目录下运行:
bash
pip install -r requirements.txt |
-
- 注意:requirements.txt文件中可能包含特定版本的依赖项,确保你的pip能够找到这些版本。如果遇到问题,你可能需要使用--index-url参数来指定一个包含所需版本的pip源。
- 特定依赖项:
- ChatGLM3可能依赖于特定的库或工具包,如transformers和torch。根据requirements.txt或官方文档中的建议,安装这些依赖项。
- 例如,transformers库版本推荐为4.30.2或更高版本,torch推荐使用2.0及以上的版本以获得最佳推理性能。
3.2 验证安装
- 运行测试:
- ChatGLM3的源码中可能包含一些测试脚本或示例代码,你运行这些脚本来验证安装是否成功。
- 检查依赖项:
- 你使用pip的list命令来查看已安装的依赖项,确保所有必需的包都已正确安装。
遵循以上步骤,为ChatGLM3安装所需的依赖项,并准备好进行本地部署。