【折腾笔记】Windows系统运行ChatGLM3-6B模型实验

news2024/11/29 10:59:02

【折腾笔记】Windows系统运行ChatGLM3-6B模型实验

准备工作

硬件环境

  1. 笔记本电脑

  2. CPU:AMD R9 7940HS 8核16线程

  3. 内存:16G+16G DDR5双通道 4800MHz

  4. GPU:NVIDIA RTX4060 8G显存

软件环境

  1. 操作系统版本:Windows 10 企业版 22H2

  2. 显卡驱动程序:Game Ready

  3. 显卡驱动版本:551.61

  4. Python版本:3.10.11

  5. CUDA版本:12.3

软件下载

  • 显卡驱动:https://www.nvidia.cn/geforce/drivers/

  • Python:https://www.python.org/downloads/

  • CUDA:https://developer.nvidia.com/cuda-downloads?target_os=Windows

  • ChatGLM3:https://github.com/THUDM/ChatGLM3/tree/main

  • CHatGLM3-6B:https://modelscope.cn/models/ZhipuAI/chatglm3-6b/files

推理实验

通过一些问题来了解ChatGLM3的推理水平及逻辑运算能力,实验时,均采用一次询问。

  • Q1:你是什么模型?

    A1:我是一个名为 ChatGLM3 的语言模型,由 Zipu.AI 开发。我是基于 GLM3-6B 模型训练的,能够针对用户的问题和要求提供适当的答复和支持。

  • Q2:鲁迅和周树人是什么关系?

    A2:鲁迅和周树人是同一人。鲁迅是周树人的笔名,鲁迅是中国现代文学的奠基人之一,他通过鲁迅的作品,倡导了民主与科学的思想,并对照明了封建社会的黑暗面。

  • Q3:树上有10只鸟,飞走了5只,然后又飞来了3只,请问树上还剩几只鸟?

    A3:上面描述的情况可以用数学方法来解决。当有10只鸟在树上时,如果飞走了5只,那么树上剩下的鸟的数量为:

    10−5=5

    因此,树上剩下5只鸟。但是问题中还有另外的信息,即后来又飞来了3只鸟。所以最终的答案是:

    5+3=8因此,树上现在还剩下8只鸟。

  • Q4:夏天能穿多少穿多少,冬天能穿多少穿多少

    A4:这是个很有趣的谜语!但是不太好理解,因为“夏天”和“冬天”在气候上是不同时期的季节。我猜您想表达的是:

    夏天气温较高,因此可以少穿衣服,但保暖性能要好,可以选择轻薄的外套或短裤等; 冬天气温较低,需要多穿一些衣服来保持身体温暖,可以选择厚实的衣物,如棉衣、羽绒服等。

    当然,这只是一个简单的解释。如果您有其他的含义或者想要更多的信息,请告诉我!

  • Q5:你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?

    A5:我们可以通过数学方法来解决这个问题。假设这三种颜色的果冻分别为 A、B 和 C。首先,我们随机地抓取一个果冻,它可能是任何一种颜色。然后我们将它放回,再抓取第二个果冻。有以下几种情况:

    1. 抓到两个相同颜色的果冻。此时,已经确定了存在至少两个相同颜色的果冻,不需要再抓取其他果冻。

    2. 抓到一个不同颜色的果冻和一个相同颜色的果冻。这时,我们需要再抓取一个果冻来确认是否一定有两个相同颜色的果冻。

    因此,为了确保我们可以确定至少有 two 个相同颜色的果冻,我们需要抓取至少 3 个果冻。

  • Q6:两根绳子粗细不均匀,燃烧时间均为1个小时,燃烧速度不均匀,现给你一个打火机,如何准确度量15分钟时?

    A6:要精确地测量15分钟的时间,我们可以通过让这两根绳子分别燃烧来做到这一点。下面是一种方法:

    1. 首先,拿着一根绳子并在火焰上点燃它的一端。

    2. 当绳子开始烧着的时候,立刻将另一根绳子的两端放在火焰中,使其也燃烧。

    3. 当其中一根绳子燃烧完的时候,正是另一根绳子燃烧了15分钟。

    因为两根绳子在同一时间内被燃烧,所以当在其中一根绳子燃烧完的时候,另一根绳子正好燃烧了15分钟。

    需要注意的是,这种方法需要对火焰进行观察,以确保两边的时间保持一致。同时,要确保在操作过程中不要让自己或其他人接触到火焰或烟雾,以免发生危险。

实验结果

  1. 成功加载ChatGLM3-6B模型,由于实验机器只有8G显存,使用的是INT4量化等级进行运行的,加载模型时显存占用4G左右、内存占用2G左右,推理时GPU中的CUDA核心使用率为98%左右,运行速度流畅。

  2. 在连续对话中,运行速度流畅。

  3. 同时打开多个对话进行推理,开三个以上对话进行推理,流畅度明显降低。

  4. 复杂问题推理时偶尔会出现中英混合输出的情况。

  5. 由于实验机器显存太小,不足以全量运行ChatGLM3-6B模型,所以无法对不同量化等级的推理精度作比较。

硬件选型

要流畅运行拥有6B参数的ChatGLM3模型,以下是一些建议的最低配置要求。

  • 操作系统:Windows 10/11。Windows 64位版本更为适合运行大型模型。

  • 处理器:不需要特定的CPU型号,但强大的多核心处理器会提供更好的运行效率。

  • 内存:最低8GB,推荐16GB以上,以获得更流畅的体验。

  • 显卡:

    1. 对于需要GPU加速的情况,NVIDIA RTX 4090等高端显卡能提供优秀的性能。此类显卡配合至少13GB的显存可以轻松应对模型的需求。

    2. ChatGLM3-6B支持在小于6GB显存的显卡上运行,尽管可能会有性能损失。这意味着即便是中端显卡,只要进行适当的模型量化,也有可能运行该模型。

    3. 对于不依赖GPU的场景,模型也能在仅有CPU的系统上运行,虽然性能和响应速度可能会有所下降。

文章出处:https://blog.uptoz.cn/archives/ooEhtRag
作者原创:@小小笔记大大用处 https://blog.uptoz.cn

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

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

相关文章

栈类实现与括号匹配问题(c++)

1,关于栈 堆栈 又名栈(stack),它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它…

Linux重点思考(上)--权限/解压/定时任务/性能

Linux重点思考(上)--权限/解压/定时任务 权限修改格式chmod使用 打包解压tar -zcvf ab.tar(打包)tar -xvf ab.tar -C/usr (解压) 系统防火墙service iptables statussystemctl status iptables区别 定时任务定时任务-c…

【Java多线程(3)】线程安全问题和解决方案

目录 一、线程安全问题 1. 线程不安全的示例 2. 线程安全的概念 3. 线程不安全的原因 二、线程不安全的解决方案 1. synchronized 关键字 1.1 synchronized 的互斥特性 1.2 synchronized 的可重入特性 1.3 死锁的进一步讨论 1.4 死锁的四个必要条件(重点&…

2024UI自动化面试题汇总【建议收藏】

1.你是如何搭建ui自动化框架的? 在搭建ui自动化框架,使用的是po设计模式,也就是把每一个页面所需要 操作的元素和步骤都封装成一个页面类中。然后使用seleniumunittest搭建 四层框架实现数据、脚本、业务逻辑分离(关键字驱动&…

怎样在Linux搭建NTP服务器

搭建 NTP(Network Time Protocol)服务器可以帮助你在局域网内提供时间同步服务,让网络中的设备都使用统一的时间。以下是在 Linux 系统上搭建 NTP 服务器的基本步骤: 安装 NTP 服务器软件: 在终端中执行以下命令安装 N…

计算机网络实验四:MAC地址、IP地址、ARP地址

目录 实验四:MAC地址、IP地址、ARP地址 4.1 实验目的 4.2 实验步骤 4.2.1 构建网络拓扑 4.2.2 配置各网络设备 4.2.3 网络功能验证测试 4.3 实验总结 实验四:MAC地址、IP地址、ARP地址 4.1 实验目的 (1)掌握计算机网络中…

使用mybatis的@Interceptor实现拦截sql

一 mybatis的拦截器 1.1 拦截器介绍 拦截器是一种基于 AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。 1.2 语法介绍 1.注解Intercepts Intercepts({Signature(type StatementHandler.class, method “…

深度理解C++多继承和多态

首先我们看看多继承的多态是如何发生的。 #include <iostream>using std::cout; using std::endl;class A {public:virtualvoid a(){cout<<"virtual A::a()"<<endl;}virtualvoid b(){cout<<"virtual A::b()"<<endl;}virtua…

【C++进阶】多态,带你领悟虚函数和虚函数表

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 【本节目标】 1. 多态的概…

京东云8核16G服务器配置租用优惠价格1198元1年、4688元三年

京东云轻量云主机8核16G服务器租用优惠价格1198元1年、4688元三年&#xff0c;配置为8C16G-270G SSD系统盘-5M带宽-500G月流量&#xff0c;华北-北京地域。京东云8核16G服务器活动页面 yunfuwuqiba.com/go/jd 活动链接打开如下图&#xff1a; 京东云8核16G服务器优惠价格 京东云…

uniapp 微信小程序 输入框跟随手机键盘弹起

需求&#xff1a;手机键盘弹起后&#xff0c;页面底部的输入框跟随弹起&#xff0c;且页面不被顶上去 html: <textareaclass"textinput"placeholder-class"input-place"auto-height:maxlength"2000"v-model"text"placeholder"…

工业测试测量仪器与人工智能(AI)如何结合

工业测试测量仪器与人工智能&#xff08;AI&#xff09;的结合可以通过多种方式实现&#xff0c;其中一些主要方法包括&#xff1a; 1. 数据分析和预测 智能数据分析&#xff1a;利用AI算法对从传感器和测试仪器收集的数据进行分析&#xff0c;识别模式、趋势和异常&#xff0…

基于单片机热敏电阻PT100温度控制系统设计

**单片机设计介绍&#xff0c;基于单片机热敏电阻PT100温度控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机热敏电阻PT100的温度控制系统设计是一个综合了硬件和软件设计的工程任务。以下是对该设计概要的…

我如何学会在学术界培养人际关系,并变得更加友善

我是一名初级教授&#xff0c;压力很大&#xff0c;工作到筋疲力尽&#xff0c;但在工作和家庭中仍然感到不足。因此&#xff0c;当我的入门编程课程的三名学生在学期结束时来到我的办公室&#xff0c;对他们的成绩感到担忧时&#xff0c;我觉得我没有时间处理他们的抱怨。我觉…

总结IP协议各类知识点

前言 本篇博客博主将详解IP协议中的各类知识点&#xff0c;坐好板凳发车啦~ 一.IP协议格式 1.1 4位版本号&#xff08;version&#xff09; 指定IP协议的版本&#xff0c;对于IPv4来说&#xff0c;就是4。 1.2 4位头部长度&#xff08;header length&#xff09; IP头部的…

数据结构算法系列----贪心算法

目录 一、什么是贪心 1、定义&#xff1a; 2、举例&#xff1a; 二、例题 完整代码&#xff1a; 一、什么是贪心 1、定义&#xff1a; 贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法。在贪心算法中&#xff0c;通过 局部最优 解来达到全局最优解。贪心算法…

(C语言)fgets与fputs函数详解

目录 1. fputs函数详解 1.1 向文件流输入数据 1.2 向标准输出流输出数据 2. fgets函数详解 2. 1 从文件流中得到数据 2.2 从标准输入流读取数据 1. fputs函数详解 头文件&#xff1a;stdio.h 函数有两个参数&#xff1a;str 与 stream 作用&#xff1a;写一串字符串到流…

计算机系统基础 5 物理地址的形成

历史 早期&#xff0c;程序员自己管理主存&#xff0c;通过分解程序并覆盖主存的方式执行程序 取指令和存储操作数所有的地址都是物理地址&#xff1b; 执行速度快&#xff0c;无需进行地址转换&#xff1b; 未采用虚拟存储机制。 1961年有人提出自动执行overlay…

【动手学深度学习-pytorch】9.2长短期记忆网络(LSTM)

长期以来&#xff0c;隐变量模型存在着长期信息保存和短期输入缺失的问题。 解决这一问题的最早方法之一是长短期存储器&#xff08;long short-term memory&#xff0c;LSTM&#xff09; (Hochreiter and Schmidhuber, 1997)。 它有许多与门控循环单元&#xff08; 9.1节&…

【学习笔记】java项目—苍穹外卖day04

文章目录 1. 新增套餐1.1 需求分析和设计1.2 代码实现1.2.1 DishController1.2.2 DishService1.2.3 DishServiceImpl1.2.4 DishMapper1.2.5 DishMapper.xml1.2.6 SetmealController1.2.7 SetmealService1.2.8 SetmealServiceImpl1.2.9 SetmealMapper1.2.10 SetmealMapper.xml1.…