ChatGLM3详细安装部署

news2024/11/26 5:26:49

一、安装NVIDIA

找到任务栏的右下角,右键选择NVIDIA进行安装。

这里正在进行安装,稍等片刻。等待安装完毕。

安装好之后打开,选择驱动程序进行下载。

下载好,可以选择快速安装即可。

安装完之后,进行重新启动系统。

二、下载CUDA

访问CUDA官网进行下载,CUDA Toolkit 12.3 Update 1 Downloads | NVIDIA Developer

下面的选项和操作系统可以根据自己的情况自己选择下载。

下载完成后,进行安装。安装目录可以自行选择,最好是新建一个新的文件夹。

等待下载完成即可。

下载安装好之后,打开选择同意并继续;

这里可以选择默认的【精简】- 更新现有驱动程序并保留当前NVIDIA设置,然后点击:下一步

NVIDIA图形驱动程序的安装流程是全自动的,耐心等待即可;

安装好之后选择下一步;

这里就显示NVIDIA安装程序已完成,关闭即可。

三、对NVIDIA的安装程序进行验证

按下Win+R键,打开命令提示符,输入nvidia-smi进行验证。验证成功,显示CUDA Version: 12.3。

四、下载ChatGLM3_Package

ChatGLM3的github下载地址:GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

选择下载为zip压缩包,然后解压到你自己指定的目录。

五、安装anaconda配置python环境

这里选用清华大学开源软件镜像站:anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下载的速度更快。

点击下载链接:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

往下翻,找到最新的.exe进行下载。

安装anaconda时,只需要注意一下你存放的路径,其他都直接默认next即可。

这里,第二个自动帮你添加环境变量的选项,如果是图个方便的话可以勾选,但环境变量可以后期进行设置,更加明确些;

第三个是将anaconda设置为系统的python3.11,python3.11我之前有下载过,所以在勾选的时候会跳出警示框,选择确认即可。

安装可能需要花上一段时间,请稍等。这里已经显示安装完成,点击Next。

这里的两个选项可以不进行勾选,大多都是推广的软件,勾选了后续也会关闭。

在系统环境变量中找到Path,新建以下的目录路径,完成之后点击确定。

E:\Anaconda 
E:\Anaconda\Scripts
E:\Anaconda\Library\bin
E:\Anaconda\Library\mingw-w64\bin
E:\Anaconda\Library\usr\bin 

同样,打开命令提示符,输入conda --version或conda info查看当前conda版本信息。

如果提示conda不是内部或外部命令,那一般是,Anaconda的环境变量没配置好。需要好好检查一下。

六、阅读README.md进行环境依赖

打开到README.md的目录,在E:\ChatGLM3-main\composite_demo\README.md,如果安装的文件夹不同,路径可能会发生改变。打开README.md。

执行以下命令新建一个 conda 环境并安装所需依赖

conda create -n chatglm3-demo python=3.10
conda activate chatglm3-demo
pip install -r requirements.txt
conda install -c huggingface huggingface_hub

请注意,本项目需要 Python 3.10 或更高版本。

此外,使用 Code Interpreter 还需要安装 Jupyter 内核:

ipython kernel install --name chatglm3-demo --user

七、下载ChatGLM3训练模型

可以在E:\ChatGLM3-main目录下右键打开Git Bash Here,

下面用 Git LFS 从 Hugging Face Hub 将模型下载到本地,

git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b

如果你从 HuggingFace 下载比较慢,也可以从 ModelScope 中下载。

git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

下载模型需要等待较长时间,毕竟内存比较大。

下载完毕后,打开下载到的目录,目录内容如下。

八、配置模型对应的环境变量

复制上面打开的文件夹目录路径,我这里是E:\ChatGLM3-main\chatglm3-6b

同样,打开环境变量,在系统变量中新建变量。

变量名:MODEL_PATH

变量值:E:\ChatGLM3-main\chatglm3-6b

再新建一个环境变量,

变量名:IPYKERNEL

变量值:chatglm3-demo

九、启动运行ChatGLM3

运行以下命令在本地加载模型并启动 demo:

streamlit run main.py

如果已经在本地下载了模型,可以通过 export MODEL_PATH=/path/to/model 来指定从本地加载模型。如果需要自定义 Jupyter 内核,可以通过 export IPYKERNEL=<kernel_name> 来指定。

这里的两步就是对应的上面两步新建环境变量。

输入streamlit run main.py后等待加载完毕。

加载完毕,已经可以顺利的看到我们的ChatGLM3页面了。

十、模型量化

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

model = AutoModel.from_pretrained("THUDM/chatglm3-6b",trust_remote_code=True).quantize(4).cuda()

模型量化会带来一定的性能损失,经过测试,ChatGLM3-6B 在 4-bit 量化下仍然能够进行自然流畅的生成。

十一、CPU 部署

如果你没有 GPU 硬件的话,也可以在 CPU 上进行推理,但是推理速度会更慢。使用方法如下(需要大概 32GB 内存)

model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True).float()

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

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

相关文章

Git 入门指南

什么是 Git&#xff1f; Git 的目前最流行的分布式版本控制软件&#xff0c;可以帮助我们高效敏捷的处理任何项目。 版本管理 要理解 Git 我们首先要理解版本管理。 版本管理就是开发过程中用于管理对文件、目录或者工程等内容的修改历史&#xff0c;可以让我们方便的查看历史…

react-virtualized报bpfrpt_proptype_WindowScroller引入错误

背景 vite构建阶段react-virtualized报错 报错信息 ✘ [ERROR] No matching export in "node_modules/_react-virtualized9.22.5react-virtualized/dist/es/WindowScroller/WindowScroller.js" for import "bpfrpt_proptype_WindowScroller"node_module…

Python神技:轻松找出文本文件最热门单词

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 当想要深入了解一段文本&#xff0c;最常见的需求之一就是找到其中出现频率最高的单词。这篇文章将引导你使用Python编写程序&#xff0c;通过简单而强大的技术&#xff0c;准确地找出文本文件中那个频率最高的单…

解决d3dcompiler_43.dll文件丢失的方法,最详细的d3dcompiler_43.dll修复指南

如果你的电脑出现了d3dcompiler_43.dll文件丢失的问题&#xff0c;你知道要怎么去解决么&#xff1f;其实要解决这个问题还是比较简单的&#xff0c;只要你了解清楚d3dcompiler_43.dll文件&#xff0c;那么就知道有多种不同的方法可以去解决它&#xff0c;下面我们一起来看看吧…

记一篇Centos7安装innodb_ruby

安装innodb_ruby过程非常坎坷&#xff0c;这里记录下安装过程&#xff0c;有些坑当时没有记录下来&#xff0c;主要把完成安装过程就记录下来 yum安装ruby默认的会安装ruby2.0.0版本&#xff0c;但是在安装innodb_ruby时&#xff0c;会报错&#xff0c;提示至少需要2.4版本以上…

微信小程序上传报错TypeError: Failed to fetch

上传之后报message&#xff1a;TypeError: Failed to fetch这个错误。 关掉项目 > 选择项目的ide界面右上有个齿轮设置 > 代理

Spring Cloud Gateway集成SpringDoc,集中管理微服务API

本文目标 Spring Cloud微服务集成SpringDoc&#xff0c;在Spring Cloud Gateway中统一管理微服务的API&#xff0c;微服务上下线时自动刷新SwaggerUi中的group组。 依赖版本 框架版本Spring Boot3.1.5Spring Cloud2022.0.4Spring Cloud Alibaba2022.0.0.0Spring Doc2.2.0Nac…

老师怎么选班干部

对于老师来说&#xff0c;选择合适的班干部是一项重要任务。班干部不仅是学生的榜样&#xff0c;也是班级秩序维护者。 了解学生的情况是必要的。老师需要了解每个学生的性格、能力和潜力&#xff0c;为他们分配适合的职务。对于新班级&#xff0c;可以观察学生在课堂上的表现、…

【古月居《ros入门21讲》学习笔记】12_服务端Server的编程实现

目录 说明&#xff1a; 1. 服务模型 说明 2. 实现过程&#xff08;C&#xff09; 创建服务器代码&#xff08;C&#xff09; 配置服务器代码编译规则 编译 运行 3. 实现过程&#xff08;Python&#xff09; 创建服务器代码&#xff08;Python&#xff09; 运行效果 说…

人民的艺术家王昱玺出席巴基斯坦驻华使馆学校国际文化日活动

王昱玺和罗马尼亚驻华大使馆特命全权大使丹-霍利亚马克西姆 王昱玺&#xff0c;出生于抗日革命根据地山西省吕梁市。联合国金砖国家文化理事会外交官大使、安徒生世界妇女贵族天使、世界文联和平大使、世界文化大使勋章获得者、中国内地女高音歌唱演员、中央电视台CCTV艺术传…

推荐6款交互设计软件,助你事半功倍!

交互软件可以帮助设计师从“可用性”和“用户体验”的角度优化他们的作品。如果设计师想创建一个令人满意的交互设计作品&#xff0c;一个方便的交互设计软件是必不可少的。当然&#xff0c;交互软件只是我们实现目标的一种手段。根据设计师的个人喜好和方便&#xff0c;选择易…

气膜建筑助力体育场馆快速普及

传统的室内体育馆投入资金庞大&#xff0c;建设强度高&#xff0c;建设周期漫长。而气膜体育馆的出现&#xff0c;不仅显著降低了建设成本和缩短了建设周期&#xff0c;更符合节能环保的需求&#xff0c;成为推动场馆快速普及的创新建筑形式。 对于校园设施的建设而言&#xff…

第二十章多线程总结

20.1 线程简介 世间有很多工作都是可以同时完成的。例如&#xff0c;人体可以同时进行呼吸、血液循环、思考问题等活用户既可以使用计算机听歌&#xff0c;也可以使用它打印文件。同样&#xff0c;计算机完全可以将多种活动同时进这种思想放在 Java 中被称为并发&#xff0c;而…

【论文笔记】SDCL: Self-Distillation Contrastive Learning for Chinese Spell Checking

文章目录 论文信息Abstract1. Introduction2. Methodology2.1 The Main Model2.2 Contrastive Loss2.3 Implementation Details(Hyperparameters) 3. Experiments代码实现个人总结值得借鉴的地方 论文信息 论文地址&#xff1a;https://arxiv.org/pdf/2210.17168.pdf Abstrac…

与 PCIe 相比,CXL为何低延迟高带宽?

文章目录 前言1. LatencyPCIE 生产者消费则模型结论Flit 包PCIE/CXL.ioCXL.cace & .mem总结 2. BandWidth常见开销CXL.IO Link efficiencyPCIe Link efficiencyCXL.IO bandwidthCXL.mem/.cache bandwidth 参考 前言 CXL 规范里没有具体描述与PCIe 相比低延时高带宽的原因&…

Ros报错:The Plugin for class ‘jsk_rviz_plugin/Plotter2D‘ failed to load

一般出现这种情况&#xff0c;是提醒Ros缺少某种库&#xff1a; 图中显示的错误是说明少了jsk_rviz_plugins库&#xff0c;他是一个提供原始rviz插件的包。 解决办法是安装相应的库与插件&#xff1a; #根据自己ROS的版本选择相应的指令 # ubuntu20.04:noetic sudo apt-get i…

Django快速搭建静态网页

Django的快速搭建 这个是例子 这个是一个目录 项目名称&#xff1a;项目似乎被命名为DJ0928&#xff0c;这是Django项目的根目录。 文件都是Django项目的核心配置文件。 settings.py 包含了项目的配置设置。urls.py 定义了项目的URL路由。wsgi.py 和 asgi.py 分别用于Web服务器…

Java高级技术(反射:获取类的成员变量)

一&#xff0c;获取类的成员变量的常用方法 二&#xff0c;案例 三&#xff0c;赋值&#xff0c;取值的常用方法 四&#xff0c; 案例 五&#xff0c;获取类的成员方法的常用方法 六&#xff0c;案例 七&#xff0c;执行 八&#xff0c;案例

代码随想录算法训练营 ---第五十天

第一题&#xff1a; 简介&#xff1a; 做买卖股票的问题最重要的是分析状态&#xff0c;将状态分析清楚本题也就做出来了。我们看本题它说我们至多可以完成两笔交易&#xff0c;也就意味着我们有两种选择 dp状态分析 1.完成一次交易获得最大利益 完成一次交易我们用二维数组…

零代码连接钉钉宜搭与用友U8,让业财数据管理简单高效

零代码连接钉钉宜搭与用友U8&#xff0c;让业财数据管理简单高效 如果把企业内部的业务系统比作一条条河流&#xff0c;那么它们的交汇点就像江河湖海。在这些交汇点上&#xff0c;数据的汇集、分析和共享离不开系统之间的集成。 钉钉宜搭和用友U8是两个在企业中非常重要的系统…