THUDM/chatglm2-6b-int4体验

news2025/5/18 16:54:06
 

 在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.coloradmin.cn/o/877999.html

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

相关文章

react 09之状态管理工具1 redux+ react-thunk的使用实现跨组件状态管理与异步操作

目录 react 09之状态管理工具1 redux react-thunk的使用实现跨组件状态管理与异步操作store / index.js store的入口文件index.js 在项目入口文件 引入store / actionType.js 定义action的唯一标识store / reducers / index.jsstore / actions / form.jsstore / reducers / for…

关于PMP中的敏捷知识

在此次改版中,题目中增加了大量的敏捷题型,总体比重仍然很高,据我的主观感觉,达到了1/3。与ACP认证相比,PMP对敏捷管理技术的考察相对简单,考察路径也较为集中,主要聚焦于以下两个方面&#xff…

Python-OpenCV中的图像处理-图像特征

Python-OpenCV中的图像处理-图像特征 图像特征Harris角点检测亚像素级精度的角点检测Shi-Tomasi角点检测SIFT(Scale-Invariant Feature Transfrom)SURF(Speeded-Up Robust Features) 图像特征 特征理解特征检测特征描述 Harris角点检测 cv2.cornerHarris(img, blockSize, ks…

Nodejs 第十一章(CSR SSR SEO)

概述 在上一章的时候我们说过在node环境中无法操作DOM 和 BOM,但是如果非要操作DOM 和 BOM 也是可以的我们需要使用第三方库帮助我们jsdom npm i jsdomjsdom 是一个模拟浏览器环境的库,可以在 Node.js 中使用 DOM API 简单案例 const fs require(no…

mfc140u.dll丢失的解决方法-mfc140u.dll是什么文件

在使用计算机过程中,我们经常会遇到各种错误提示和问题,其中一个常见的问题是与mfc140u.dll文件有关的错误。mfc140u.dll是Microsoft Foundation Classes(MFC)的一个动态链接库文件,它提供了许多用于开发Windows应用程序的函数和类。 当mfc1…

不同模块之间解决service层与dao层无法注入的问题

方法一(建议): 方法一是导入其它模块的dao层与service层完成自动注解的问题 方法二: 指定扫码哦基础包,不推荐该方法额原因是因为扫描这么多包 而且每个模块的配置类之间可能存在冲突

CSDN热榜分析:来看看热榜都在写什么

文章目录 数据爬取词云制作滤除停用词 数据爬取 热榜地址是https://blog.csdn.net/rank/list,先进去再说 from selenium import webdriver from selenium.webdriver.common.by import By url https://blog.csdn.net/rank/list driver webdriver.Edge() driver.g…

Java8函数式编程

ISBN: 978-7-115-38488-1 作者:【英】Richard Warburton 页数:132页 阅读时间:2023-08-05 推荐指数:★★★★★ 练习项目:https://github.com/RichardWarburton/java-8-lambdas-exercises 虽然这本书出版于2014年&…

LCP 44.开幕式焰火

目录 一、题目 二、代码 一、题目 二、代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:static i…

UG NX二次开发(C++)-PK函数创建一条圆弧曲线

文章目录 1、前言2、创建一个项目3、添加头文件4、在do_it中添加创建圆曲线的源代码5、调用dll6、再创建一个长方体验证1、前言 采用PK进行UG NX二次开发,现在看到的文章很多是直接创建实体,然后在UG NX的视图区显示出来,对于创建圆曲线的文章不多,本文讲一下PK函数创建圆…

安卓逆向 - Frida Hook(抓包实践)

一、引言 上篇文章:安卓逆向 - 基础入门教程_小馒头yy的博客-CSDN博客 介绍了Frida的安装、基本使用,今天我们来看看Frida常用Hook和基于Frida抓包实践。 二、Frida常用 Hook脚本 1、hook java.net.URL function hook1() {var URL Java.use(java.n…

POI处理excel,根据XLOOKUP发现部分公式格式不支持问题

poi4不支持XLOOKUP函数,但poi最新的5.2.3却已经对此函数做了支持 poi下载地址:Index of /dist/poi/release/bin 公式源码位置:org/apache/poi/ss/formula/atp/XLookupFunction.java 但是在使用此函数过程中,发现有些XLOOKUP函数会…

基于Java+SpringBoot+Vue前后端分离仓库管理系统详细设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

JSON字符串转换

大家好 , 我是苏麟 , 今天带来一个JSON序列化库 Gson . GitHub 地址 : GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and back java 中 json 序列化库有很多: gson (谷歌的) fastjson (阿里的) jack…

numba 入门示例

一维向量求和: C A B 在有nv 近几年gpu的ubuntu 机器上, 环境预备: conda create -name numba_cuda_python3.10 python3.10 conda activate numba_cuda_python3.10conda install numba conda install cudatoolkit conda install -c nvi…

Java多线程编程中的线程控制:挂起、停止和恢复

Java 线程控制:挂起、停止和恢复 在多线程编程中,对线程进行控制是非常重要的,可以通过挂起、停止和恢复线程来实现对线程的管理。本文将介绍如何使用Java提供的方法对线程进行挂起、停止和恢复操作,以及需要注意的安全性和替代方…

最强自动化测试框架Playwright (27)-跟踪查看器

Playwright Trace Viewer 是一个 GUI 工具,可帮助您在脚本运行后探索记录的 Playwright 跟踪。可以本地打开,也可以在trace.playwright.dev.打开, 录制跟踪文件 使用context.tracing.start进行录制,使用stop方法保存录制文件 b…

【mysql算法】在数据库中储存树形结构

【mysql&算法】在数据库中储存树形结构 【一】常见的使用树的场景【二】方式一:邻接表(1)方法介绍(2)优点(3)缺点(4)实现案例:生成菜单树结构 【三】方式…

盒子阴影效果与环绕阴影

box-shadow 在前端样式里面,最常见的一中效果之一就是阴影,好的阴影可以瞬间给人一种高端的用户体验,今天简单总结下这个样式的语法与使用方法。 语法 box-shadow的语法其实是比较简单好记的,我们按照最全面的写法来看 x轴偏移…

社区团购商城拼团秒杀接龙分销团长小程序开源版开发

社区团购商城拼团秒杀接龙分销团长小程序开源版开发 功能介绍: 商品管理:增加商品-商品列表-商品分类-商品单/多规格-商品标签 订单管理:订单列表-订单挑选-订单导出-订单打印-批量发货-商品评价 会员管理:会员列表-会员挑选-会员…