深度学习入门到放弃系列 - 阿里云人工智能平台PAI部署开源大模型chatglm3

皮皮虾不皮呀 2024-08-29 17:01:02 阅读 96

通过深度学习入门到放弃系列 - 魔搭社区完成开源大模型部署调用 ,大概掌握了开源模型的部署调用,但是魔搭社区有一个弊端,关闭实例后数据基本上就丢了,本地的电脑无法满足大模型的配置,就需要去租用一些高性价比的GPU机器长期运行,起码数据和环境能长期存在。以我在阿里云人工智能平台 PAI部署和大家分享一下经验,其他平台自行尝试、选择。

免费算力平台

阿里云人工智能平台 PAI阿里天池实验室Kaggle平台Colab(需要梯子)

付费算力平台

AutoDLGpushare CloudFeaturizeAnyGPU

阿里云人工智能平台 PAI试用申请流程

我选择的是阿里云人工智能平台 PAI平台的免费算力平台,免费使用三个月,截止目前还很好抢,每天500份传送门。同时,也推荐一些其他的算力平台给大家自行选择。

在这里插入图片描述

建议选交互式建模PAI-DSW

在这里插入图片描述

立即试用!

在这里插入图片描述

在这里插入图片描述

创建规格的时候千万注意选择GPU-支持资源包抵扣的这种。

在这里插入图片描述

创建实例!

在这里插入图片描述

启动实例!

在这里插入图片描述

在这里插入图片描述

打开后界面和魔搭社区就比较类似了,有命令行、Notebook等。

在这里插入图片描述

环境搭建

新建账号:进来就已经是root账户了,需要创建一个用户。

<code># 添加一个新用户(如用户名为csdn)遇到执行

adduser csdn

# 将用户添加到 sudo 组

adduser csdn sudo

进来以后发现ll、source等命令都不能用,需要先把dash改成bash命令,参考source: not found问题处理。解决完重新打开命令行以后就是我现在的界面。

在这里插入图片描述

更换国内软件源

<code>cd /ect/apt

# 备份sources.list,以免出问题

sudo cp sources.list sources.list.backup

vim sources.list

# 复制到sources.list文件末尾

deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse

安装vim编辑器、git

# 使用vi可跳过

sudo apt-get install vim

sudo apt-get install git

系统软件更新

# 更新软件包列表

sudo apt update

# 执行更新命令

sudo apt upgrade

安装anaconda

# 下载安装包

wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

# 执行安装命令

bash Anaconda3-2023.09.0-Linux-x86_64.sh

直到出现 yes no 选项,选择yes,再然后遇到路径/root/anaconda3,然后按“Enter”键使用Anaconda的默认安装位置/root/anaconda3下,然后等待安装结束。

配置环境变量

# 印象中不创建账号好像就没有bashrc的文件

vim ~/.bashrc

# 末尾添加anaconda3所在路径,和第六步路径一致

export PATH=/root/anaconda3/bin:$PATH

# 修改终端的默认 python 为 anaconda,否则会报错找不到命令activate

source /root/anaconda3/bin/activate

# 使环境变量的修改立即生效

source ~/.bashrc

安装之前需要配置一下conda,都说用国内镜像源,我试了没用

# 我用的这种方法

conda install -n base conda-libmamba-solver

# 设置全局使用libmamba

conda config --set solver libmamba

conda创建虚拟环境

conda create --n chatglm3_test python=3.11

conda activate chatglm3_test

# 如果中间报错找不到activate命令,使用下面的命令试试

source /root/anaconda3/etc/profile.d/conda.sh

安装pytorch等依赖

nvidia-msi查看目前的cuda版本来选择对应的pytorch

在这里插入图片描述

<code># CUDA 11.8 根据我自己的版本我选择第一个就好了

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=11.8 -c pytorch -c nvidia

# CUDA 12.1

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=12.1 -c pytorch -c nvidia

# CPU Only

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 cpuonly -c pytorch

验证GPU版本的PyTorch

import torch

print(torch.cuda.is_available())

如下图说明安装成功。

在这里插入图片描述

下载ChatGLM3项目文件

git下载ChatGLM3项目文件时可能会出现Permission denied,参考解决办法 git报错Permission denied的解决方法

<code># 创建文件

mkdir /opt/chatglm3

# 切换到新建的目录下

cd /opt/chatglm3

# 下载ChatGLM3

git clone git@github.com:THUDM/ChatGLM3.git

# 升级pip版本

python -m pip install --upgrade pip

安装ChatGLM运行的项目依赖

cd /opt/chatglm3/ChatGLM3

# 安装依赖

pip install -r requirements.txt

安装模型权重文件

Git Large File Storage(Git LFS)是一种用于处理大文件的工具,在 Hugging Face等平台下载大模型时,通常需要安装 Git LFS,主要的原因是:Git 本身并不擅长处理大型文件,因为在 Git 中,每次我们提交一个文件,它的完整内容都会被保存在 Git 仓库的历史记录中。但对于非常大的文件,这种方式会导致仓库变得庞大而且低效。而 Git LFS, 就不会直接将它们的内容存储在仓库中。相反,它存储了一个轻量级的“指针”文件,它本身非常小,它包含了关于大型文件的信息(如其在服务器上的位置),但不包含文件的实际内容。当我们需要访问或下载这个大型文件时,Git LFS 会根据这个指针去下载真正的文件内容

实际的大文件存储在一个单独的服务器上,而不是在 Git 仓库的历史记录中。所以如果不安装 Git LFS 而直接从 Hugging Face 或其他支持 LFS 的仓库下载大型文件,通常只会下载到一个包含指向实际文件的指针的小文件,而不是文件本身。

# 安装git-lfs

sudo apt-get install git-lfs

# 初始化

git lfs install

# 魔搭平台下载模型权重文件,Hugging Face太慢了

git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

目录结构如下图所示,chatglm3-6b目录为模型权重文件

在这里插入图片描述

运行ChatGLM3-6B模型

方式一:在basic_demo目录下运行cli_demo.py文件,运行前需要改一下模型权重文件的路径,我们提前下载,改成本地的路径,否则会重新下载模型文件。建议sudo python cli_demo.py运行

在这里插入图片描述

到这里意味着部署成功了!

在这里插入图片描述

方式二:basic_demo目录下启动web_demo_gradio.py文件,启动前修改6b模型的路径,建议sudo python web_demo_gradio.py运行

在这里插入图片描述

自带的gradio页面进行问答交互。

在这里插入图片描述

遇到的问题

问题一:Ubuntu下shell执行source命令报source: not found问题处理

问题二:conda: error: argument COMMAND: invalid choice: ‘activate‘

在这里插入图片描述

问题三:git报错Permission denied

在这里插入图片描述

问题四:conda下载文件



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。