本地部署GLM-4-9B清华智谱开源大模型方法和对话效果体验

GLM-4-9B是清华大学和智谱AI推出的最新一代预训练模型GLM-4系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B及其人类偏好对齐的版本GLM-4-9B-Chat均表现出较高的性能,其通用能力评测结果甚至超越了Llama-3-8B开源大模型,多模态版本也与GPT-4版本齐平。

除了能进行多轮对话,GLM-4-9B-Chat还具备网页浏览、代码执行、自定义工具调用和长文本推理等高级功能。 GLM-4模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。GLM-4-9B还推出了支持 1M 上下文长度(约 200 万中文字符)的模型。

根据GLM-4大模型评测结果,在通用能力方面超越Llama3大模型,在多模态能力比肩GPT-4大模型系列版本,评测结果和调用方法详情:https://github.com/THUDM/GLM-4

本文介绍GLM-4大模型部署和使用方法,需要注意的是,GLM-4虽然开源了,但GLM-4大模型的权重的使用则需要遵循协议:https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE

第一步:下载模型文件

老牛同学在前面文章中,介绍了通过单一的GGUF文件在本地部署Llama-3-8BLlama3-Chinese-Chat)大模型:基于Llama 3搭建中文版(Llama3-Chinese-Chat)大模型对话聊天机器人

GLM-4-9B模板目前还没有GGUF文件,因此老牛同学通过Git下载PyTorch张量参数文件在本地部署GLM-4-9B-Chat-1M大模型。

由于模型参数文件比较大,使用Git无法直接下载到本地,需要通过git-lfs工具包下载:

brew install git-lfs

通过Git复制模型文件到笔记本电脑:

git lfs install
git clone https://www.modelscope.cn/ZhipuAI/glm-4-9b-chat-1m.git GLM-4-9B-Chat-1M

总共有10个模型参数文件,平均每个文件1.8GB大小,总计18GB左右,因此在Git下载过程中,容易中断失败,可以通过以下命令多次尝试下载:

git lfs pull

GLM4模型参数文件列表

第二步:下线GLM4代码库

GLM-4的官方GitHub代码库中有很多使用样例和微调等Python代码,我们可直接进行调整和使用:

https://github.com/THUDM/GLM-4.git

第三步:启动GLM4客户端

打开GLM-4代码库中basic_demo/trans_cli_demo.py文件,修改第18行模型路径MODEL_PATH参数,内容为我们通过Git复制到本地的路径,如老牛同学的路径如下:

#MODEL_PATH = os.environ.get('MODEL_PATH', 'THUDM/glm-4-9b-chat')
MODEL_PATH = os.environ.get('MODEL_PATH', '/Users/shizihu/JupyterLab/GLM-4-9B-Chat-1M')

在启动之前,我们还需要安装几个Python工具包(当然也可以跳过,后面启动失败时在进行安装也是可以的):

pip install tiktoken
pip install accelerate

启动大模型客户端:python trans_cli_demo.py

% python trans_cli_demo.py
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Loading checkpoint shards: 100%|██████████████████████████████████████████████| 10/10 [00:09<00:00,  1.04it/s]
WARNING:root:Some parameters are on the meta device device because they were offloaded to the disk.
Welcome to the GLM-4-9B CLI chat. Type your messages below.You: 介绍一下你自己。
GLM-4:
我是一个人工智能助手,我的名字是 ChatGLM,是基于清华大学 KEG 实验室和智谱 AI 公司

GLM4模型对话

总结:GLM-4-9B比Llama-3-8B慢太多了

根据官方的评测报告,GLM-4-9B在对话、多模态等方面要比Llama-3-8B强不少,根据老牛同学本地部署对话的验证结果来看,对话的输出速度实在太慢了,简直就是在挤牙膏,一个字一个字的往外输出。

至于GLM-4-9B的多模态、工具调用、代码解释等能力,老牛同学本次就不一一演示了,GLM-4官方的GitHub代码库有很多Demo代码,大家可以对代码调整后尝试体验一下~


关注本公众号,我们共同学习进步👇🏻👇🏻👇🏻

微信公众号:老牛同学


我的本博客原地址:https://mp.weixin.qq.com/s/g7lDfnRRGdrHqN7WGMSkAg


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

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

相关文章

minos 2.5 中断虚拟化——vGIC

首发公号:Rand_cs这一节开始讲述真正的中断虚拟化,首先来看硬件方面的虚拟化。前文 minos 2.3 中断虚拟化——GICv2 管理 主要讲述 GICv2 的 Distributor 和 CPU Interface,在 Hypervisor 存在的情况下,它们都是为 Hypervisor 服务的。现在有了 vm,vm 里面的内核也需要操作…

minos 2.6 中断虚拟化——虚拟中断子系统

首发公号:Rand_csHypervisor 需要对每个虚机的虚拟中断进行管理,这其中涉及的一系列数据结构和操作就是虚拟中断子系统 VIRQ 虚拟中断描述符 struct vcpu {uint32_t vcpu_id; .........../** member to record the irq list which the* vcpu is handling now*/struct virq_st…

minos 1.2 内存虚拟化——guest

首发公号:Rand_csminos 1.2 内存虚拟化——guest项目来自乐敏大佬:https://github.com/minosproject/minos本文继续讲述 minos 中的内存虚拟化中关于 guest 的部分,主要弄清楚一个问题,minos 如何管理 guest vm 的内存。 对于虚拟机的内存管理主要是 ipa 的管理,ipa 如何映…

minos 2.1 中断虚拟化——ARMv8 异常处理

首发公号:Rand_cs越往后,交叉的越多,大多都绕不开 ARMv8 的异常处理,所以必须得先了解了解 ARMv8 的异常处理流程 先说一下术语,从手册中的用词来看,在 x86 平台,一般将异常和中断统称为中断,在 ARM 平台,一般将中断和异常统称为异常 异常的流程,可以分为 3 个阶段,…

NSSCTF———MISC

[NISACTF 2022]huaji? [SWPU 2020]套娃 [LitCTF 2023]What_1s_BASE (初级) [SWPUCTF 2021 新生赛]gif好像有点大 [NISACTF 2022]为什么我什么都看不见 [LitCTF 2023]404notfound (初级) [LitCTF 2023]这羽毛球怎么只有一半啊(恼 (初级) [LitCTF 2023]喜欢我的压缩包么 (初级)…

BLP 模型

公号:Rand_csBLP 模型 本篇文章是调研了许多资料后对 BLP 模型的一个总结 MLS,Multi-level Security,主要关心的是数据机密性 D. Elliott Bell 和 Leonard J. LaPadula 在 1996 年提出了基本的 BLP 模型,主要有两个性质:The Simple Security Property states that a subje…

小端序题目——[LitCTF 2023]debase64

还挺有价值的,记录一下 题目DIEPE文件在Windows操作系统下默认使用小端序 IDA main函数绿框:输入长度要20 红框:base64加密 黄框:加密后的结果要与关键数据相等获取数据,我一般喜欢调试看栈,这样就少一次翻转了 取出15个数据:0x46, 0xED, 0x18, 0x96, 0x56, 0x9E, 0xD2,…

【闲话】高考集训之训什么

写的有些杂,凑活看吧好像高考语文作文被学校和《意林》押中题了,主题是“人工智能”,大势所趋。 贴一张奥奇海报(找不到具体来源了)来高考助力吧。本文来自博客园,作者:hzoi_Shadow,原文链接:https://www.cnblogs.com/The-Shadow-Dragon/p/18238551,未经允许严禁转载…

C++文件/流

C++文件读写(文本文件/二进制文件) 一、前言 常见的文件类型可分为两种:文本文件和二进制文件。 文本文件的阅读相对容易,可以使用记事本/Notepad++/VS Code等应用程序直接打开阅览;然而二进制文件由0/1序列组成,直接打卡二进制文件通常是乱码状态。如果需要读取二进制文…

SpringAMQP使用管理RabbitMQ的五种消息模型

使用SpringAMQ实现五种消息队列模型1.普通队列 2.工作队列(WorkQueue) 发布订阅=>根据交换机的不同分为三种 3.订阅模型之Fanout(广播) 4.订阅模型之Direct(路由) 5.订阅模型之Topic(话题) 使用前导: 1.在生产者和消费者项目上分别导入RabbitMQ依赖<!--AMQP依赖,包含Rab…

树开下拉列表数据源生成

改自这位兄台的一段代码 https://www.cnblogs.com/xiayang/archive/2010/07/19/1780566.html1 /// <summary>2 /// 生成一个树形的表样,3 /// </summary>4 /// <param name="dtNodeSets">菜单记录数据所在的表</param>5 …

玄机应急响应-第二章

日志分析-apache日志分析 一,提交当天访问次数最多的IP,即黑客IP:129 ::16555 192.168.200.21 192.168.200.2115 192.168.200.381 192.168.200.48$ cat access.log.1|awk -F {print $1}|sort|uniq -cflag{192.168.200.2}二,黑客使用的浏览器指纹是什么,提交指纹的md5:12 …