ChatGLM2-6B下载与部署

news2024/12/26 22:29:00

0 写在前面

我们首先来看一下ChatGLM2-6B模型的requirements:

protobuf
transformers==4.30.2
cpm_kernels
torch>=2.0
gradio
mdtex2html
sentencepiece
accelerate
sse-starlette
streamlit>=1.24.0

可以看到,要求torch>=2.0,这就产生了一个问题:torchcuda版本的匹配问题。本地机器中CUDA=10.0,于是在费了半天时间配置好ChatGLM2-6B所需环境,从githubhuggingface下载好了ChatGLM2-6B模型,但是在run的过程中报错Torch not compiled with CUDA enabled,于是不得不卸载并重新安装CUDA因此提醒各位看官,在配置前,请一定检查torch和cuda版本是否匹配**。torch2.0所需的版本为cuda 11.x,其中cuda 11.7cuda 11.8都是可以的。
所以我们先从CUDA卸载与安装说起,如果不存在cuda版本匹配问题,可以略过此步。

1 CUDA卸载与安装

1.1 cuda版本查看

查看本机所支持的最高版本:cmd->nvidia-smi,其中红色框中的是本机支持的最高版本的cuda
在这里插入图片描述
查看本机当前版本:cmd->nvcc --version,可以看到,当前版本为cuda_11.8(这是升级更新以后的结果)
在这里插入图片描述

1.2 cuda卸载

用windows的控制面板进行卸载,搜索cuda(右上角),把和cuda相关的都卸载掉,注意只卸载cuda相关程序,NVIDIA相关的驱动等,如果拿不准,建议不要动,维持原状。
在这里插入图片描述

1.3 cuda安装

cuda官网下载地址:https://developer.nvidia.com/cuda-downloads
这里我选择11->exe(local),如果想要查看下载所有历史版本,可以点击Archive of Previous CUDA Releases
在这里插入图片描述
以管理员身份运行cuda_11.8.0_522.06_windows.exe,过程中可以选择自定义安装,由于我只卸载了cuda,因此也只安装cuda,其他的几个选项勾选掉了。安装路径为C:\Program Files\NVIDIA GPU Computing Toolkit
在这里插入图片描述
安装过程大约10分钟左右,中途出现了以下问题,原因是安装过程中需要在系统环境变量path变量中写入以下路径,但由于我的path变量超限,写不进去,于是安装程序提示让在安装完成后手动在path变量中写入这两个路径。
由此引发另一个问题:path变量超限问题,关于这个问题,网上有说修改注册表的,有说直接在注册表中的path中写入路径的,最后采用的是这个方法,亲测有效。
在这里插入图片描述
环境变量问题解决掉后,重启电脑,打开cmd测试一下,如果cmd->nvidia-smicmd->nvidia-smi可用并且显示相关信息,说明cuda升级更新成功!

2 ChatGLM2-6B下载

B站有一个官网的教程可参考:视频教程
github上把项目拖下来,然后在项目所在路径下面,创建虚拟环境venv,在该环境下安装项目所需的依赖requirements.txt,这两步怎么做,可以参考我以前的教程Anaconda3安装配置/创建删除虚拟环境/在特定虚拟环境下安装库,以及这里在这里插入图片描述
值得注意的是:torch的安装,建议用官网给的命令:https://pytorch.org/get-started/pytorch-2.0/#faqs,以避免不必要的麻烦。
即:
pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118
文件有2.7GB大小,下载略慢,如下图。
在这里插入图片描述
项目路径D:\Code\ChatGLM2-6B,文件结构如下,其中THUDM文件夹和venv文件夹是自己创建的,THUMD用于存放从预训练模型。
在这里插入图片描述

3 从Huggingface下载预训练模型

下载预训练模型,有3种方式:

3.1. 方式1:代码直接调用

方式1:代码直接调用,前提是可以(科学上网)访问Huggingface
在这里插入图片描述

3.2. 方式2:手动从Huggingface上下载

Huggingface上的项目地址:https://huggingface.co/THUDM/chatglm2-6b
在这里插入图片描述
Huggingface上面,项目的完整目录如图
在这里插入图片描述

3.3. 方式3:从清华云盘下载

从清华云盘将所有下面的文件下载下来,放进D:\Code\ChatGLM2-6B\THUDM\chatglm2-6b这个目录,THUDM\chatglm2-6b这个目录是自己创建的。
在这里插入图片描述
这还不够,需要从Huggingface项目地址中,将其余的一些配置文件下载补全,一起放进D:\Code\ChatGLM2-6B\THUDM\chatglm2-6b这个目录。(为什么一部分从清华云盘下,一部分从huggingface下??因为内网从huggingface下载的速度非常非常慢,所以几个大的1G以上的文件从清华云盘下载了,但清华云盘上没有给所需的配置文件如config.json,导致模型跑不起来,所以一些小的几个KB的配置文件从huggingface下载了,嗯…就这么回事)。

3.4 检查目录结构

检查一下自己的存放预训练模型的文件夹结构,如下:
在这里插入图片描述

4 运行与测试ChatGLM2-6B

在pycharm中打开该项目,写了一个很简单的测试脚本Test.py,向它提问晚上睡不着该咋办,运行项目后,ChatGLM2-6B给出答案,在这个过程中,加载模型的checkpoints需要约半分钟时间,模型推理需要约半分钟时间才能给出答案(台式机,一张NVIDIA GeForce RTX 2080Ti显卡,16GB内存)
在这里插入图片描述
在这里插入图片描述
再测试一个,向它提问:飞机是怎么装配的,回答如下
在这里插入图片描述

5. 写在后面

安装过程中的bug总结如下:

  1. cannot import name 'deprecated' from 'typing_extensions'
  2. cannot import name 'Doc' from 'typing_extensions'
    以上两个bug是由于ChatGLM2-6B项目需要typing_extensions>4.8.0,按要求安装即可:pip install typing_extensions==4.8

-----------------------------------------------------------------The End!---------------------------------------------------------------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1161831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决uniapp的video标签和transition属性使用时出现错位的问题

template:三个视频都每个占满屏幕,点击按钮滚动最外层bgBox元素, style: 想要加上动画过渡效果: 这是显示第一个视频: 点按钮向上滑动滚动到第二个视频时: 视频错位了 ,因为视频消失又出现的时候…

一款支持星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌等超卷的日历工具库

大家好,我是凌览。 日常GitHub划水发现一款超级6的日历工具库lunar,它支持阳历、阴历、佛历和道历,甚至还玩上了星座、干支、生肖、节气、节日、彭祖百忌、每日宜忌、吉神宜趋、凶煞宜忌、吉神方位、冲煞、纳音、星宿、八字、五行、十神、建…

day58--动态规划16

583. 两个字符串的删除操作 72. 编辑距离 编辑距离总结篇 第一题:两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: &qu…

单元测试学习

回顾测试理论基础 单元测试基础知识 什么是单元测试 单元测试流程、测试计划 测试策略设计、实现 单元测试 - 执行 HTML 报告生成 1 软件测试分类 目标 回顾测试理论知识-测试分类 1. 测 试分类 代码可见度上-划分分类: 1. 黑盒测试 2. 灰盒测试 3. …

Mac允许任何来源的的安装包进行安装

首先打开终端,开启“任何来源”,执行如下命令: sudo spctl --master-disable 然后回车,继续输入密码(密码输入时是不可见的),然后回车。 接着打开【系统偏好设置】,选择【安全性与…

梦百合上榜2023鼎革奖数字化转型先锋榜

10月26日,第六届“鼎革奖”数字化转型先锋榜单揭晓,梦百合家居凭借数字化生产的卓越成果——SAP管理平台及供应链项目,入选2023【鼎革奖】数字化转型先锋榜年度供应链转型典范,梦百合家居COO 崔慧明同步入选2023【鼎革奖】数字化转型先锋榜年度首席运营官。 据了解,「鼎革奖」数…

用CHAT编写代码

今天小编带大家来试试用CHAT 写代码 问:本题要求编写程序,计算出从n个不同元素中取出m个元素(m≤n)的组合数。用c语言 CHAT 回复:在C语言中,我们可以通过事先定义一个函数用于计算阶乘,然后利用…

在如今的大环境下你是否选择测试岗?——打造敏捷测试团队

摘要:敏捷转型大潮汹涌而来,各大技术公司均被卷入其中,在管理层的重视下,效能提升成为测试团队日常工作的口头禅。但是我们也看到,敏捷转型的效果参差不齐,真正深入理解敏捷要义的骨干员工数量很少&#xf…

Maven Repository使用

1.Maven Repository网站 https://mvnrepository.com/https://mvnrepository.com/ 2.查询需要的依赖 3.参考例子 <!-- https://mvnrepository.com/artifact/org.freeswitch.esl.client/org.freeswitch.esl.client --> <dependency> <groupId>org.freesw…

needle库下载TypeScript程序用HTTP做个爬虫模版

下面是一个使用needle库进行下载的TypeScript程序&#xff0c;它下载了pinduoduo的内容&#xff0c;并且使用了proxy_host为duoip&#xff0c;proxy_port为8000的爬虫IP。 import needle from needle;// 设置爬虫IP needle.requestDefaults({proxy: {host: duoip,port: 8000} }…

不擅长花言巧语,但擅长把好东西分享给你

现在买冬装&#xff0c;不是为了让你立马穿上 而是等到寒冷天气的来临 别人你还在急急忙忙准备冬衣时 你的宝贝已经穿上新衣快快乐乐地出门啦

【C++代码】买卖股票最佳时机系列,动态规划--代码随想录

题目&#xff1a;买卖股票的最佳时机 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票&#xff0c;并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你…

使用lua-resty-request库编写爬虫IP实现数据抓取

目录 一、lua-resty-request库介绍 二、使用lua-resty-request库进行IP数据抓取 1、获取IP地址 2、设置请求 3、处理数据 三、代码实现 四、注意事项 五、总结 本文将深入探讨如何使用lua-resty-request库在爬虫程序中实现IP数据抓取。我们将首先介绍lua-resty-request…

Mac安装DBeaver

目录 一、DBeaver Mac版软件简介 二、下载地址 三、DBeaver连接失败报错 3.1 问题描述 3.2 连接失败问题解决 一、DBeaver Mac版软件简介 DBeaver Mac版是一款专门为开发人员和数据库管理员设计的免费开源通用数据库工具。软件的易用性是它的宗旨&#xff0c;是经过精心设计…

AMEYA360祝贺:大唐恩智浦荣获「2023年度最佳电源管理芯片奖」

2023年10月30日&#xff0c;由芯师爷主办、慕尼黑华南电子展协办、深圳市半导体行业协会支持的“第五届硬核芯生态大会暨2023汽车芯片技术创新与应用论坛”及“2023 年度硬核芯评选颁奖盛典”在深圳圆满落幕。 本次峰会以“芯生万象&#xff0c;集成未来”为主题&#xff0c;汇…

战略管理BLM模型

随着华为战略的成功&#xff0c;越来越多人的了解战略管理的方法BLM业务领先模型&#xff0c;今天从BLM模型各要素开始介绍模型及元素。 一、BLM业务领先模型 Business Leadership Model (BLM) 该模型采用一系例工具进行3年战略规划滚动、年度经营计划与跟踪&#xff0c;实现…

php计算中英文字符串长度方法

1、mb_strlen计算中英文函数长度 可以使用mb_strlen()函数来计算中英文字符串的长度。该函数可以计算多字节字符的长度&#xff0c;包括中文和其他非英文字母字符。 $str "Hello 你好"; $length mb_strlen($str, UTF-8); echo "字符串的长度是&#xff1a;…

大龄程序员的曙光?探讨2023程序员就业现象的真相

看到了官方发布的 2023开发者职场生存白皮书 &#xff08;感兴趣的小伙伴可以点击链接跳转至原文看一看&#xff09;&#xff0c;尽管一直保持着乐观心态的我&#xff0c;面对着马上到来的所谓 「35岁中年危机」&#xff0c;内心多多少少的也有些焦虑&#xff0c;作为即将下场的…

Tomcat运行日志乱码问题/项目用tomcat启动时窗口日志乱码

文章目录 一、问题描述&#xff1a;二、产生原因三、解决方法 一、问题描述&#xff1a; 项目在idea中运行时日志是正常的&#xff0c;用Tomcat启动时发现一大堆看不懂的文字&#xff0c;如 二、产生原因 产生乱码的根本原因就是编码和解码不一致&#xff0c;举个例子就是翻…

国产数据库达梦DM8迁移工具

点击上方蓝字关注我 DM数据迁移工具DM DTS提供了主流大型数据库迁移到 DM、DM 到 DM、文件迁移到 DM 以及 DM 迁移到文件等功能&#xff0c;在做国产数据库适配过程中经常需要将现有数据库的数据迁移至国产数据库中&#xff0c;因此适配达梦DM8数据库时&#xff0c;可以使用DM …