当前位置:   article > 正文

ChatGLM-6B-int4模型部署_本地部署chatglm-6b-int4模型

本地部署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
  • 1
  • 2

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

conda	# 检验是否安装成功

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

如果报错可以尝试更新conda

conda update -n base conda
conda update --all
  • 1
  • 2

~~ 更新过程时间比较久

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

2、本地服务器部署

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

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

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
  • 1
  • 2

根据以下步骤克隆在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"
  • 1
  • 2
  • 3
  • 4
  • 5
修改模型路径

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

cd ../../
vim web_demo.py
  • 1
  • 2

3.png

设置局域网访问

4.png

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

如果报错缺少module

pip install <module>
  • 1

效果图

5.png

3、微调

P-Tuning v2

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

LoRA

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

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

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

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

数据集我用这位大佬的

一些其他数据集:

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
  • 1
  • 2
  • 3

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

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

6.png

7.png

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

ubuntu-driver devices
# 或
apt search nvidia-driver
  • 1
  • 2
  • 3

8.png

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

# 安装驱动
sudo apt install libnvidia-common-530
sudo apt-get -y install libnvidia-gl-530
sudo apt install nvidia-driver-530
  • 1
  • 2
  • 3
  • 4

然后重启

reboot
  • 1

检查是否安装成功

nvidia-smi
  • 1

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
  • 1

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

3、RuntimeError: Library cudart is not initialized

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

解决:

# 重新安装
apt install nvidia-cuda-toolkit
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/189599
推荐阅读
相关标签
  

闽ICP备14008679号