一、确认本机显卡配置

二、下载大模型

国内可以从魔搭社区下载,

下载地址:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files

三、运行官方代码

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer device = "cuda" tokenizer = AutoTokenizer.from_pretrained("E:\openai\ChatGLM4\glm-4-9b-chat", trust_remote_code=True) query = "你好" inputs = tokenizer.apply_chat_template([{"role": "user", "content": query}],
add_generation_prompt=True,
tokenize=True,
return_tensors="pt",
return_dict=True
) inputs = inputs.to(device)
model = AutoModelForCausalLM.from_pretrained(
"E:\openai\ChatGLM4\glm-4-9b-chat",
torch_dtype=torch.bfloat16,
low_cpu_mem_usage=True,
trust_remote_code=True
).to(device).eval() gen_kwargs = {"max_length": 2500, "do_sample": True, "top_k": 1}
with torch.no_grad():
outputs = model.generate(**inputs, **gen_kwargs)
outputs = outputs[:, inputs['input_ids'].shape[1]:]
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

结果如下

中间需要安装环境,建议用anaconda来安装

官方文档中说到可以用vLLM的方式跑起来,即CPU的方式

使用 transformers 后端进行推理 使用 vLLM 后端进行推理: 区别是什么

使用不同的后端进行推理,主要区别在于性能、灵活性和易用性方面。以下是使用transformers后端和vLLM后端进行推理的一些区别:

  1. 性能:transformers后端使用硬件加速(如GPU、TPU等)进行推理,因此在处理大量数据和复杂模型时具有更高的性能。而vLLM后端使用CPU进行推理,性能相对较低,但适用于轻量级模型和移动设备。

  2. 灵活性:transformers后端支持多种预训练模型和任务,如文本分类、命名实体识别、机器翻译等。您可以根据需求选择合适的模型。vLLM后端主要针对轻量级语言模型,适用于文本生成和补全任务。

  3. 易用性:transformers后端提供了丰富的API和工具,方便用户进行模型加载、推理和部署。vLLM后端相对较简单,易于在移动设备和嵌入式设备上集成和使用。

  4. 资源消耗:transformers后端在推理过程中可能消耗较多的计算资源和内存,尤其是在使用大型模型时。vLLM后端资源消耗相对较低,适合在资源受限的环境中运行。

总之,选择哪种后端进行推理取决于您的具体需求,包括任务类型、性能要求、资源限制等因素。如果需要高性能、灵活性和丰富的功能,可以选择transformers后端;如果关注轻量级、易于集成和低资源消耗,可以选择vLLM后端。

python安装vLLM的时候报错,只能装在linux上

快速调用 GLM-4-9B-Chat 语言模型的更多相关文章

  1. history介绍及bash命令快速调用

    在日常工作中,能够快速并准确的使用命令是必不可少的,下面为大家介绍一下其中的小技巧. 一.查找命令历史——history 使用history能够快速的找到之前输入过的命令. # history 大家可 ...

  2. 知道WCF的地址用工厂通道方式快速调用WCF

    知道WCF的地址用工厂通道方式快速调用WCF  1 using System;  2 using System.ServiceModel;  3 using System.ServiceModel.D ...

  3. Terminal(终端) 在 OS X下如何快速调用

    Terminal(终端) 在 OS X下如何快速调用 转载请注明原作者:文章如果对您有所启发或帮助,不介意您请我喝一杯咖啡 ​ Terminal作为人机交流中极其重要的一部分,无论是在Windows. ...

  4. 如何学会快速调用API

    作为一名苦逼的程序员,在实现各种需求的过程中,总是需要调用各种各样的API,也就是要读各种文档.我们所要做的是弄清楚这些API的参数然后调用即可.说起来非常简单,是实际上却不是这样.现在火爆的机器学习 ...

  5. C++利用模板在Windows上快速调用DLL函数

    更新日志 --------- 2021/08/01 更新V2.2 增加 GetHmodule 函数 - 允许用户获取HMODULE以验证加载DLL是否成功. 2021/08/03 更新V2.3 增加 ...

  6. 个人永久性免费-Excel催化剂功能第59波-快速调用Windows内部常用工具命令

    Windows里一些常用的工具.命令,许多存放得很深的位置,不容易找到,每次还要百度半天才能调用成功,Excel催化剂现将常用的操作,提取至插件中完成,一键即可调出相应功能,无需苦苦找寻. 使用场景 ...

  7. .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速调用电话拨打功能

    样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobiler Components”拖动一个PhoneButton控件到窗体界面上 2.修改PhoneButton ...

  8. OpenStack core components CLI快速调用API

    1,openStack core components CLI 使用自身参数执行;

  9. java util - MD5/AES/RSA快速调用工具

    测试代码 package cn.java.security; import java.security.Key; import java.util.Base64; import org.junit.A ...

  10. 快速调用Android虚拟机

    由于使用Android studio开发flutter 每次打开软件都需要很长时间,所以我自己使用vscode进行开发,没有虚拟机也开发不了,于是就有了这篇博客的作用啦 在本地桌面新建一个xxx.ba ...

随机推荐

  1. RAC关闭【Oracle 10g】

    顺序:关闭监听->关闭实例->关闭服务->关闭软件 1.关闭监听 进入节点1,[oracle@arprac01 ~]$lsnrctl stop 进入节点2,[oracle@arpra ...

  2. kali使用apt-get update 出现数字签名失效

    kali使用apt-get update 出现数字签名失效 下载签名:wget archive.kali.org/archive-key.asc 安装签名:apt-key add archive-ke ...

  3. 记录Notion API Authorization中的一个坑

    正文 Notion官方文档的Authorization部分提到: In your integration code, include the token in the Authorization he ...

  4. Nifi:Nifi中的Controller Service

    Service简介 首先Nifi中的Controller Service 和我们MVC概念中的Controller Service不是一个概念,Nifi中的Controller Service更像是和 ...

  5. Teamviewer 再次涨价,太贵了,有没有平替软件?

    今天打开 Teamviewer 网站,吓一跳,商业版基础款价格直接翻倍. 作为行业龙头,又是德国产品,Teamviewer 一直保持着高价格的特色.这两年 Teamviewer 的价格还逐年上涨,从每 ...

  6. 网络安全—模拟ARP欺骗

    文章目录 网络拓扑 安装 使用 编辑数据包 客户机 攻击机 验证 仅做实验用途,禁止做违法犯罪的事情,后果自负.当然现在的计算机多无法被欺骗了,开了防火墙ARP欺骗根本无效. 网络拓扑 均使用Wind ...

  7. 解锁高效创新:IPD策略如何重塑产品开发流程

    IPD(集成产品开发)涵盖了产品从创意提出到研发.生产.运营等,包含了产品开发到营销运营的整个过程.围绕产品(或项目)生命周期的过程的管理模式,是一套生产流程,更是时下国际先进的管理体系.IPD(集成 ...

  8. SuperSocket AppServer.NewRequestReceived 不触发 接受不到字节

    SuperSocket AppServer.NewRequestReceived 不触发 接受不到字节 针对.netframework版本 1.6.* 使用 FixedHeaderReceiveFil ...

  9. nginx四层负载nginx七层负载,nginx基于nginx-sticky会话保持.

    1. nginx负载均衡实战 nginx提供了 4 7层负载均衡. 可根据业务需求选择不同负载均衡策略. 1.1.1 nginx四层负载均衡[网络层TCP负载] 不支持动静分离,但支持 http my ...

  10. linux ssh key 登录

    vim /etc/ssh/sshd_config #禁用root账户登录,非必要,但为了安全性,请配置 PermitRootLogin no # 是否让 sshd 去检查用户家目录或相关档案的权限数据 ...