详细指南本地运行ChatGLM3-6B大模型
2024.11.20 15:27浏览量:165简介:本文详细介绍了如何在本地运行ChatGLM3-6B大模型,包括环境配置、依赖安装、模型下载与运行等步骤,并提供了问题解决建议,助力用户顺利部署ChatGLM3-6B。
在当今人工智能快速发展的时代,大模型的本地化部署成为越来越多开发者和研究人员的关注焦点。ChatGLM3-6B作为新一代对话预训练模型,凭借其强大的语义能力和多模态支持,在众多应用场景中展现出巨大潜力。本文将手把手教你如何在本地运行ChatGLM3-6B大模型,从环境配置到模型运行,全程详细指导。
一、ChatGLM3-6B模型简介
ChatGLM3-6B由智谱AI和清华大学KEG实验室联合发布,是ChatGLM系列的第三版。该模型不仅继承了前两代模型的对话流畅性和低部署门槛等优秀特性,还在性能和功能上进行了全面升级。它支持多模态输入,包括文本、图像、声音等,能够处理和生成多模态数据,并具备工具调用、代码执行、网络搜索增强等先进功能。此外,ChatGLM3-6B还引入了自研的AgentTuning技术,提升了智能规划和执行能力。
二、环境配置
在本地运行ChatGLM3-6B之前,需要进行一系列的环境配置。以下是最低配置要求:
- 操作系统:Windows、Linux或macOS
- 内存:对于Int4版本,内存需>=8GB;对于FP16版本,内存需>=16GB
- 显存:对于Int4版本,显存需>=5GB(如1060 6GB,2060 6GB);对于FP16版本,显存需>=13GB(如4080 16GB)
- Python版本:推荐3.10或3.11
- CUDA:如果在GPU上运行模型,需要安装CUDA(仅限Windows和Linux)
三、依赖安装
安装Anaconda:
- 下载并安装Anaconda,可以从清华大学开源软件镜像站获取较稳定的版本。
- 安装完毕后,替换conda和pip的国内源,以加快安装速度。
创建虚拟环境:
- 打开终端,使用conda创建新的虚拟环境,如
conda create -n chatglm3 python=3.10(或选择其他合适的Python版本)。 - 激活虚拟环境,如
conda activate chatglm3。
- 打开终端,使用conda创建新的虚拟环境,如
安装PyTorch和其他依赖:
- 根据本机硬件和CUDA版本选择合适的PyTorch版本进行安装。例如,使用
conda install pytorch torchvision torchaudio pytorch-cuda=XX -c pytorch -c nvidia(XX为具体的CUDA版本号)。 - 安装transformers、chardet、sentencepiece等依赖项,这些可以在ChatGLM3项目中的requirements.txt文件中找到。
- 根据本机硬件和CUDA版本选择合适的PyTorch版本进行安装。例如,使用
四、模型下载与运行
下载ChatGLM3-6B项目:
- 访问ChatGLM3的GitHub项目页面,克隆项目到本地,如
git clone https://github.com/THUDM/ChatGLM3。
- 访问ChatGLM3的GitHub项目页面,克隆项目到本地,如
下载模型文件:
- 使用modelscope工具下载ChatGLM3-6B模型文件,如通过
from modelscope import snapshot_download; model_dir = snapshot_download("ZhipuAI/chatglm3-6b", revision="v1.0.0")。 - 将下载的模型文件复制到项目目录中。
- 使用modelscope工具下载ChatGLM3-6B模型文件,如通过
运行模型:
- 进入项目目录,运行
pip install -r requirements.txt安装项目依赖。 - 根据官方提供的运行方式,选择本地运行、Web端运行或使用Streamlit界面运行。例如,本地运行可以执行
python cli_demo.py;Web端运行可以执行python web_demo.py或使用streamlit run web_demo2.py。
- 进入项目目录,运行
五、问题解决
在本地运行ChatGLM3-6B过程中,可能会遇到一些常见问题。以下是一些常见问题的解决方法:
显存不足:
- 如果显存不够,可以尝试使用量化后的模型,如
.quantize(4)或.quantize(8)。
- 如果显存不够,可以尝试使用量化后的模型,如
版本不兼容:
- 如果遇到版本不兼容的问题,如
AttributeError: 'ChatGLMTokenizer' object has no attribute 'sp_tokenizer',可以尝试安装指定版本的依赖项,如pip install cpm_kernels protobuf==4.24.4 "transformers<4.34"。
- 如果遇到版本不兼容的问题,如
数据类型不匹配:
- 如遇到
LLM RuntimeError: expected scalar type Half but found Float错误,可以在加载模型时添加.half()方法,如model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half().to(DEVICE).eval()。
- 如遇到
环境变量问题:
- 如遇到
RuntimeError: Library cudart is not initialized错误,可以在加载模型之前添加环境变量设置代码,如import os; os.environ['PATH'] = os.environ.get("PATH", "") + os.pathsep + r'D:\Anaconda\envs\chatglm\Lib\site-packages\torch\lib'(路径需根据实际情况调整)。
- 如遇到
六、产品关联:千帆大模型开发与服务平台
在本地运行ChatGLM3-6B的过程中,借助千帆大模型开发与服务平台,可以更加高效地管理和优化模型。该平台提供了一站式的模型开发、部署和监控服务,能够显著降低模型应用的门槛和成本。通过千帆大模型开发与服务平台,用户可以轻松实现模型的版本管理、性能调优和在线部署等功能,进一步提升模型的应用效果和用户体验。
七、总结
本文详细介绍了如何在本地运行ChatGLM3-6B大模型,从环境配置到依赖安装,再到模型下载与运行,以及常见问题的解决方法,为读者提供了全面的指导。同时,本文还介绍了千帆大模型开发与服务平台在模型管理和优化方面的优势,为模型的进一步应用提供了有力支持。希望本文能够帮助读者顺利部署和运行ChatGLM3-6B大模型,并在实际应用中取得更好的效果。

发表评论
登录后可评论,请前往 登录 或 注册