位置: IT常识 - 正文

ChatGLM-6B (介绍相关概念、基础环境搭建及部署)

编辑:rootadmin
ChatGLM-6B (介绍相关概念、基础环境搭建及部署) 文章目录前言一、ChatGLM-6B是什么?二、安装虚拟的python环境1.下载2.安装3.设置国内源(危险)4.虚拟环境使用简介三、部署ChatGLM-6B1. clone代码2. 运行1.创建虚拟环境2.装包2.1 找到合适的pytorch版本2.1 安装依赖2.2 验证pytorch是否为GPU版本3.运行四、部署过程中遇到的问题1. 问题12.问题23.问题34.问题4总结参考文章前言

推荐整理分享ChatGLM-6B (介绍相关概念、基础环境搭建及部署),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

最近chatgpt比较火,正好看到国内有个类似开源的框架,那不得试试、

一、ChatGLM-6B是什么?

ChatGLM-6B是清华大学知识工程和数据挖掘小组(Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University)发布的一个开源的对话机器人。根据官方介绍,这是一个千亿参数规模的中英文语言模型。并且对中文做了优化。本次开源的版本是其60亿参数的小规模版本,约60亿参数,本地部署仅需要6GB显存。

二、安装虚拟的python环境

ChatGLM-6B 代码中有一些python3.7支持的语法,所以要有python3.7+ 的环境。我们使用conda来管理python环境 conda分为anaconda和miniconda。anaconda是包含一些常用包的版本,miniconda则是精简版.本文中我们将使用anaconda

1.下载

可以在官网中找到自己需要的版本进行下载,如果你系统也是ubutu 64位的,也可以使用我下载的版本进行安装

2.安装

在上一步下载的安装包同级,使用命令行执行以下命令

# 此处需写实际下载名称bash Anaconda3-2023.03-Linux-x86_64.sh

然后根据提示操作即可

3.设置国内源(危险)

可以参考此文章。当然,如果不换源可以顺利装所有的包的话,尽量不要执行此操作。我就因为换了源,导致后边出了很多小问题。

4.虚拟环境使用简介# 创建虚拟环境conda create -n xxx python=3.8# 进入虚拟环境conda activate xxx# 退出当前虚拟环境conda deactivate# 查看本地虚拟环境conda info --env# 删除虚拟环境conda remove -n xxx --all三、部署ChatGLM-6B1. clone代码git clone https://github.com/THUDM/ChatGLM-6B.git2. 运行1.创建虚拟环境# 新建chatglm环境conda create -n chatglm python=3.8# 激活chatglm环境conda activate chatglm2.装包2.1 找到合适的pytorch版本

我们可以通过以下命令查看自己的cuda及cuda驱动版本

nvidia-smiChatGLM-6B (介绍相关概念、基础环境搭建及部署)

我们可以看到,cuda版本是11.5,驱动版本是493.44,然后我们去官网寻找合适的pytorch装包指令,官网链接如下: https://pytorch.org/get-started/locally/ https://pytorch.org/get-started/previous-versions/ 如果找不到对应版本的话,可以参考此链接,通过驱动找到合适的cuda toolkit版本,然后再去官网寻找合适的装包指令 注:驱动是向下兼容的,其决定了可安装的CUDA Toolkit的最高版本。

2.1 安装依赖# 根据上一步找到的安装指令进行安装:pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113# 安装gradio用于启动图形化web界面pip install gradio# 安装运行依赖pip install -r requirement.txt2.2 验证pytorch是否为GPU版本import torchtorch.cuda.is_available() ## 输出应该是True3.运行

在运行前,我们需要修改一些文件内容

# web_demo.py# 1. 新增mirror='https://mirrors.tuna.tsinghua.edu.cn/hugging-face-models,下载模型使用清华源tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True, mirror='https://mirrors.tuna.tsinghua.edu.cn/hugging-face-models')model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True, mirror='https://mirrors.tuna.tsinghua.edu.cn/hugging-face-models').half().cuda()# 2. 增加server_name和server_port参数demo.queue().launch(share=True,server_name="0.0.0.0",server_port=9234)四、部署过程中遇到的问题1. 问题1

报错如下:

ERROR: Could not find a version that satisfies the requirement protobuf<3.20.1,>=3.19.5 (from versions: none)ERROR: No matching distribution found for protobuf<3.20.1,>=3.19.5

原因及解决方案: 是因为上一步换了国内的镜像源,所以只需要指定装包路径即可l sls

pip install -r requirements.txt -i https://pypi.Python.org/simple/2.问题2

报错如下:

ImportError: Using SOCKS proxy, but the 'socksio' package is not installed. Make sure to install httpx using `pip install httpx[socks]`.

原因及解决方案: 是因为我在命令行设置了“科学上网”,关掉即可

# 因为我设置的是临时的,所以在命令行输入如下代码即可unset http_proxyunset https_proxy3.问题3

报错如下:

RuntimeError: CUDA out of memory. Tried to allocate 128.00 MiB (GPU 0; 7.93 GiB total capacity; 7.40 GiB already allocated; 53.19 MiB free; 7.40 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

原因及解决方案: 默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存。如果你的 GPU 显存有限,可以尝试以量化方式加载模型,使用方法如下:

# int4精度加载,需要6G显存# web_demo.pymodel = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(4).cuda()4.问题4

报错如下:

RuntimeError: Library cudart is not initialized

原因及解决方案: 我是用conda管理的环境,此时应该是cudatoolkit有问题,参考此issue

# 使用conda安装cudatoolkitconda install cudatoolkit=11.3 -c nvidia总结

例如:整个部署其实最难的应该还是环境了,虽然项目的README写的比较简单,但是真实搭建起来确实各种问题,希望此文章能给大家一些帮助吧。

参考文章

清华大学开源中文版ChatGPT模型——ChatGLM-6B发布 PyTorch、CUDA Toolkit 及显卡驱动版本对应关系 验证pytorch是否为GPU版本

本文链接地址:https://www.jiuchutong.com/zhishi/283910.html 转载请保留说明!

上一篇:显示器有必要买4k高分辨率吗?高分辨显示器值得(显示器有必要买240hz吗)

下一篇:最高超频记录的CPU是什么(最强超频)

  • 红米手机怎么查询真伪(红米手机怎么查询手机是不是新机)

    红米手机怎么查询真伪(红米手机怎么查询手机是不是新机)

  • 什么是数据挖掘(什么是数据挖掘(DM)? 数据挖掘的步骤如何?)

    什么是数据挖掘(什么是数据挖掘(DM)? 数据挖掘的步骤如何?)

  • 安卓手机来电没有声音(安卓手机来电没有声音只有震动)

    安卓手机来电没有声音(安卓手机来电没有声音只有震动)

  • 华为输入密码很快又自动锁屏(华为密码怎么输都不对)

    华为输入密码很快又自动锁屏(华为密码怎么输都不对)

  • lp地址相同是什么意思(ip地址相同怎么处理)

    lp地址相同是什么意思(ip地址相同怎么处理)

  • 人人视频投屏总是中断(人人视频投屏总是中断怎么办)

    人人视频投屏总是中断(人人视频投屏总是中断怎么办)

  • 外贸网站平台都有哪些(外贸网站建设哪家比较好)

    外贸网站平台都有哪些(外贸网站建设哪家比较好)

  • 华为输入密码无反应(华为手机输密码没反应怎么办)

    华为输入密码无反应(华为手机输密码没反应怎么办)

  • 淘气值怎么显示不出来(淘宝淘气值在哪)

    淘气值怎么显示不出来(淘宝淘气值在哪)

  • 华为nova5pro声音突然变小(华为nova5pro声音忽大忽小)

    华为nova5pro声音突然变小(华为nova5pro声音忽大忽小)

  • 互联网和移动互联网有什么区别(互联网和移动互联网革命属于技术革命吗)

    互联网和移动互联网有什么区别(互联网和移动互联网革命属于技术革命吗)

  • ios13多大内存(ios13有多大内存)

    ios13多大内存(ios13有多大内存)

  • 软件由程序和什么组成(软件由程序和什么构成)

    软件由程序和什么组成(软件由程序和什么构成)

  • 小度可以看视频直播吗(小度可以看视频电视吗)

    小度可以看视频直播吗(小度可以看视频电视吗)

  • QQ暂时解冻能自动恢复吗(qq暂时解冻能自动解冻吗)

    QQ暂时解冻能自动恢复吗(qq暂时解冻能自动解冻吗)

  • 增量下载怎么解决(增量下载设置在哪)

    增量下载怎么解决(增量下载设置在哪)

  • 手机宽多少厘米(一个手机宽多少厘米)

    手机宽多少厘米(一个手机宽多少厘米)

  • 怎么彻底删除时钟就寝(怎么钟删除)

    怎么彻底删除时钟就寝(怎么钟删除)

  • 锁单啥意思(锁单操作技巧视频)

    锁单啥意思(锁单操作技巧视频)

  • 什么是信息传输的物理通道(什么是信息传输的物理媒介)

    什么是信息传输的物理通道(什么是信息传输的物理媒介)

  • 魅族的语音助手叫什么(魅族的语音助手在哪里设置)

    魅族的语音助手叫什么(魅族的语音助手在哪里设置)

  • 为什么苹果手机下载不了喜马拉雅(为什么苹果手机发烫严重)

    为什么苹果手机下载不了喜马拉雅(为什么苹果手机发烫严重)

  • 华为隐私空间能干什么(华为隐私空间能不能被机器查出来)

    华为隐私空间能干什么(华为隐私空间能不能被机器查出来)

  • qq怎么看生日(qq怎么看生日收到的礼物)

    qq怎么看生日(qq怎么看生日收到的礼物)

  • 在妈妈身旁玩耍的北极熊宝宝们,加拿大曼尼托巴省 (© Andre Gilden/Minden Pictures)(在妈妈身边的说说)

    在妈妈身旁玩耍的北极熊宝宝们,加拿大曼尼托巴省 (© Andre Gilden/Minden Pictures)(在妈妈身边的说说)

  • DedeCMS相关文章调用标签代码,有利于seo优化(dedecms模版)

    DedeCMS相关文章调用标签代码,有利于seo优化(dedecms模版)

  • 增值税发票网上勾选平台
  • 税务申报指的是什么
  • 进项3个点销项13个点,增值税
  • 员工住院的发票可以做账吗
  • 城建税纳税申报表
  • 权益法核算的好处
  • 资产减值损失为什么不能转回
  • 居民企业核定征收企业所得税的项目有哪些
  • 物业公司收取供热管道内网的维护费用合理吗
  • 劳务公司外地劳务是否需要预缴税款及会计处理
  • 运保佣是什么
  • 营改增后接受实物投资是否需要缴纳增值税?
  • 普通发票跨年作废有影响吗
  • 个人代开普通发票需要出税费吗?
  • 生活垃圾处理项目基础金融产品包括
  • 资产减值损失列示在利润表哪里
  • 零申报资产总额填注册资本怎么办呢
  • 企业所得税视同销售的捐赠扣除
  • 旅游业差额征税怎么计算
  • 小规模纳税人核定征收标准
  • 现在就是去年
  • windows 发布时间
  • mac小技巧
  • 应交增值税的会计科目
  • 外贸公司进出口权办理流程
  • php输出二进制
  • 苹果mac画图工具
  • 跨年冲减无发票怎么入账
  • 公司党员活动日方案
  • 怎么登记总分类账簿
  • 审核凭证要注意哪些问题
  • PHP简单实现HTTP和HTTPS跨域共享session解决办法
  • 被雪覆盖的山峰
  • 详解HTTP Cookie状态管理机制
  • php 获取文件类型
  • 付工程改造余款分录
  • php中strstr
  • 财务费用为负数是好事还是坏事
  • centos配置php环境
  • 33.JavaScript映射与集合(Map、Set)数据类型基础知识介绍与使用
  • php获取文件内容的方法
  • 稳岗补贴怎么申请步骤
  • 美国人用什么英语词典
  • ps位图矢量化
  • 小型微利企业符合条件的有
  • 二房东可以卖房吗
  • 公对私转账没有到账怎么查询
  • sqlserver并发怎么处理
  • 公对私转账有什么风险
  • 结转成本是什么凭证
  • 零星采购入什么科目
  • 工伤在门诊的收据能报销吗
  • 未计提坏账准备发生坏账如何处理
  • 已付款未认证发票怎么做账
  • 委托加工的相关法律规定
  • 出口货物质量不足怎么办
  • 小规模收入不超过多少不用交税
  • 房屋出租要交的税有哪些
  • 建筑工程公司收入来源
  • 退票费凭证可以用于报销吗?
  • 工会为员工购买水杯
  • 微软windows 10
  • windows7的常用菜单
  • os x 10.10.5
  • 屏幕画面颠倒
  • win8睡眠快捷键是什么
  • win10更新补丁导致打印机
  • mysql服务器的安装与配置
  • unity用visual
  • ubuntu搭建android开发环境
  • 使用div+css进行网页布局的三种方式
  • perl中$_
  • cocos2djs教程
  • 微信小程序使用webview
  • node.js web
  • python爬虫详解
  • python scripy
  • 亮屏功能
  • jquery教程实例
  • 湖南城乡居民医疗保险咨询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设