掘金 人工智能 05月16日 18:18
Windows 环境部署 ChatGLM2-6b 入门教程
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

ChatGLM2-6B是智谱AI与清华KEG实验室联合推出的新一代中英双语对话模型,相较于前代产品,在性能、上下文处理能力和推理速度上均有显著提升。该模型对学术研究完全开放,并允许商业使用。文章详细介绍了ChatGLM2-6B的特性、部署方法以及在Windows平台上的搭建过程,包括代码下载、环境配置、模型量化、Demo运行等,同时提供了手动下载模型和解决常见问题的建议。

🚀 ChatGLM2-6B 在初代模型基础上进行了全面升级,利用 GLM 混合目标函数,并经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,在多个数据集上性能显著提升,例如在 MMLU、CEval 等数据集上都有明显提升。

💡 ChatGLM2-6B 采用了 FlashAttention 技术,上下文长度从 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度进行训练,从而支持更长轮次的对话,提高交互体验。

⚡️ 基于 Multi-Query Attention 技术,ChatGLM2-6B 拥有更高效的推理速度和更低的显存占用。与初代模型相比,推理速度提升了 42%,在 INT4 量化下,6G 显存支持的对话长度从 1K 提升到了 8K,优化了使用体验。

💻 部署方面,ChatGLM2-6B 支持多种硬件和软件环境,包括 GPU 和 CPU。模型提供了不同精度的版本,如 FP16、INT4 等,以适应不同的部署需求。此外,也支持多卡部署,解决单张 GPU 显存不足的问题。

🛠️ 在Windows平台部署时,需要下载代码、配置环境、安装依赖,并根据设备能力选择模型量化精度。文章提供了详细的步骤和常见问题的解决方案,例如解决“TBB”安装错误和“readline”模块缺失问题,方便用户进行本地部署和调试。

介绍

ChatGLM2-6B是智谱AI及清华KEG实验室发布的中英双语对话模型,它是 ChatGLM-6B 的第二代版本。

主要特点:

代码参考

目前在git上已经获星15.5k,算是一款比较火爆的开源中英文对话模型。git地址:github.com/THUDM/ChatG…

windows平台搭建部署ChatGLM2-6b过程

    代码下载:git clone https://github.com/yanceyxin/ChatGLM2-6B.git

    cd 到 ChatGLM2-6B文件目录,打开README.md,解读配置过程,根据README.md进行部署;

    激活到自己的配置的conda虚拟环境:conda activate deeplearning

    在 ChatGLM2-6B文件目录下,使用 pip 安装依赖:pip install -r requirements.txt,其中 transformers 库版本推荐为 4.30.2torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能。【该过程相对比较慢,即使设计科学上网也要一段时间】

    报错了:不能安装“TBB”,查资料解决吧。查找资料,是给ananconda 升级 mkl 包的错误,删掉Anaconda3\Anaconda3\Lib\site-packagesTBB-0.2-py3.11.egg-info文件,重新pip install -r requirements.txt,即成功;

    安装成功

    根据自己的设备能力修改demo中模型量化精度,用GPU可以选择低成本模型,修改如下代码为int4精度;model = AutoModel.from_pretrained("THUDM/chatglm2-6b-int4", trust_remote_code=True).cuda()

    当前目录下用Python运行web_demo.py,接近4G数据,又是漫长的下载等待时间,即使科学上网也要相对长的时。放弃,选择手动下载,如步骤8中。

    建议可以手动下载模型,根据自己本地设备的能力选择相应精度的模型,放到源码相应目录里。网址:huggingface.co/THUDM/chatg…

    在文件目录新建目录THUDM\chatglm2-6b-int4,将手动下载的模型放到里。

demo使用

命令行版cli_demo.py

(1)打开cli_demo.py文件,修改模型为精度为int4,对应着上一步新建的模型目录。(2)启动demo,运行:python cli_demo.py;又报错了,提示没有readline(3)安装readline:pip install readline,依旧报错,查资料,遇到这个问题是因为尝试在Windows环境中安装readline模块,但readline是一个主要用于Unix-like系统的库,不原生支持Windows。Python在Windows上的标准安装包含一个名为pyreadline的替代模块,该模块旨在模仿readline的一些功能。(4)安装pyredline: pip install pyreadline,安装成功。(5)将文件cli_demo.pyreadline修改成import pyreadline

(6)继续启动demo:python cli_demo.py,进行如下图对话,成功💪,GPU版本AI回答还算比较快。

web版本web_demo.py

(1)同样的,修改web_demo.py中模型精度为int4。

(2)启动demo:python web_demo.py;又报错,提示:AttributeError: 'Textbox' object has no attribute 'style'. Did you mean: 'scale'?,查资料gradio版本太高,卸载当前版本,安装旧一点的版本,命令:pip uninstall gradio、pip install gradio==3.50.0(3)启动demo:python web_demo.py;在浏览器弹出如下界面。(4)但公网无法访问,如果公网想访问,修改web_demo.py最后一行代码,将share=False修改为share=True(5)重新启动demo:python web_demo.py,试用,如下,成功💪,但默认启动项目会自动从线上远程下载模型文件,能正常启动,但也无法形成对话;还是老实用命令行demo吧。

web版本web_demo2.py

(1)该版本是启动基于 Streamlit 的网页版 demo,项目README.md中介绍该版本的网页版demo更流畅。(2)修改web_demo2.py中模型路径为本地int4模型路径THUDM\chatglm2-6b-int4(3)启动demo:streamlit run web_demo2.py,在浏览器中出现如下,进行试用对话,成功💪;但好像智商一般,看来int4的模型精度还是不太行,只能进行简单问题的对话。

参考

    Windows11搭建GPU版本PyTorch环境详细过程

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

ChatGLM2-6B 开源 大模型 部署
相关文章