前情提要
由于没有搞懂阿里云的扣费准则,在魔搭社区训练数据时出了问题,在补齐欠费后仍显示有欠费账单。遂将大模型进行本地部署。
ChatGLM3本地部署(上)
其实是通过ssh连接远程Linux服务器的部署,不过很多过程可以供本地部署借鉴。
ChatGLM3简介
ChatGLM3是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:
- 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,* ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能*。
- 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式 ,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。
- 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base 、长文本对话模型 ChatGLM3-6B-32K 和进一步强化了对于长文本理解能力的 ChatGLM3-6B-128K。以上所有权重对学术研究完全开放 ,在填写 问卷 进行登记后亦允许免费商业使用。
1. 创建虚拟环境
打开Anaconda Prompt后,我通过SSH 远程连接 Linux 服务器。
利用 conda create 指令创建新的虚拟环境
• conda create –n 虚拟环境名字 python=版本
示例如下
输入y后敲击回车,即可进行环境搭建。
通过conda env list命令,可以列出所有虚拟环境。可以看到test0虚拟环境已创建成功。
然后通过conda activate 虚拟环境名字,进入该虚拟环境。
2. 安装pytorch
你可以通过nvcc -V指令来知道自己机器的cuda版本,请注意cuda版本和pytorch版本之间的对应关系,如果未对应上,很可能会出bug。
进入pytorch官网,找到适合自己机器cuda版本的torch安装指令。如果主界面没有自己机器cuda版本,可以点击Previous versions of PyTorch,找寻自己机器cuda版本对应的安装指令。
这里以cuda 11.6为例,在网页端你可以使用ctrl+F快捷查找自己cuda版本对应的pytorch安装指令。
在上面成功进入虚拟环境的基础上,粘贴pytorch官网的安装指令,敲击回车并等待片刻后,根据提示输入y即可安装。
你可以通过如下方式判断pytorch是否成功安装。
1. 输入
python
2. 输入import torch
3. 输入torch.cuda.is_available()
,这个命令是检查pytorch的GPU能否用。
4. 如果显示True,就说明pytorch安装成功了
3. pycharm连接ssh服务器
你也可以在pycharm的终端处进行如上创建虚拟环境和安装pytorch的操作。
你可以在Tools的Deployment中找到Configuration,配置ssh远程连接。
连接ssh,点击+,选择SFTP,然后取名
点击ssh后面的...,依次输入远程服务器的IP,用户名,密码
点击test connection,测试是否连接成功
点击确定回到上个界面,root path 是服务器的路径,可以不选,但之后remote host后会过于冗长,可以根据实际情况选定路径
点击mappings设置映射路径,local path是本地项目路径,默认即可,deployment path是上传到服务器的路径,本地代码将提交到这个路径上。
设置完毕点确定。
tools->deployment->browse remote host,弹出remote host,如果没有显示的话,点击倒三角选择设置好的SFTP即可。如下图则连接成功
解释器配置
文件->设置->项目->python interpreter,点击Add Interpreter,点击On SSH,选择已存在环境,下拉选择你自己的ssh
点击next(第一次连接会在下面显示一段对话,点击那个move即可)
随后选择Existing,然后点击Interpreter后的...,去到该虚拟环境中的bin文件夹下,找到名为python的文件即可添加成功。
下面的Sync folders是本地路径与服务器上远程路径的映射,可以选择默认,也可以自己选择
如下则解释器配置成功