CPU服务器安装运行智谱大模型ChatGLM-6B

CPU运行智谱大模型ChatGLM-6B

说明

我的服务器配置是16C32G,跑大模型最好内存要大一些才行,不然跑不起来。

下载

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

安装依赖包

pip install -r requirements.txt

下载模型文件

在huggingface上需要翻墙,有条件的可以直接下载,不行可以使用国内的镜像。需要一个个文件下载

https://huggingface.co/THUDM/chatglm2-6b

*** 国内推荐,国内推荐,国内推荐-1 ***
https://aifasthub.com/models/THUDM

*** 国内推荐-2 ***
https://hf-mirror.com/THUDM/chatglm2-6b

下载后,我把模型文件保存到:/opt/models/chatglm2-6b目录下。

修改代码把GPU改成CPU

打开ChatGLM-6B-main目录的cli_demo.py文件,修改源代码

import os
import platform
import signal
from transformers import AutoTokenizer, AutoModel
import readlineMODEL_PATH="/opt/models/chatglm2-6b"tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, trust_remote_code=True)
# 把这一行复制一下,并注释掉
#model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half().cuda()
# 把上面的一行改成以下一行
#model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half().cpu()
# 或则去掉cpu(),改成以下这样,也可以
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half()
model = model.eval()

运行cli_demo.py

运行客户端代码后,会出现命令行的输入交付方式:

$ python cli_demo.py 欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序用户:你是谁?ChatGLM-6B:我是一个名为 ChatGLM2-6B 的人工智能助手,是基于清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型开发的。我的任务是针对用户的问题和要求提供适当的答复和支持。

注意:此时可以观察以下CPU的使用状况。可以看到其中有一个CPU的使用率达到100%,其他的其实没有用起来。
另外,还有其他几个demo,比如web_demo.py等,还是同样的修改方式,由于我这里是登录到服务器上去运行大模型,所以暂时没有运行web_demo.py的前端代码。

待改进的问题

目前我的机器是16C32G(CPU)配置,虽然能够把ChatGLM-6B跑起来,而且能够正常的回答问题,但运行速度非常慢,几个字几个字的往外跳出来。
而跑其他的大模型,也是同样的效果,哪怕是最小的llama-chinese也很慢。这个后续需要想办法优化。

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

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

相关文章

什么是Java中的接口?

Java中的接口 在Java编程语言中,接口是一种定义方法但不包含方法实现的抽象类型。它是一组抽象方法的集合,这些方法通常由实现该接口的类来具体实现。接口在Java中扮演着非常重要的角色,尤其是在面向对象的设计和编程中。接口定义了类应该遵…

Leetcode 3.12

leetcode hot 100 链表1.两两交换链表中的节点2.随机链表的复制3.排序链表 链表 1.两两交换链表中的节点 两两交换链表中的节点 1.必须要设置一个dummy (temp) 结点2.保存第二个节点3.先让第一个节点指向第三个节点4.再让第二个节点指向第一个节点5.最后让dummy指向第二个节点…

蓝鲸作业平台升级openssh执行方案分享

本文来自腾讯蓝鲸智云社区用户:AK47 蓝鲸的运维系统在我们单位使用已经快四个年头了,从刚开始的5到现在最新的7.1都有部署、测试、验证和使用。在实际的使用过程中,给我们运维提供了非常大的帮助。其中有一个场景分享给大家。这个场景是关于o…

从SQL质量管理体系来看SQL审核(1)

经常看到一些SQL审核产品宣称自己有多少条审核规则,似乎规则数目多少是衡量SQL审核工具能力的标准。事实真的如此吗?肯定不是,那我们该如何评价一个SQL审核工具呢? SQL脚本和Java/C等编程脚本一样,都是程序代码&#…

接口测试工具【Postman】相关的面试题

Postman是一种接口调试与http接口测试的工具,可以非常方便的模拟get、post或其他请求来调试和测试接口 文章目录 Postman优点Postman使用流程Postman参数化有哪几种方式Postman如何设置关联 Postman优点 1.支持各种请求类型:get、post、put、patch、del…

Linux——磁盘文件

磁盘文件 通过前一篇文章Linux——系统文件I/O,我们知道了如何对加载在内存中的文件进行读写等操作,并了解了其内在的原理。同时我们也应该清楚,并不是所有的文件都会被加载入内存,而没有被加载入内存的文件,就被存放…

酷开科技智慧AI助力酷开系统千屏千面

每台智能电视都有一个专属的操作系统,而酷开系统作为一款基于人工智能技术的智能电视操作系统,深受大众喜爱,其最大的特点就是“千屏千面”。这意味着每一位消费者在使用酷开系统时,通过酷开科技的智慧AI,都能根据自己…

常用网络命令的使用

1.Ping 命令 Ping 命令用于测试网络连接的程序。Ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令,主要是向特定目的主机发送 ICMP (Internet Control Message Protocol,因特网报文控制协议 )Echo 请求报文,测试目的站是否可达及了…

用户管理测试用例

1. 功能测试: 用户管理页面测试 1、左侧为组织机构树 2、列表上方为功能按钮,分别有:添加、删除、启用、禁用、导入导出、移动、批量修改属性 3、列表组成有:复选框、用户、状态、真实姓名、组织机构、手机、邮箱 4、页面右上方…

Prometheus监控Mysql数据库在Grafana展示

未安装prometheus和Grafana可以参考这个博客操作 Docker安装Prometheus监控-CSDN博客 Windows版本数据库 一、在数据库服务器安装mysqld-exporter 下载mysqld-exporter文件 Releases prometheus/mysqld_exporter GitHub 二、配置mysqld-exporter文件 1、解压进入mysqld…

docker+elasticsearch

一,环境准备:安装docker(往期文章) 二,elasticsearch简介: 用于储存数据 三,部署: 1),拉取镜像 使用本作者提供的java17镜像 2),…

ARM64汇编05 - MOV系列指令

MOV(wide immediate) MOV 可以将一个立即数移动到寄存器中。 .text:0000000000000834 80 46 82 D2 MOV X0, #0x1234 ; Keypatch modified this from:MOV X0, #0x1234 对应的汇编代码为:80 46 82 D2 看手册可知&#xf…

Unity制作马赛克效果

大家好,我是阿赵。   之前在玩怒之铁拳4里面,看到了马赛克场景转换的效果,觉得很有趣,于是也来做一下。 一、2D版本的马赛克转场效果 先看看视频效果: 马赛克转场 这里我是直接写shader实现的,我这里是把…

spring boot使用mybatisplus访问mysql的配置流程

网上教程大多教人新建一个带对应组件的项目,本文记录如何在一个已有springboot2.x项目中,配置使用mybatisplus来访问mysql。包括使用wrapper和自己写mapper.xml的自定义函数两种和数据库交互的方式。 关于项目的创建,参考创建springboot 2.x…

Shell正则表达式

目录 正则表达式的分类 基本组成部分 POSIX字符类 元字符 正则表达式的分类 基本的正则表达式(Basic Regular Expression 又叫Basic RegEx 简称BREs)扩展的正则表达式(Extended Regular Expression 又叫Extended RegEx 简称EREs&#xf…

【QT+QGIS跨平台编译】之七十二:【QGIS_Analysis跨平台编译】—【qgis_analysis.h生成】

文章目录 一、qgis_analysis.h介绍二、信息分析三、qgis_analysis.h生成一、qgis_analysis.h介绍 qgis_analysis.h 是 QGIS(Quantum GIS)软件中的一个头文件,主要用于服务于QGIS_Analysis库的编译,包含导入、导出宏信息的定义。 二、信息分析 在qgis\src\analysis目录,CM…

pytest生成allure的报告

首先要下载安装配置allure allure serve ./outputs/allure_report 可以生成html的文件自动在默认浏览器中打开

Oceanbase使用BenchmarkSQL 进行tpcc测试及执行计划查询

Oceanbase使用BenchmarkSQL 进行tpcc测试及执行计划查询 文章目录 Oceanbase使用BenchmarkSQL 进行tpcc测试及执行计划查询环境介绍配置BenchmarkSQL开始BenchmarkSQL测试查看执行计划查询top sql查看执行计划 总结参考文档 环境介绍 操作系统:redhat7.9 内核版本…

unity3d Animal Controller的动物组件使用明天继续

控制器介绍 动物脚本负责控制动物的所有运动逻辑.它管理所有的动画师和刚体参数,以及所有的状态和模式,动物可以做。 动物控制器 是一个动画框架控制器,根动或到位,为任何生物或人形。它利用刚体与物理世界的互动和动画师的玩动画。 States States 是不互相重叠的动画。例如…

牛角表情生成器微信小程序版

1.纯前端输出,无需后台,无需域名,速度杠杠快! 2.完美支持微信端和抖音端; 3.双端均支持配置开启流量主广告,包括:激励视频广告、插屏广告、banner广告、原生广告、封面广告等; 4.…