本地化部署大语言模型 ChatGLM

本地化部署大语言模型 ChatGLM

  • 本地化部署大语言模型 ChatGLM
    • 前期筹备
      • GitHub 基础包
      • 语言模型文件
      • 基础配置
      • 显存查看方法
    • Anaconda 模块
      • Anaconda 环境创建
      • 根目录操作
      • 基础依赖加载
      • transformers 和 protobuf 库加载
      • Pytorch 源修改
      • 依赖库补充
      • 补充依赖 pypi 配置
      • cchardet 依赖错误解决
      • 强制 归一化
      • 成功部署
    • 使用网址合集
    • 执行命令合集

本地化部署大语言模型 ChatGLM

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

前期筹备

GitHub 基础包

GitHub: ChatGLM-6B

下载 ChatGLM-6B 压缩包到本地

本地化部署大语言模型 ChatGLM_第1张图片

语言模型文件

Hugging Face: Model

下载 训练好的 语言模型文件

本地化部署大语言模型 ChatGLM_第2张图片

每一个都要下载

本地化部署大语言模型 ChatGLM_第3张图片

基础配置

解压 ChatGLM-6B-main.zip 文件

本地化部署大语言模型 ChatGLM_第4张图片

新建一个名为 model 的文件夹

本地化部署大语言模型 ChatGLM_第5张图片

把刚才在 Hugging Face 上下载的所有文件都放进来
应该是 20 个 检查一下

本地化部署大语言模型 ChatGLM_第6张图片

返回 ChatGLM-6B-main 跟目录 找到名为 web_demo.py 的文件

本地化部署大语言模型 ChatGLM_第7张图片

可以用记事本 或则 其他工具打开

本地化部署大语言模型 ChatGLM_第8张图片

更改第 45行代码
原本代码:
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
修改过后代码:
tokenizer = AutoTokenizer.from_pretrained("model", trust_remote_code=True)
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()
就是把 THUDM/chatglm-6b 更改为 model
并在 half()方法之后添加 quantize(4) 方法

本地化部署大语言模型 ChatGLM_第9张图片

量化需求:
如果显存小于14G 就使用 quantize(4) 方法 如果你要使用 quantize(8)你就要关闭所有应用
说一下我的电脑配置:i7、16G内存、2060ti显卡(6G显存)
各位看官老爷自己对比一下

本地化部署大语言模型 ChatGLM_第10张图片

显存查看方法

Win + R 键 打开命令窗口
输入 dxdiag 然后点击确认

本地化部署大语言模型 ChatGLM_第11张图片

打开系统自带的诊断工具之后 随便点一个显示

本地化部署大语言模型 ChatGLM_第12张图片

这个显示内存就是你的 显存

本地化部署大语言模型 ChatGLM_第13张图片

Anaconda 模块

Anaconda 官网: Anaconda 官网

Anaconda 环境创建

打开 Anaconda 点击 Environments

本地化部署大语言模型 ChatGLM_第14张图片

新建一个环境

本地化部署大语言模型 ChatGLM_第15张图片

起一个名字
注意:记住 Python 版本 有点重要 最好使用 3.10.10
如果没有可以在官网重新下载 更新一下

本地化部署大语言模型 ChatGLM_第16张图片

点击那个运行按钮 并打开 Open Terminal

本地化部署大语言模型 ChatGLM_第17张图片

根目录操作

输入 D: 进入相应硬盘

本地化部署大语言模型 ChatGLM_第18张图片

使用 cd 命令 进入到 ChatGML 根目录
我这边是 D:\Unity\ChatGLM-6B\ChatGLM-6B-main
大家根据自己的 解压路径进行 打开

本地化部署大语言模型 ChatGLM_第19张图片

基础依赖加载

键入 pip install -r requirements.txt
加载依赖项 反正我这边是会加载不完全

本地化部署大语言模型 ChatGLM_第20张图片

transformers 和 protobuf 库加载

下载 protobuf 和 transformers 库支持
pip install protobuf==3.20.0 transformers==4.27.1 icetk cpm_kernels

本地化部署大语言模型 ChatGLM_第21张图片

因为要使用 Web 显示 所以也需要加载 gradio库
pip install gradio

本地化部署大语言模型 ChatGLM_第22张图片

先启动跑一下看看 能不能运行的起来 万一可以呢 是吧
python web_demo.py

本地化部署大语言模型 ChatGLM_第23张图片

Pytorch 源修改

Pytorch: Pytorch

报错:AssertionError: Torch not compiled with CUDA enabled
这个就是 只支持 CPUCUDR 问题不大
去 Pytorch 找到对应的 直接 conda

本地化部署大语言模型 ChatGLM_第24张图片

注意选择对啊
如果conda 实在是卡的不能行的话  你就试试 pip
两个命令都给你:

conda: conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
pip: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

本地化部署大语言模型 ChatGLM_第25张图片
本地化部署大语言模型 ChatGLM_第26张图片

当出现这一句的时候 你直接 输入 y 回车就行

本地化部署大语言模型 ChatGLM_第27张图片

依赖库补充

下载完毕之后你会发现 还是缺少依赖库 找到相应名称
比如这个 chardet 直接 pip install
pip install chardet

本地化部署大语言模型 ChatGLM_第28张图片

再次运行 python web_demo.py 命令

本地化部署大语言模型 ChatGLM_第29张图片

好吧 果然不可以  缺少 cchardet库
那就继续下载呗
pip install cchardet

本地化部署大语言模型 ChatGLM_第30张图片

来了来了 全场最大的麻烦来了
明明下载都下载好了 就是无法执行 你气不气

本地化部署大语言模型 ChatGLM_第31张图片

找了一百年 重新下载也不行 换成清华源 也不行
最后的最后 就想着要不换下轮子呢

本地化部署大语言模型 ChatGLM_第32张图片

补充依赖 pypi 配置

pypi: pypi官网

在搜索框输入 你想要查询库名称

本地化部署大语言模型 ChatGLM_第33张图片

注意选择对应的 系统 我是 win64 所以就选择了第一个
这里还有一个坑

本地化部署大语言模型 ChatGLM_第34张图片

cd 到你存放 刚刚下载文件的目录

本地化部署大语言模型 ChatGLM_第35张图片

cchardet 依赖错误解决

输入 pip install D:\Unity\ChatGLM-6B\cchardet-2.1.7-cp39-cp39-win_amd64.whl
这是我的路径 各位 自行更改哈
然后你会发现 又错了!!!
不能用 完犊子 真的差点吐血 好在是解决了

本地化部署大语言模型 ChatGLM_第36张图片

回到下载文件夹 各位还记得 自己创建环境时的 Python 版本吗 对 就是那个!
原本名称是 cp39 改成 cp310 就能用了
真真不想吐槽了

本地化部署大语言模型 ChatGLM_第37张图片

你要是不知道自己环境对应的 就输入:
pip debug --verbose
按照对应的更改一下就行了

本地化部署大语言模型 ChatGLM_第38张图片

执行 pip install D:\Unity\ChatGLM-6B\cchardet-2.1.7-cp310-cp310-win_amd64.whl

本地化部署大语言模型 ChatGLM_第39张图片

成功 毫无悬念

本地化部署大语言模型 ChatGLM_第40张图片

cd 到ChatGLM 根目录
cd D:\Unity\ChatGLM-6B\ChatGLM-6B-main

本地化部署大语言模型 ChatGLM_第41张图片

再次运行 python web_demo.py
发现还是不行 那还说什么  上大招

本地化部署大语言模型 ChatGLM_第42张图片

强制 归一化

强制 最新归一化
pip install --force-reinstall charset-normalizer==3.1.0

本地化部署大语言模型 ChatGLM_第43张图片

再次启动
python web_demo.py
搓手等待...

本地化部署大语言模型 ChatGLM_第44张图片

成功部署

天见犹怜 终于终于 成功了
真是一波三折 再三折 好在是成功了

本地化部署大语言模型 ChatGLM_第45张图片

好了大家可以尽情的调教自己的 GPT

本地化部署大语言模型 ChatGLM_第46张图片

使用网址合集

GitHub: ChatGLM-6B
Hugging Face: Model
Anaconda 官网: Anaconda 官网
Pytorch: Pytorch
Pypi: pypi官网
清华大学镜像网站: 清华大学镜像网站

执行命令合集

//基础包依赖加载
pip install -r requirements.txt

//transformers 和 protobuf 依赖加载
pip install protobuf==3.20.0 transformers==4.27.1 icetk cpm_kernels

//网页使用 gradio 库 加载
pip install gradio

//启动命令
python web_demo.py

//CPU 转换
conda: conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
pip: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

//chardet 库 补充依赖
pip install chardet

//cchardet 库 补充依赖
pip install cchardet

//查看当前平台支持的版本
pip debug --verbose

//cchardet 库 轮子 加载
pip install D:\Unity\ChatGLM-6B\cchardet-2.1.7-cp310-cp310-win_amd64.whl

//强制 最新归一化
pip install --force-reinstall charset-normalizer==3.1.0

//启动命令
python web_demo.py

//断开服务
Ctrl + C

//清华源 镜像
核心句式:-i https://pypi.tuna.tsinghua.edu.cn/simple
例如下载的是:cchardet
正常下载是:pip install cchardet
清华源下载是:pip install cchardet -i https://pypi.tuna.tsinghua.edu.cn/simple

暂时先这样吧,如果有时间的话就会更新模型微调文章以及抽时间更新GLM130B的部署,实在看不明白就留言,看到我会回复的。
路漫漫其修远兮,与君共勉。

你可能感兴趣的:(语言模型,javascript,人工智能)