Ubuntu部署ChatGLM2-6B踩坑记录

这篇具有很好参考价值的文章主要介绍了Ubuntu部署ChatGLM2-6B踩坑记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、环境配置

1、安装anaconda或者miniconda进行环境的管理

2、安装CUDA

3、环境安装

二、配置加载模型

1、建立THUDM文件夹

三、遇到的问题

1、pip install -r requirements.txt

 2、运行python web_demo.py遇到的错误——TypeError: Descriptors cannot not be created directly.

 3、运行python web_demo.py遇到的错误——AttributeError: module 'numpy' has no attribute 'object'.

四、网页版Demo

基于Streamlit的网页版Demo

五、命令行Demo

六、总结


前言:ChatGLM2-6B 是开源中英双语对话模型ChatGLM-6B的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B拥有更强大的性能、更长的上下文、更高的推理和更开放的协议。

项目仓库链接:https://github.com/THUDM/ChatGLM2-6B

一、环境配置

1、安装anaconda或者miniconda进行环境的管理

安装链接:ubuntu安装Miniconda_Baby_of_breath的博客-CSDN博客

2、安装CUDA

Ubuntu 安装 CUDA11.3_计算机视觉从零学的博客-CSDN博客

3、环境安装

git clone https://github.com/THUDM/ChatGLM2-6B  #下载仓库
cd ChatGLM2-6B  #进入文件夹

#创建conda环境
conda create -n chatglm python==3.8
conda activate chatglm  #进入创建的conda环境

#使用pip安装所需要的依赖项
pip install -r requirements.txt

二、配置加载模型

1、建立THUDM文件夹

mkdir THUDM #在ChatGLM2-6B项目文件夹内建立

mkdir chatglm2-6b  #将下载的模型和配置文件全部放入到这文件夹中

#文件位置浏览
/home/wxy/ChatGLM2-6B/THUDM/chatglm2-6b

然后在huggingface中将所有的模型文件和配置文件下载下来,建议手动下载然后放入到ChatGLM2-6B/THUDM/chatglm2-6b中。

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型
将上述huggingface中的模型配置文件下载

三、遇到的问题

1、pip install -r requirements.txt

当pip安装requirements.txt时可能会遇到一些依赖项无法安装,如下图所示:

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型

解决方法:直接pip缺少的依赖项

pip install oauthlib==3.0.0
pip install tensorboard==1.15
pip install urllib3==1.25.0
pip install requests-oauthlib==1.3.1
pip install torch-tb-profiler==0.4.1 
pip install google-auth==2.18.0 

 2、运行python web_demo.py遇到的错误——TypeError: Descriptors cannot not be created directly.

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型
TypeError: Descriptors cannot not be created directly.

出现上面截图的错误TypeError: Descriptors cannot not be created directly。表示protobuf 库的版本问题导致的。错误提示提到需要使用 protoc 的版本大于等于 3.19.0 重新生成代码。

解决方法:

pip uninstall protobuf  #卸载protobuf

pip install protobuf==3.19.0  #重新安装3.19.0版本的

 3、运行python web_demo.py遇到的错误——AttributeError: module 'numpy' has no attribute 'object'.

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型
AttributeError: module 'numpy' has no attribute 'object'

 如果出现了AttributeError: module 'numpy' has no attribute 'object'这个错误,解决方案如下:

pip uninstall numpy  #卸载numpy

pip install numpy==1.23.4  #安装numpy1.23.4

四、网页版Demo

首先安装 Gradio:

pip install gradio

然后运行仓库中的web_demo.py,就可以显示如下web页面

python web_demo.py

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型

基于Streamlit的网页版Demo

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型

五、命令行Demo

运行仓库中的cli_demo.py,在终端中就会显示如下页面。程序会在命令行中进行交互式的对话,在命令行中输入指示并回车即可生成回复,输入 clear可以清空对话历史,输入 stop终止程序。

python cli_demo.py

chatglm2-6b ubuntu,linux,人工智能,自然语言处理,语言模型

六、总结

总体来说ChatGLM2-6B表现的效果还是十分出色的,推理的速度也是非常快,而且输出的篇幅比gpt要多还更有逻辑性,只不过在进行网页版demo和命令行demo的时候会占用很多的显存,因此也是比较消耗计算量的,大概占用了13GB的显存,但是仓库中也给出了低成本的部署,这一点还是比较人性化的。由于我使用的显卡是RTX3090,显存24GB所以我也就没有进行低成本的部署,感兴趣的可以去试一试。文章来源地址https://www.toymoban.com/news/detail-824552.html

到了这里,关于Ubuntu部署ChatGLM2-6B踩坑记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Triton部署chatglm2-6b模型

    NVIDIA Triton Inference Server是一个针对CPU和GPU进行优化的云端和推理的解决方案。 支持的模型类型包括TensorRT、TensorFlow、PyTorch(meta-llama/Llama-2-7b)、Python(chatglm)、ONNX Runtime和OpenVino。 NVIDIA Triton Server是一个高性能的推断服务器,具有以下特点: 1. 高性能:Triton Server为使用GPU进行推

    2024年02月08日
    浏览(56)
  • 【ChatGLM_01】ChatGLM2-6B本地安装与部署(大语言模型)

    ChatGLM2-6B是一个开源的、支持中英双语的对话语言模型,基于General Language Model (GLM)架构。 ChatGLM2-6B具备的能力: 自我认知:“介绍一下你的优点” 提纲写作:“帮我写一个介绍ChatGLM的博客提纲” 文案写作:“写10条热评文案” 信息抽取:‘从上述信息中抽取人、时间、事件

    2024年02月14日
    浏览(59)
  • ChatGLM2-6B在windows下的部署

    1、Windows 10 专业版, 64位,版本号:22H2,内存:32GB 2、已安装CUDA11.3 3、已安装Anaconda3 64bit版本 4、有显卡NVIDIA GeForce RTX 3060 Laptop GPU 1、进入Anaconda Powershell Prompt 2、创建保存chatglm2-6b的huggingface模型的公共目录。之所以创建一个公共目录,是因为这个模型文件是可以被各种应用

    2024年02月13日
    浏览(56)
  • 【AI】RTX2060 6G Ubuntu 22.04.1 LTS (Jammy Jellyfish) 部署chatglm2-6b 开源中英双语对话模型

    项目地址 chatglm2-6b 下载模型 创建测试项目 创建虚拟环境安装依赖 完整的venv环境 main.py 执行 python进程cpu使用率100.3%持续了很长时间,没有启用多线程?

    2024年01月20日
    浏览(53)
  • 从零开始学AI:ChatGLM2-6B 部署测试

    ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,ChatGLM2-6B 引入了如下新特性: 更强大的性能:基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混

    2024年04月28日
    浏览(40)
  • ChatGLM2-6B! 我跑通啦!本地部署+微调(windows系统)

    记录一下此时此刻,2023年7月8日22点04,从ChatGLM2-6B在7月4日开放了ptuning到此时此刻,ChatGLM2-6B的微调终于被哥们跑通了! 从 本地部署ChatGLM2-6B 到 本地进行P-tuning微调 ,再到最后的 模型检测 ,哥们全跑通了! 这里非常感谢ChatGLM2-6B|开源本地化语言模型这篇博客!因为我布置

    2024年02月16日
    浏览(48)
  • 在矩池云使用ChatGLM-6B & ChatGLM2-6B

    ChatGLM-6B 和 ChatGLM2-6B都是基于 General Language Model (GLM) 架构的对话语言模型,是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同发布的语言模型。模型有 62 亿参数,一经发布便受到了开源社区的欢迎,在中文语义理解和对话生成上有着不凡的表现。 ChatGLM-6B 可以在消费级的显卡

    2024年02月14日
    浏览(51)
  • 三个开源大模型(chatglm2-6B, moss, llama)-chatglm2的测试

    chatglm2-6B 是清华大学开源的一款支持中英双语的对话语言模型。经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,具有62 亿参数的 ChatGLM2-6B 已经能生成相当符合人类偏好的回答。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6G

    2024年02月11日
    浏览(66)
  • chatglm2-6b模型在9n-triton中部署并集成至langchain实践

    近期, ChatGLM-6B 的第二代版本ChatGLM2-6B已经正式发布,引入了如下新特性: ①. 基座模型升级,性能更强大,在中文C-Eval榜单中,以51.7分位列第6; ②. 支持8K-32k的上下文; ③. 推理性能提升了42%; ④. 对学术研究完全开放,允许申请商用授权。 目前大多数部署方案采用的是

    2024年02月12日
    浏览(83)
  • ChatGLM2-6B

    ChatGLM2-6B 项目基本情况 GitHub:https://github.com/THUDM/ChatGLM2-6B/tree/main 参考:https://mp.weixin.qq.com/s/11jCCeOpg1YbABIRLlnyvg 主要贡献 更强大的性能:基于 ChatGLM 初代模型的开发经验,我们全面升级了 ChatGLM2-6B 的基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预

    2024年02月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包