THUDM/chatglm2-6b-int4体验

 

 在gpu下

gpu: Telsa T4

资源消耗:RAM大概4G,GPU显存大概6G

# 安装transformers等包
!pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 gradio mdtex2html sentencepiece accelerate# 导入AutoTokenizer, AutoModel
from transformers import AutoTokenizer, AutoModel# 设置模型名称,选择THUDM/chatglm2-6b-int4模型,
# AutoTokenizer从huggingface中导入THUDM/chatglm2-6b-int4模型的tokenizer
model_id = "THUDM/chatglm2-6b-int4"       
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)# 输出“你今天吃了吗?”的tokenizer编码
encoding = tokenizer("你今天吃了吗?")
encoding# 使用AutoModel加载模型model,从huggingface下载
# half()参数将模型数据从float32改为float16,缩小模型尺寸,加速模型
# cuda()将模型加载到GPU上,使用GPU的并行处理进行加速
# model.eval()运行在eval模式,关闭dropout等操作,更准确的输出
model = AutoModel.from_pretrained(model_id, trust_remote_code=True).half().cuda()print(model.__class__)model = model.eval()# 进行推理
# prompt是输入
# response是推理的结果
# 模型model通过chat类得到结果prompt = "你好"
response, history = model.chat(tokenizer, prompt, history=[])
response你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。

耗时33秒

问:请讲个笑话

答:

耗时24秒

问:做一个游玩中国的计划

耗时17秒

问:晚上睡不着怎么办

在cpu下运行

资源消耗:RAM大概7G

# 安装transformers等包
!pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 gradio mdtex2html sentencepiece accelerate# 导入AutoTokenizer, AutoModel
from transformers import AutoTokenizer, AutoModel# 设置模型名称,选择THUDM/chatglm2-6b-int4模型,
# AutoTokenizer从huggingface中导入THUDM/chatglm2-6b-int4模型的tokenizer
model_id = "THUDM/chatglm2-6b-int4"       
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)# 输出“你今天吃了吗?”的tokenizer编码
encoding = tokenizer("你今天吃了吗?")
encoding# 使用AutoModel加载模型model,从huggingface下载
# float()在CPU上运行
# model.eval()运行在eval模式,关闭dropout等操作,更准确的输出
model = AutoModel.from_pretrained(model_id,trust_remote_code=True).float()print(model.__class__)model = model.eval()# 进行推理
# prompt是输入
# response是推理的结果
# 模型model通过chat类得到结果prompt = "你好"
response, history = model.chat(tokenizer, prompt, history=[])
response你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。

 

耗时4分钟

问:你好

答:你好👋!我是人工智能助手 ChatGLM2-6B,很高兴见到你,欢迎问我任何问题。

耗时17分钟

问:晚上睡不着应该怎么办

答:以下时是一些有助于晚上睡觉的技巧:

1. 创建一个睡眠友好的环境:确保房间安静tricm温馨,温度适宜,并且没有任何噪音。

2. 规律的睡眠时间:尽量在同一时间入睡和起床,即使周末也要遵循这个规律。

3. 放松身心:在睡觉前数绵羊或听轻柔的音乐有助于放松身心。

4. 避免刺激:避免在睡觉前看电视或使用电脑等电子设备,因为这些设备会刺激大脑。

5. 远离咖啡因:避免在睡觉前数小时内摄入咖啡因,因为咖啡因是一种刺激药物。

6. 锻炼身体:适量的运动可以帮助你入睡,但要避免在睡觉前做剧烈运动。

7. 远离酒精:避免在睡觉前数小时内饮酒或饮酒,因为酒精是一种镇静剂,会让你在晚上醒来时感到疲倦。

如果你仍然睡不着或者有长期的失眠问题,建议咨询医生或睡眠专家以获取更好的帮助。

 

耗时15分钟

问:介绍一下中国

答:中国是一个位于亚洲东部的国家,是世界上第三大国家,人口众多,拥有960万平方公里的土地。中国有着悠久的历史和文化,拥有许多著名的历史遗迹和世界文化遗产。

中国是一个社会主义国家,由中国共产党领导,经济以制造业为主,是世界上最大的出口国之一。中国也是世界上最大的工业和科技中心之一,拥有广阔的科技和人才资源。

中国的文化包含了悠久的历史和传统,包括儒家文化、道家文化、佛教文化和民俗风情等。中国也是世界上茶文化、丝绸文化、陶瓷文化等的中心,拥有丰富的文化遗产。

中国是一个充满活力和发展潜力的大国,近年来取得了很多成就,吸引了越来越多的人前来旅游、学习和生活工作。

 

耗时17分钟

问:什么是量子化?

答:量子化是一种将物理问题分解为更小部分的方法,即将一个复杂的物理系统分解为更简单的组成部分。量子化通常涉及将一个连续的、连续的函数分解为一个或多个离散的、离散的函数。

在量子力学中,量子化通常是指将一个未知的、复杂的物理量分解为更简单的组成部分。例如,量子力学中的波函数就是将一个未知的物理量分解为更简单的组成部分的例子。量子力学中的波函数和它们的平方根被用来描述粒子在空间中的位置和动量,而这些物理量是不能直接测量的。

量子化还可以用于描述一些经典物理学中未解决的问题,例如量子场论和量子引力。在这些领域中,物理学家将复杂的物理系统分解为更简单的组成部分,并用量子力学的方法来描述它们的行为。

 

结论:THUDM/chatglm2-6b-int4在CPU运行,推理等待时间很长,一个问题可能要十几分钟,好在只需7G的RAM即可体验,有兴趣的话可以试一试。在GPU上推理速度明显提升,十几秒就能响应,答案可能略显简单,商业化还有很多的工作要做。

遇到的错误:NotImplementedError: A UTF-8 locale is required. Got ANSI_X3.4-1968

解决方法:

import locale
locale.getpreferredencoding = lambda: "UTF-8"

源自:https://github.com/googlecolab/colabtools/issues/3409

积累:

Jupyter Notebook查看使用的Python版本    

import sys
print(sys.version)
print(sys.executable)

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

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

相关文章

CSAPP Lec01

1. CMU 15213_15513 CSAPP 深入理解计算机系统 Lecture 01 Course Overview 中英字幕_哔哩哔哩_bilibili 从这个课程中可以学到什么?(为什么要学这门课) Great Reality #1(数字类型): Ints are not Integers, Floats…

idea打jar包

目录 1、打包设置 2、打包介绍 3、开始打包 1、打包设置 先设置要打包的模块信息,即打包进去的内容。如下图所示:File --> Project Structure --> Artifacts,点击+号完成模块创建,其中有两种方式:…

《零基础实践深度学习》(第2版)学习笔记,(二)机器学习和深度学习综述

文章目录 1. 人工智能、机器学习、深度学习的关系2. 机器学习2.1 实现原理2.2 如何实施 3. 深度学习神经网络核心概念 1. 人工智能、机器学习、深度学习的关系 **人工智能(Artificial Intelligence,AI)**是研发用于模拟、延伸和扩展人的智能…

微服务系列(2)--注册中心

在博文:微服务系列(1)里我们提到过注册中心的概念,简单来说微服务注册中心是一个用于存储和管理微服务实例信息的组件,它提供了服务注册、服务发现、服务健康检查等功能,以确保微服务之间的稳定通信。在微服务架构中,各…

应用层协议——TCP(上)

文章目录 1. TCP协议1.1 TCP协议段格式1.2 确认应答(ACK)机制1.3 16位窗口大小1.4 6位标志位1.4.1 TCP三次握手 1.5 确认应答(ACK)机制1.6 超时重传机制1.7 连接管理机制1.7.1 理解TIME_WAIT状态1.7.2 理解 CLOSE_WAIT 状态 1. TCP协议 TCP全称为传输控制协议,意思…

〔AI 绘画〕Stable Diffusion 之 VAE 篇

✨ 目录 🎈 什么是VAE🎈 开启VAE🎈 下载常见的VAE🎈 对比不同VAE生成的效果 🎈 什么是VAE VAE:是 Variational Auto-Encoder 的简称,也就是变分自动编码器可以把它理解成给图片加滤镜&#xff…

JavaWeb-Filter过滤器

目录 Filter过滤器 1. Filter的生命周期 2.Filter的配置 3.拦截路径 4.拦截具体的使用 5.拦截方式配置(资源被访问方式) 6.FilterChain拦截链 Filter过滤器 filter是过滤器,相比于Servlet的发送请求,filter是用于拦截请求。…

2023-08-14 linux 串口终端输入长命令不换行,覆盖前面内容,stty命令设置串口终端行列数

一、linux 串口终端输入长命令不换行,覆盖前面内容,现象如下图: 二、解决方法:用stty 命令设置行列数 stty columns 200 stty rows 10三、参考文章 https://www.cnblogs.com/goloving/p/15170537.html 常用Linux串口设备操作命…

【Servlet】(Servlet API HttpServlet 处理请求 HttpServletRequest 打印请求信息 前端给后端传参)

文章目录 Servlet APIHttpServlet处理请求 HttpServletRequest打印请求信息前端给后端传参 Servlet API Servlet中常用的API HttpServlet 实际开发的时候主要重写 doXXX 方法, 很少会重写 init / destory / service destory 服务器终止的时候会调用. //下面的注解把当前类和…

gin的占位符:和通配符*

1、用法 在 Gin 路由中,可以使用一个通配符(*)或一个占位符(:)来捕获 URL 的一部分。 r.GET("/royal/:id", func(c *gin.Context) {id : c.Param("id")//fmt.Println("into :id")c.Str…

HBase API

我们之后的实际开发中不可能在服务器那边直接使用shell命令一直敲的&#xff0c;一般都是通过API进行操作的。 环境准备 新建Maven项目&#xff0c;导入Maven依赖 <dependencies><dependency><groupId>org.apache.hbase</groupId><artifactId>…

命令执行漏洞

1、命令执行漏洞 1.1、简介 Django是用Python开发的一个免费开源的Web结构&#xff0c;几乎包括了Web使用方方面面&#xff0c;能够用于快速建立高性能、文雅的网站&#xff0c;Diango提供了许多网站后台开发常常用到的模块&#xff0c;使开发者可以专注于业务部分。 1.2、漏…

【删除vlan的方法】

提示错误 [SW1]undo vlan 10 Error: The VLAN has a L3 interface. Please delete it first. 解决办法 undo interface Vlanif10 #删除vlan 10下的接口 [SW1-GigabitEthernet0/0/1]dis this #删除下列的IP

接口自动化必备技能——jmeter提取token方式以及设置成全局变量(跨线程组传token值)方式

前言 今天Darren洋教大家如何使用jmeter中的插件来进行token值的提取与调用&#xff0c;今天Darren洋介绍两种jmeter提取token值的方式&#xff0c;一种是在当前线程组中直接提取token值&#xff0c;一种是跨线程组的方式进行token值的提取并调用给不同线程组里的HTTP接口使用。…

如何读取文件夹内的诸多文件,并选择性的保留部分文件

目录 问题描述: 问题解决: 问题描述: 当前有一个二级文件夹,第一层是文件夹名称是“Papers(LNAI14302-14304)",第二级文件夹目录名称如下图蓝色部分所示。第三层为存放的文件,如下下图所示,每一个文件中,均存放三个文件,分别为copyright.pdf, submission.pdf, s…

重磅发布!曙光存储“3+N”,绿色存力新选择

8月9-10日&#xff0c;2023年数据中心市场年会在京举办。会上&#xff0c;中科曙光存储产品事业部总监石静发表《绿色存力 打通绿色数据中心最后一站》主题演讲。“在今天&#xff0c;数据中心正在成为‘高能耗’产业&#xff0c;绿色节能从可选项走向必选项。曙光存储跨越绿色…

开发测试框架一 - 创建springboot工程及基础操作

一、创建及运行方式 1. 从官网导入&#xff1a; 注意&#xff1a;由于我的java版本是1.8&#xff1b;所以选中了spring2.7.14&#xff1b;如果你的java版本是9及以上&#xff0c;选中spring3相关的同时Java 版本也要对应起来 2. 创建第一个get请求 创建Controller package及…

mysql滑动窗口案例

获取学科最高分 SELECT DISTINCT name,subject,MAX(score) OVER (PARTITION by subject) as 此学科最高分数 from scores;获取学科的报名人数 select DISTINCT subject,count(name) over (partition by subject) as 报名此学科的人数 from scores; 求学科总分 SELECT DISTI…

Spring Boot + Vue3前后端分离实战wiki知识库系统十二--用户管理单点登录开发一...

目标&#xff1a; 在上一次https://www.cnblogs.com/webor2006/p/17533745.html我们已经完成了文档管理的功能模块开发&#xff0c;接下来则开启新模块的学习---用户登录&#xff0c;这块还是有不少知识点值得学习的&#xff0c;先来看一下整体的效果&#xff0c;关于效果官网有…

YOLOv8目标检测算法

YOLOv8目标检测算法相较于前几代YOLO系列算法具有如下的几点优势&#xff1a; 更友好的安装/运行方式速度更快、准确率更高新的backbone&#xff0c;将YOLOv5中的C3更换为C2FYOLO系列第一次尝试使用anchor-free新的损失函数 YOLOv8简介 YOLOv8 是 Ultralytics 公司继 YOLOv5…