logo

详细指南本地运行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)

三、依赖安装

  1. 安装Anaconda

    • 下载并安装Anaconda,可以从清华大学开源软件镜像站获取较稳定的版本。
    • 安装完毕后,替换conda和pip的国内源,以加快安装速度。
  2. 创建虚拟环境

    • 打开终端,使用conda创建新的虚拟环境,如conda create -n chatglm3 python=3.10(或选择其他合适的Python版本)。
    • 激活虚拟环境,如conda activate chatglm3
  3. 安装PyTorch和其他依赖

    • 根据本机硬件和CUDA版本选择合适的PyTorch版本进行安装。例如,使用conda install pytorch torchvision torchaudio pytorch-cuda=XX -c pytorch -c nvidia(XX为具体的CUDA版本号)。
    • 安装transformers、chardet、sentencepiece等依赖项,这些可以在ChatGLM3项目中的requirements.txt文件中找到。

四、模型下载与运行

  1. 下载ChatGLM3-6B项目

    • 访问ChatGLM3的GitHub项目页面,克隆项目到本地,如git clone https://github.com/THUDM/ChatGLM3
  2. 下载模型文件

    • 使用modelscope工具下载ChatGLM3-6B模型文件,如通过from modelscope import snapshot_download; model_dir = snapshot_download("ZhipuAI/chatglm3-6b", revision="v1.0.0")
    • 将下载的模型文件复制到项目目录中。
  3. 运行模型

    • 进入项目目录,运行pip install -r requirements.txt安装项目依赖。
    • 根据官方提供的运行方式,选择本地运行、Web端运行或使用Streamlit界面运行。例如,本地运行可以执行python cli_demo.py;Web端运行可以执行python web_demo.py或使用streamlit run web_demo2.py

五、问题解决

在本地运行ChatGLM3-6B过程中,可能会遇到一些常见问题。以下是一些常见问题的解决方法:

  1. 显存不足

    • 如果显存不够,可以尝试使用量化后的模型,如.quantize(4).quantize(8)
  2. 版本不兼容

    • 如果遇到版本不兼容的问题,如AttributeError: 'ChatGLMTokenizer' object has no attribute 'sp_tokenizer',可以尝试安装指定版本的依赖项,如pip install cpm_kernels protobuf==4.24.4 "transformers<4.34"
  3. 数据类型不匹配

    • 如遇到LLM RuntimeError: expected scalar type Half but found Float错误,可以在加载模型时添加.half()方法,如model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half().to(DEVICE).eval()
  4. 环境变量问题

    • 如遇到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大模型,并在实际应用中取得更好的效果。

相关文章推荐

发表评论

活动