ChatGLM-6B本地cpu部署

news2024/12/27 13:33:38

    ChatGLM-6B是清华团队研发的机器人对话系统,类似ChatGPT,但是实际相差很多,可以当作一个简单的ChatGPT。

    ChatGLM部署默认是支持GPU加速,内存需要32G以上。普通的机器无法运行。但是可以部署本地cpu版本。

    本地部署,需要的环境:

  •      python3.9及以上
  •      gcc 

    这个框架本身就是python编写的,所以需要python环境。另外,运行的时候,需要加载cpu内核,所以需要编译本地内核,gcc环境就是用来编译quantization_kernels.c和quantization_kernels_parallel.c文件的。

     gcc环境在windows上,可以通过mingw来安装,也可以通过tdm-gcc来安装。

    我本地的相关环境:

    1、克隆源码

git clone https://github.com/THUDM/ChatGLM-6B

    2、安装依赖

cd ChatGLM-6B
pip install -r requirements.txt

    3、改变源码web_demo.py支持cpu

    默认代码:

    修改支持cpu:

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).float()
model = model.eval()

    模型的名字由THUDM/chatglm-6b改为THUDM/chatglm-6b-int4 

    gpu模型源码中.half().cuda()替换为.float() 

    4、运行python web_demo.py

python web_demo.py

    模型第一次加载会去https://huggingface.co/THUDM/chatglm-6b-int4下载pytorch_model.bin模型文件。

     还会使用安装的gcc编译quantization_kernels.c和quantization_kernels_parallel.c文件,生成动态库quantization_kernels.so和quantization_kernels_parallel.so。

     5、运行成功,会打开浏览器,并直接显示对话框,可以输入问题,不过这个回答很慢:

    提出问题,并不是秒回,很慢,感觉还是内存的问题,我的机器16G内存,效果好像也不是很好。 

   /

   几个抽风的问题:

    1、我昨天在电脑上运行好好的,结果今天来测试,直接运行python web_demo.py就报了这样的错误:504 Server Error: Gateway Time-out for url: https://huggingface.co/api/models/THUDM/chatglm-6b

     这个错误有点蛋疼,貌似是去下载模型文件,但是远程地址不知道为什么就504了,好在这些模型可以通过加载本地缓存的模型,解决办法就是手动下载这些模型文件到一个指定目录。 

    https://huggingface.co/THUDM/chatglm-6b-int4/tree/main ,把这里的文件,包括json文件全部下载到项目路径下的models目录中:

    改动web_demo.py文件内容:

tokenizer = AutoTokenizer.from_pretrained("./models", trust_remote_code=True)
model = AutoModel.from_pretrained("./models", trust_remote_code=True).float()
model = model.eval()

  2、找不到模块transformers_modules,如下所示:

    我昨天运行好好的,也就是说这个模块肯定是有的,不知道今天抽什么风,竟然没有,解决办法就是把当前transformers=4.27.1版本降级到4.26.1:

    最后再来感受一下chatglm对话: 

    这个结果全部显示完,用了差不多10分钟,哈哈,挤牙膏似的。 

    完。 

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

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

相关文章

ePWM模块(3)

比较模块 CMPA:比较寄存器A,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPB:比较寄存器B,其值与TBCTR值比较,相同时,事件发送到动作模块。 CMPCTL:控制寄存器(重要) SHDWAFULL(或SHDWBFULL):CMPA(或B)阴影寄存器满标志位 0:未满 1:满了 SHDWAMODE(或…

【致敬未来的攻城狮计划】— 连续打卡第二十六天:瑞萨RA Cortex-M 内核RA2E1 RT-Thread BSP 启蒙知识

系列文章目录 由于一些特殊原因: 系列文章链接:(其他系列文章,请点击链接,可以跳转到其他系列文章)或者参考我的专栏“ 瑞萨MCU ”,里面是 瑞萨RA2E1 系列文章。 24.RA2E1的 DMAC——数据传输 …

Ubuntu设置静态IP地址的方法

今天重装了ubuntu22.04server系统,顺便将Ip方法的配置方法记录下,备存。 步骤1:先ifconfig查看电脑的网卡信息 找到物理网卡的名称,我这里是enp3s0 步骤2:找到gateway网关地址 输入route -n命令,打印路由…

数据知识驱动的城市作战元宇宙建模框架

源自:指挥与控制学报 作者:郑文博 李强 刘文礼 费爱国 王飞跃 摘 要 1 相关工作与问题提出 2 新型元宇宙框架的构建 图 1 平行智能与元宇宙 图2 数据知识驱动的城市作战元宇宙建模框架 3 案例设计 3.1 基于生成式对抗网络的表现力改进设计 图…

开关电源基础06:基本开关电源电感能量传输原理

说在开头:关于第六届索尔维会议(1) 1930年,第六届的索尔维会议要召开了,一大帮子物理学家又在深秋时节聚到了布鲁塞尔;玻尔来到会场时心中踹踹不安,看爱因斯坦似笑非笑的表情,吃不准…

这所院校23年分数线暴涨45分,临时扩招69人!!

本期为大家整理热门院校-“南京信息工程大学”的择校分析,这个择校分析专题会为大家结合:初试复试占比、复试录取规则(是否公平)、往年录取录取名单、招生人数、分数线、专业课难度等进行分析。希望能够帮到大家! –所有数据来源…

关于【SD-WEBUI】的API:开发代码示例和帮助文档

文章目录 (零)前言(一)启用API(二)编写调用程序(2.1)Python例子代码(2.2)执行(2.3)结果 (三)帮助文档&#xf…

第7章 动静分离

第7章 动静分离 Nginx的负载均衡和静态代理结合在一起,我们可以实现动静分离,这是实际应用中常见的一种场景。 动态资源,如jsp由tomcat或其他web服务器完成 静态资源,如图片、css、js等由nginx服务器完成 它们各司其职&#x…

苹果备忘录永久删除了怎么办?3种备忘录恢复的方法!

案例:iPhone备忘录彻底删除了怎么办? 【友友们,苹果备忘录永久删除了,还可以恢复吗?有什么方法?】 苹果备忘录是苹果系统自带的一款备忘录应用,可以帮助我们记录日程安排、备忘事项、重要信息等…

深度学习技巧应用13-神经网络中数据并行训练的原理

大家好,我是微学AI,今天给大家介绍一下人工智能基础部分15-神经网络中数据并行训练的原理,在神经网络中,数据并行训练是一种常用的训练技术。它利用多个GPU或多个计算机对同一个模型进行训练,不同的设备处理相同的模型和数据,但会随机选择不同的批次数据,并使用反向传播…

视频创作教程-蜜蜂剪辑软件

视频创作教程-蜜蜂剪辑软件 作者介绍 一、视频剪辑软件二、蜜蜂剪辑软件使用1.视频比例选择2.添加视频素材3.视频分割4.添加文字5.转场滤镜6.其它 三、创作实例四、软件分享 作者介绍 熊文博,男,西安工程大学电子信息学院,2020级硕士研究生&…

「隐语小课」LDP和CDP在联邦学习中对于隐私性以及鲁棒性的作用

本次分享内容为NDSS收录的一篇文章:《Local and Central Differential Privacy for Robustness and Privacy in Federated Learning》。这篇论文主要分析了LDP和CDP在联邦学习中对于隐私性以及鲁棒性的作用。围绕这篇论文的分享将分为以下4个部分: 动机与…

mac录屏软件推荐!相信我,看完你不会后悔

有粉丝后台问小编,自己的电脑是mac电脑,不知道如何使用mac电脑录屏,有没有mac录屏软件推荐?小编之前也是用的Windows电脑进行录屏,后来换了mac,经过多年的摸索,熟练掌握了录屏方法。今天小编就带…

在facebook上最容易开展的营销活动是什么?如何开展?

在Facebook上最容易开展的营销活动包括社交媒体广告、社群互动、社交内容分享以及活动与促销。这些活动可以帮助企业吸引目标受众、增加品牌曝光度、提高用户参与度和促进销售。下面让我们详细了解一下如何开展这些活动,并给出相应的案例。 1.社交媒体广告&#xff…

全景丨0基础学习VR全景制作,平台篇第20章:热点功能-文章

大家好,欢迎观看蛙色VR官方——后台使用系列课程! 功能说明 应用场景 热点,指在全景作品中添加各种类型图标的按钮,引导用户通过按钮产生更多的交互,增加用户的多元化体验。 文章热点,即点击热点后会嵌入…

Java EE--多线程(二)

目录 四、多线程案例之--单例模式 3.1 单例模式 3.2 怎么去设计一个单例? 饿汉模式 懒汉模式 3.3 两种模式的总结 四、多线程案例之--单例模式 4.1 单例模式 是校招中最常考的设计模式之一. 啥是设计模式? 设计模式好比象棋中的 " 棋谱 &quo…

Cookie的使用

1.Cookie的工作原理 Web应用程序中使用的是HTTP.HTTP是无状态协议,客户端与服务器完成业务交互后,它们之间的联系会关闭.由于交互式Web应用的需求增加,管理会话和识别用户的身份应运而生.比如,用户A登录一个网站后,在第二次登录的时候会免登录,自动进入用户A的个人主页. 服务…

哪种蓝牙耳机戴着最舒服?佩戴最舒服的真无线蓝牙耳机

无论在地铁、咖啡厅、商场甚至是机场,佩戴蓝牙耳机可以让我们尽情地享受音乐,戴上耳机可以避免影响他人的同时也能避免隐私的泄露。因此这几年真无线蓝牙耳机也受到了广大网友的追捧。,下面分享几款佩戴舒适的蓝牙耳机给大家。 一、南卡小音…

修改文章的软件-有没有自动修改文章的软件

自动修改文章神器 自动修改文章神器是一种利用人工智能和自然语言处理技术,帮助用户快速修改和优化文章的工具。该软件能够检测文章的语法和拼写错误、表达不当的问题,并自动提供修改和优化建议。用户只需根据软件的提示进行修改,就能得到高…

三子棋游戏的实现

前言:相信大家都玩过三子棋吧,曾想经常和同学在考试之后玩一个晚自习的三子棋。那么,如何自己编写一个三子棋游戏呢,请看下面的分析; 1.游戏设计思路 在写任何代码时,最好先有个大致的框架,然后…