ChatGlm3-6B
git地址:GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型
国内下载可以通过魔塔社区:魔搭社区
阿里云服务器(可试用白嫖一段时间):人工智能平台PAI-->交互式建模(DSW)-->环境配置(odelscope:1.16.0-pytorch2.3.0tensorflow2.16.1-gpu-py310-cu121-ubuntu22.04)
部署与启动
1.下载大模型(预训练的大模型)
mkdir models
cd models
apt update
apt install git-lfs
# 克隆chatGLM3-6b大模型
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
2.下载项目(代码库)
mkdir webcodes
cd webcodes
# 下载chatglm3-6b web_demo项目
git clone https://github.com/THUDM/ChatGLM3.git
# 安装依赖
pip install -r requirements.txt
3.启动(先修改大模型路径)
MODEL_PATH=...
# 小黑窗启动命令
python cli_demo.py
遇到的坑:看似启动成功,但是一对话就报错
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128)
解决办法:对/usr/local/lib/python3.10路径下的subprocess.py文件的第1031行进行修改
使用vim指令打开subprocess.py文件,进入编辑模式,修改后保存并退出。
# 进入文件所在目录
cd /usr/local/lib/python3.10
# 打开并修改subprocess.py文件
vim subprocess.py
# 修改第1301行
# 将 data = data.decode(encoding,errors)
# 修改为 data = data.decode(encoding='utf-8',errors='ignore')
再次启动,能正常对话。
loar微调
使用LLaMA-Factory进行微调
下载并运行LLaMA-Factory
# 克隆项目
git clone https://github.com/hiyouga/LLaMA-Factory.git
# 安装项目依赖
cd LLaMA-Factory
pip install -r requirements.txt
# 看的别人的教程还要进行以下安装,但是进行安装的时候提示已经满足,应该是requirements更新了,不用再自己额外安装别的东西。
pip install transformers_stream_generator bitsandbytes tiktoken auto-gptq optimum autoawq
pip install --upgrade tensorflow
pip uninstall flash-attn -y
# 运行 注意不要进入到src文件里直接 python webui.py, 会报错
CUDA_VISIBLE_DEVICES=0 USE_MODELSCOPE_HUB=1 python src/webui.py
看似运行成功,但是在选完数据集设置完参数之后开始训练又报错了:
/bin/sh: 1: llamafactory-cli: not found
不知道为什么会报这个错误,但是去逛官方社区里面看有没有人遇到相同问题,有人提出意见运行以下代码,重新安装依赖就好使了:
pip install -e.[metrics]
训练完成后会达到相应的对话效果,也可以将模型导出,修改MODEL_PATH=导出的地址后运行
至此对ChatGLM3的部署与微调工作已完成