ChatGLM-6B-int4模型部署

ChatGLM-6B-int4模型部署

environment:

1、本地Linux 虚拟机 ubuntu-desktop-22.04.2,本地ip 为 192.168.100.150

一、本地服务器部署ChatGLM-6B-int4模型

1、配置虚拟环境

安装conda
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
bash Anaconda3-2021.05-Linux-x86_64.sh

安装过程遇>>>则输入yes

conda	# 检验是否安装成功

# 显示 conda:未找到命令 则
vim ~/.bashrc
# 最后一行加上
export PATH=$PATH:/home/vincent/anaconda3/bin		# 路径根据实际情况
# 保存后
source ~/.bashrc

如果报错可以尝试更新conda

conda update -n base conda
conda update --all

~~ 更新过程时间比较久

激活环境
conda activate chatglm_env
安装gcc
apt update
apt install build-essential
apt-get install manpages-dev
gcc --version

2、本地服务器部署

安装git
apt update
apt install git
git --version	# 检验是否安装成功
克隆ChatGLM-6B项目
mkdir /chatglm
cd /chatglm
git clone https://github.com/THUDM/ChatGLM-6B.git
安装依赖
cd /ChatGLM-6B
pip install -r requirements.txt
选择模型

现在有三个模型,硬件需求 :

image20230608144715244.png

ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。
ChatGLM-6B-INT4 是 ChatGLM-6B 量化后的模型权重。具体的,ChatGLM-6B-INT4 对 ChatGLM-6B 中的 28 个 GLM Block 进行了 INT4 量化,没有对 Embedding 和 LM Head 进行量化。
ChatGLM-6B-INT4-QE 是 ChatGLM-6B 量化后的模型权重。具体的,ChatGLM-6B-INT4-QE 对 ChatGLM-6B 中的 28 个 GLM Block 、 Embedding 和 LM Head 进行了 INT4 量化。

chatglm-6b

chatglm-6b-int4

chatglm-6b-int4-qe

chatglm-6b-int8

克隆模型

选择chatglm-6b-int,进入Files and version

创建THUDM文件夹

mkdir THUDM
cd /THUDM

根据以下步骤克隆在THUDM目录下

image20230608150947154.png

没有lfs则需要安装

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
apt-get install git-lfs
git lfs install
# 使用git lfs:将文件跟踪到 Git LFS 中,请在项目目录中运行以下命令:
git lfs track "*.extension"
修改模型路径

我运行的是web_demo.py,所以我修改这个文件里面的路径

cd ../../
vim web_demo.py

3.png

设置局域网访问

4.png

部署完成,测试运行
python web_demo.py

如果报错缺少module

pip install <module>

效果图

5.png

3、微调

P-Tuning v2

官方微调教程 --> 广告生成 :点击高速

LoRA

我用的是这位大佬的方法,非常好用,附有一站式教程

ps:这个只能适用于6b模型,不适用与量化,对量化模型训练则会报错

RuntimeError: Only Tensors of floating point and complex dtype can require gradients

有位大佬提出了问题所在,期待大佬的解决方法

数据集我用这位大佬的

一些其他数据集:

https://huggingface.co/datasets/YeungNLP/firefly-train-1.1M/tree/main

https://github.com/LianjiaTech/BELLE/tree/main/data/10M

https://github.com/LianjiaTech/BELLE/tree/main/data/1.5M

https://github.com/carbonz0/alpaca-chinese-dataset

一些其他问题

1、检查Nvidia&Cuda版本无显示、报错 NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

解决方法:

移除之前的所有依赖

apt-get purge nvidia-*
apt-get update
apt-get autoremove

查找合适的nvidia-driver版本安装

进入nvidia官网,根据型号查询合适的版本

6.png

7.png

运行指令,查询nvidia-driver版本

ubuntu-driver devices
# 或
apt search nvidia-driver

8.png

根据上面查到的版本选择安装,也可以选择兼容的

# 安装驱动
sudo apt install libnvidia-common-530
sudo apt-get -y install libnvidia-gl-530
sudo apt install nvidia-driver-530

然后重启

reboot

检查是否安装成功

nvidia-smi

9.png

各项属性说明(参考

10.png

2、Torch not compiled with CUDA enabled
pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

参考:https://aitechtogether.com/ai-question/9384.html

3、RuntimeError: Library cudart is not initialized

原因:缺少或损坏的 CUDA 库文件

解决:

# 重新安装
apt install nvidia-cuda-toolkit
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值