GPT实战系列-ChatGLM3部署CUDA11+1080Ti+显卡24G实战方案

目录

一、ChatGLM3 模型

二、资源需求

三、部署安装

配置环境

安装过程

低成本配置部署方案

四、启动 ChatGLM3

五、功能测试


新鲜出炉,国产 GPT 版本迭代更新啦~清华团队刚刚发布ChatGLM3,恰逢云栖大会前百川也发布Baichuan2-192K,一时间掀起的国产AI大模型又一阵热浪来袭。

随着两个公司融资到位,国内大模型研究和开源活动,进展更加如火如荼。目前有越来越多的公司和研究机构开始将他们的大模型开源,国内比较知名的就有阿里巴巴的通义大模型系列、华为的盘古大模型系列、腾讯的混元大模型系列等多家。但由于这些开源的大模型具有极高的参数量和计算量,需要大量的数据和算力支持,所以只有少数的大型科技公司和研究机构能够开发和维护这些大模型。

当然,大模型如何在小显存部署和使用也是非常重要,让AI的价值应用并延伸到更广泛的领域。本实战专栏继续关注小而美的大模型,将评估一系列的开源模型,尤其关注国产大模型,重点在于可私有化、轻量化部署,比如推理所需的GPU资源控制在24G显存内,2张Titan XP,或1080 Ti。

一、ChatGLM3 模型

10 月 27 日,智谱 AI 在 2023 中国计算机大会(CNCC)上发布自研第三代对话大模型 ChatGLM3,这是智谱 AI 在今年内第三次发布 ChatGLM 基座模型。智谱 AI 宣布为了进一步推动开源生态,将对包括 ChatGLM3-6B、ChatGLM3-6B-32K 以及 CogVLM-17B 和 AgentLM 在内的多个模型进行开源。

ChatGLM3-6B 是开源中英双语对话模型 ChatGLM-6B 的第三代版本,一经推出就迅速受到行业内的关注。基于最新的高效动态推理和显存优化技术,ChatGLM3-6B 依然是:

  1. 更强大:与 ChatGLM 二代模型相比,ChatGLM3 在 44 个中英文公开数据集测试中表现优异,在国内同尺寸模型中排名首位。评测结果显示,ChatGLM3 在 MMLU、CEval、GSM8K 和 BBH 等基准测试中均取得了显著的性能提升,分别提升了 36%、33%、179% 和 126%。得益于其独创的多阶段增强预训练方法,以及更丰富的训练数据以及更优的训练方案。

  2. 更完整: ChatGLM3-6B 采用了全新设计的 Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。

  3. 更高效:ChatGLM3 还可手机部署的端侧模型 ChatGLM3-1.5B 和 3B,支持包括 vivo、小米、三星在内的多种手机以及车载平台,甚至支持移动平台上 CPU 芯片的推理,速度可达 20tokens/s。在精度方面,1.5B 和 3B 模型在公开 benchmark 上与 ChatGLM2-6B 模型性能接近。这一创新为自然语言处理应用在移动设备上的部署提供了便捷的方式,进一步拓展了自然语言处理技术的应用范围。

ChatGLM3 的语义和逻辑等各方面能力都得到大大增强:

  • 最引人注目的就是多模态理解能力的 CogVLM- 看图识语义功能,该功能在 10 余个国际标准图文评测数据集上取得 SOTA。

  • 代码增强模块 Code Interpreter 根据用户需求生成代码并执行,自动完成数据分析、文件处理等复杂任务;

  • 网络搜索增强 WebGLM- 接入搜索增强,能自动根据问题在互联网上查找相关资料并在回答时提供参考相关文献或文章链接。

  • ChatGLM3 目前已经具有了全新的 Agent 智能体能力,其集成了自研的 AgentTuning 技术,激活了模型智能代理能力。

  • 在智能规划和执行方面,ChatGLM3 相比 ChatGLM 二代提升了 1000%,这一技术开启了一种全新的模型智能体能力,使 ChatGLM3 能够在更多复杂场景中发挥出色表现。例如,ChatGLM3 能够原生支持工具调用、代码执行、游戏、数据库操作、知识图谱搜索与推理以及操作系统等复杂场景。

  • CogVLM 模型则提高了智谱清言的中文图文理解能力,取得了接近 GPT-4V 的图片理解能力。它可以回答各种类型的视觉问题,并且可以完成复杂的目标检测,并打上标签,完成自动数据标注。

  • 具有搜索增强能力,它可以帮助用户整理出相关问题的网上文献或文章链接,并整理出答案,这意味着智谱清言将为用户提供更好的自然语言处理服务。

ChatGLM在国产芯片支持方面也做了很多工作,自 2022 年初,ChatGLM 系列模型已支持在昇腾、神威超算、海光 DCU 架构上进行大规模预训练和推理,截至目前已支持 10 余种国产硬件生态,包括昇腾、神威超算、海光 DCU、海飞科、沐曦曦云、算能科技、天数智芯、寒武纪、摩尔线程、百度昆仑芯、灵汐科技、长城超云等。通过与国产芯片企业的联合创新,ChatGLM 系列模型性能不断优化,国产硬件生态也得到了大模型国产化的闭环。

二、资源需求

代码下载链接:

Github地址 git clone https://github.com/THUDM/ChatGLM3

模型文件类型及获取

ChatGLM3的6B中英对话模型,两个分为6B,6B-Base, 上下文长度8K。

ChatGLM3的6B-32k,上下文长度32K。

一共3种类型,可根据自身情况选择。模型获取途径见表格。

ModelSeq LengthDownload
ChatGLM3-6B8kHuggingFace | ModelScope
ChatGLM3-6B-Base8kHuggingFace | ModelScope
ChatGLM3-6B-32K32kHuggingFace | ModelScope

推理的GPU资源要求

简单测试样例的实际测试数据

量化等级生成 8192 长度的最小显存
FP1615.9 GB
INT811.1 GB
INT48.5 GB

对 ChatGLM3 进行加速的开源项目:

  • chatglm.cpp: 类似 llama.cpp 的量化加速推理方案,实现笔记本上实时对话

三、部署安装

配置环境

项目在本地普通设备,部署非量化版本。

显卡双显卡Nivdia Titan XP,每块12G, 共24G显卡

操作系统:ubuntu 20.04

python 3.10版本,推荐3.8以上版本

pytorch 2.01,推荐2.0及以上版本。

CUDA 12.0,驱动525,建议使用11.4及以上版本。

安装过程
创建虚拟环境
conda create -n chatglm3 python==3.10.6 -y
conda activate chatglm3
安装ChatGLM3 依赖配套软件
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple

其中 transformers 库版本推荐为 4.30.2torch 推荐使用 2.0 及以上的版本,以获得最佳的推理性能。

下载模型文件

推理所需的模型权重、源码、配置已发布在ModleScope 和 Hugging Face,见上面的下载链接。

代码会由 transformers 自动下载模型实现和参数。完整的模型实现在 Hugging Face Hub。

另外,模型权重比较大,如果你的网络环境较差,下载模型参数可能会花费较长时间甚至失败。国外网络不佳的,建议从国内的ModelScope下载,或者清华云下载手动下载。并将下载的文件替换到本地的 THUDM/ChatGLM3 目录下。加载本地模型时需要修改为模型的本地目录,如将以上代码中的 THUDM/ChatGLM3 替换为你本地的 ChatGLM3 文件夹的路径,即可从本地加载模型。

低成本配置部署方案
量化模型加载

默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 16 GB 显存。

如果显存不足:

torch.cuda.OutOfMemoryError: CUDA out of memory.

如果 GPU 显存有限,可以尝试以量化方式加载模型,如INT8量化,使用方法如下:

model = AutoModel.from_pretrained("THUDM/chatglm3-6b",load_in_8bit=True,trust_remote_code=True).cuda()

模型量化会带来一定的性能损失,经过测试,ChatGLM2-6B 在 8-bit 量化下仍然能够进行自然流畅的生成。

多卡部署加载

如果有多张 GPU,但是每张 GPU 的显存大小都不足以容纳完整的模型,那么可以将模型切分在多张GPU上。首先安装 accelerate: pip install accelerate,然后通过如下方法加载模型:

from utils import load_model_on_gpus
model = load_model_on_gpus("THUDM/chatglm3-6b", num_gpus=2)

即可将模型部署到两张 GPU 上进行推理。你可以将 num_gpus 改为你希望使用的 GPU 数。默认是均匀切分的,你也可以传入 device_map 参数来自己指定。

CPU部署

如果没有 GPU 硬件的话,也可以在 CPU 上进行推理,但是推理速度会更慢。使用方法如下(需要大概 32GB 内存,及以上的内存)

model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True).float()

如果内存不足的话,也可以使用量化后的模型

model = AutoModel.from_pretrained("THUDM/chatglm2-6b",load_in_8bit=True,trust_remote_code=True).float()

对 ChatGLM3 进行加速的开源项目:

chatglm.cpp: 类似 llama.cpp 的量化加速推理方案,实现笔记本上实时对话

在 cpu 上运行量化后的模型需要安装 gccopenmp。多数 Linux 发行版默认已安装。对于 Windows ,可在安装 TDM-GCC 时勾选 openmp。 Windows 测试环境 gcc 版本为 TDM-GCC 10.3.0, Linux 为 gcc 11.3.0

四、启动 ChatGLM3

命令行对话界面
python cli_demo.py

程序会在命令行中进行交互式的对话,在命令行中输入指示并回车即可生成回复,输入 clear 可以清空对话历史,输入 stop 终止程序。

网页demo
python web_demo.py

可以通过命令启动基于 Gradio 的网页版 demo,会在本地启动一个 web 服务,把控制台给出的地址放入浏览器即可访问。

还可以通过以下命令启动基于 Streamlit 的网页版 demo:

streamlit run web_demo2.py

网页版 demo 会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。 经测试,基于 Streamlit 的网页版 Demo 会更流畅。

API 部署

实现的 OpenAI 格式的流式 API 部署,可以作为任意基于 ChatGPT 的应用的后端。可以通过运行仓库中的openai_api.py 进行部署:

python openai_api.py

进行 API 调用的示例代码为

import openai
if __name__ == "__main__":openai.api_base = "http://localhost:8000/v1"openai.api_key = "none"for chunk in openai.ChatCompletion.create(model="chatglm3-6b",messages=[{"role": "user", "content": "你好"}],stream=True):if hasattr(chunk.choices[0].delta, "content"):print(chunk.choices[0].delta.content, end="", flush=True)

五、功能测试

认识自己问题:你是谁

User: 你好

ChatGLM: 你好👋!我是人工智能助手 ChatGLM3-6B,很高兴见到你,欢迎问我任何问题。 ​

User: 欧洲有哪些好玩的地方

ChatGLM: 欧洲地域辽阔,有很多好玩的地方。以下是一些建议你参观的欧洲旅游景点:

1. 法国:巴黎、艾菲尔铁塔、卢浮宫、里昂、马赛、香槟酒产区等。

2. 意大利:罗马、古罗马斗兽场、梵蒂冈、佛罗伦萨、威尼斯、那不勒斯等。

3. 英国:伦敦、大本钟、伦敦塔桥、泰晤士河、曼彻斯特、爱丁堡等。

4. 德国:柏林、柏林墙、柏林大教堂、科隆、慕尼黑等。

5. 西班牙:巴塞罗那、塞纳河、加泰罗尼亚平原、马德里、格拉纳达等。

6. 葡萄牙:里斯本、 Belem 热空气城堡、辛特拉等。

7. 荷兰:阿姆斯特丹、风车、哈莱姆、阿姆斯特丹市中心的运河等。

8. 挪威:奥斯陆、布里特维克、特罗姆瑟、尼德罗得等。

9. 瑞典:斯德哥尔摩、卡罗林斯卡AI、瑞典哥德堡等。

10. 芬兰:赫尔辛基、北极圈、芬兰湖、凯米等地。

以上只是欧洲众多旅游景点中的一部分,你还可以根据自己的兴趣和时间来选择其他地方进行旅行。 ​

User: 查查巴黎的天气怎么样

ChatGLM: 我无法实时查询天气,建议你查询当地的天气预报或者使用天气应用来获取最新的巴黎天气信息。

欣赏一下,让不同量化程度的ChatGLM写诗,看看各自能力如何


默认版本写的诗歌

默认,不加量化参数。

User:  帮忙写一篇散文诗,主题为扎根,终有一天,我们会变成参天大树
​
ChatGLM: 扎根大地,汲取营养,
在岁月的洗礼中,我们成长。
从嫩芽到枝干,从细弱到坚韧,
我们慢慢变成一棵参天大树。
​
我们的根深植土壤,
脉络纵横,吸收大地的养分。
我们的枝叶繁茂,
绿意盎然,为大地增添色彩。
​
风雨来了,我们挺住,
地震来了,我们屹立不倒。
我们就像一座山,
坚定地站立着,支撑着大地的重量。
​
终有一天,我们会变成参天大树,
我们的枝干粗壮,叶茂根深。
我们会成为大地的守护者,
为我们所热爱的土地提供庇护。
​
扎根,是一种信仰,
是一种坚持,是一种责任。
我们会不断地成长,
在时间的流逝中,变得更为坚定。
​
终有一天,我们会变成参天大树,
我们的影响力和价值,
将会被后人所铭记。
我们将永远根植于大地,
为大地带来生命的希望。

BF16量化版本

User:  帮忙写一篇散文诗,主题为扎根,终有一天,我们会变成参天大树
​
ChatGLM: 扎根大地,汲取养分,
岁月沧桑,时光荏苒,
我们的身躯,逐渐茁壮,
如同大地反抗风沙,顽强生命。
​
从小到大,我们陪伴着成长,
从嫩芽到枝干,从童真到成熟,
在生活的风雨中,我们坚毅前行,
无论多艰难,我们从不屈服。
​
终有一天,我们将变成参天大树,
我们的根系,深入土壤,
我们的枝叶,繁茂昌盛,
我们的力量,支持天空。
​
我们会陪伴着下一代成长,
我们的种子,传承着希望,
我们的根,始终扎根在大地,
我们的魂,始终连接着天空。
​
扎根,是一种信仰,是一种坚持,
是一种力量,是一种勇气,
我们会变成参天大树,坚定而伟岸,
我们的生命,将永远扎根在大地。

INT8量化版本写的诗**

User:  帮忙写一篇散文诗,主题为扎根,终有一天,我们会变成参天大树
​
ChatGLM: 扎根大地,汲取营养,
在岁月的长河里,我们成长。
从小到大,我们经历风雨,
从未退缩,从未畏惧,因为我们知道,
终有一天,我们会变成参天大树。
​
我们的根深扎大地,
吸收着阳光和雨露,
在肥沃的土壤里,茁壮成长。
我们努力地生长,
直到长成直冲云霄的大树,
为大地增添一抹绿色的生机。
​
参天大树,我们不仅仅是自然的奇迹,
更是生命的伟大见证。
我们的根深扎大地,
承载着无数的故事和希望,
如同大地的守护者,
永远屹立不倒。
​
我们会变成参天大树,
为我们所热爱的土地,
为我们所珍视的生活,
为我们所奋斗的目标,
提供坚定的支持和庇护。
​
终有一天,我们会变成参天大树,
成为大地上最耀眼的风景,
我们的根,我们的枝,
将共同构建一个美好的未来。

INT4版本写的诗

User:  帮忙写一篇散文诗,主题为扎根,终有一天,我们会变成参天大树
​
ChatGLM: 扎根 deep in the earth,
我们的根系 strong and steady.
像一棵大树,我们也要成长,
枝繁叶茂,成为栋梁之材。
​
在生活的土壤中,我们吸收营养,
在岁月的阳光里,我们茁壮成长。
风雨中,我们坚定地立定脚跟,
无论多高的天空,我们都能触及。
​
我们的根系,深入大地的深处,
吸收着生命的养分,一天天茁壮。
终有一天,我们会变成参天大树,
为这个世界,为人类,提供庇护和支撑。
​
像一棵大树,我们也要成长,
成为生活的见证,成为美好的象征。
我们的根系,深入大地的深处,
吸收着生命的养分,一天天茁壮。
​
终有一天,我们会变成参天大树,
为这个世界,为人类,提供庇护和支撑。

写诗可能还是比较简单,但也可以看出来量化后句子语义失真的情况

你喜欢哪个版本诗歌呢?喜欢打 1,不喜欢 打2

觉得有用 点个赞 + 收藏 吧

End


专栏文章:

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

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

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

相关文章

php 接口请求一次,controller调用了两次。

这几天开发一个数据导出功能 由于是数据导出,所以有点慢。然后发现一个问题,前端只请求一次,controller却收到了两次请求。而且第二次请求i必定失败 这就悲催了。脑子懵懵的! 由于我这就是个小活儿,于是环境就是使用…

互联网医院|湖南互联网医院|智慧医疗改善就医服务

互联网医院系统,是指利用互联网技术和远程医疗技术,提供在线就诊、咨询、诊断和治疗等医疗服务的一种医疗模式。互联网医院系统实际上与医院的HIS系统很相似,是侧重服务于线上问诊的专业HIS,包含传统HIS的基本模块,如挂…

VS Code 开发 Spring Boot 类型的项目

在VS Code中开发Spring Boot的项目, 可以导入如下的扩展: Spring Boot ToolsSpring InitializrSpring Boot Dashboard 比较建议的方式是安装Spring Boot Extension Pack, 这里面就包含了上面的扩展。 安装方式就是在扩展查找 “Spring Boot…

【工具】【IDE】Qt Creator社区版

Qt Creator社区版下载地址:https://download.qt.io/archive/qt/ 参考:https://cloud.tencent.com/developer/article/2084698?areaSource102001.8&traceIduMchNghqp8gWPdFHvSOGg MAC安装并配置Qt(超级简单版) 1.安装brew&…

精品Python手机选购决策数据的分析与可视化大屏购物商城-爬虫

《[含文档PPT源码等]精品基于Python的手机选购决策数据的分析与可视化-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 开发语言:python 使用框架:Django …

2023-mac rz sz 安装

之前安装过一次,没问题,这次按照之前教程装了就不管上传下载都会卡住; step1: brew install lrzsz step2:在/usr/local/bin 路径下配置两个sh,之前从网上找到的直接用都不对,下面这个是调试过的正式可用的 iterm2…

堆叠注入 [GYCTF2020]Blacklist1

打开题目 判断注入点 输入1,页面回显 输入1 页面报错 输入 1 # 页面正常,说明是单引号的字符型注入 我们输入1; show databases; # 说明有6个数据库 1; show tables; # 说明有三个表 我们直接查看FlagHere的表结构 1;desc FlagHere;# 发…

『PyQt5-基本控件』| 16 什么是屏幕坐标系?

16 什么是屏幕坐标系? 1 什么是屏幕坐标系?2 相关概念3 代码实现4 获取窗口坐标4.1 直接获取4.2 通过坐标系获取4.3 获取Frame坐标1 什么是屏幕坐标系? 2 相关概念 屏幕坐标系,即窗口相对于屏幕的坐标。屏幕左上角坐标称为原点坐标(0,0);窗口的坐标,即窗口的左上角相对…

uniapp在APP端使用swiper进行页面不卡顿滑动

uniapp在APP端使用swiper进行页面会卡顿&#xff0c;主要是渲染的数据有点多&#xff0c;这里只渲染三个数据就不好那么卡顿了&#xff0c;每次滑动后更新数据 <view><swiper change"changePoint" circular :disable-touch"disableTouch"><…

速卖通新卖家有必要测评吗?

大家都知道通过测评可以提升产品的转化率&#xff0c;提升产品的销量&#xff0c;那么做速卖通的卖家有必要测评吗&#xff1f; 测评就是类似于国内电商的补单&#xff0c;而一个类目里面竞争很大很卷的话&#xff0c;不去补销量来提升产品的权重&#xff0c;凭借着平台给的自…

静态链表的定义与实现(数据结构与算法)

1. 静态链表 用数组的方式实现的链表 单链表&#xff1a; 各个结点在内存中星罗棋布、散落天涯 静态链表&#xff1a;分配一整片连续的内存空间&#xff0c; 各个结点集中安置。 1.1 静态链表的优点 不需要像动态链表那样频繁地进行内存分配和释放&#xff0c;可以节省内存…

2010年408计网

下列选项中, 不属于网络体系结构所描述的内容是&#xff08;C&#xff09;A. 网络的层次B. 每层使用的协议C. 协议的内部实现细节D. 每层必须完成的功能 本题考查网络体系结构的相关概念 再来看当今世界最大的互联网&#xff0c;也就是因特网。它所采用的TCP/IP 4层网络体系结…

Java自学第2课:Java语言基础知识要点

1 Java主类结构 任务&#xff1a;创建新项目名为item&#xff0c;包名为number&#xff0c;类名为first。 1.1 包声明 不指定包时&#xff0c;默认就是工程名&#xff0c;指定后&#xff0c;类文件可以分类了&#xff0c;是这意思吧。包就大概等于一个文件夹。而且在类文件中…

P1194 买礼物

Portal. 最小生成树。 一个貌似比较常见的图论建模。对于每个物品可以抽象成一个点&#xff0c;建立超级源点。把每个物品与超级源点连一条边权为 A A A 的边表示直接购买这个物品&#xff0c;在把有优惠关系的一对物品连一条边权为优惠价格 K K K 的边。 这样转化之后&am…

PS学习笔记合集

2.一些快捷键 一、放大快捷键 Ctrl&#xff1a;在画布中点击一次&#xff0c;即可放大一次&#xff0c;可多次点击。 CtrlShift&#xff1a;在画布中点击一次&#xff0c;即可放大到适合窗口大小。 CtrlAlt&#xff1a;在画布中点击一次&#xff0c;即可放大到适合窗口大小&a…

ubuntu安装pandora-gpt

因为pandora要3.7以上的版本&#xff0c;推荐MINICANDA&#xff0c; 1&#xff0c;在清华镜像网站上下载miniconda3安装的脚本文件 sudo wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.9.2-Linux-x86_64.sh2&#xff0c;给.sh文件添加x执…

爱写bug的小邓程序员个人博客

博客网址: http://www.006969.xyz 欢迎来到我的个人博客&#xff0c;这里主要分享我对于前后端相关技术的学习笔记、项目实战经验以及一些技术感悟。 在我的博客中&#xff0c;你将看到以下主要内容&#xff1a; 技术文章 我将会分享我在学习前后端技术过程中的一些感悟&am…

基于单片机的可穿戴个人健康监测仪-智能手环

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、方案的设计与论证2.1设计任务及要求2.2 模块技术和方法综述2.3 设计可能遇到的困难 二、 系统总体框架3.1 硬件设计 三 软件部分4.1 主程序流程框 四、 结论五、 文章目录 概要 近几年智能化的不断发展&#…

JavaEE平台技术——预备知识(Web、Sevlet、Tomcat)

JavaEE平台技术——预备知识&#xff08;Web、Sevlet、Tomcat&#xff09; 1. Web基础知识2. Servlet3. Tomcat并发原理 1. Web基础知识 &#x1f192;&#x1f192;上个CSDN我们讲的是JavaEE的这个渊源&#xff0c;实际上讲了两个小时的历史课&#xff0c;给大家梳理了一下&a…

入门 SpringCloudStream 之 RocketMq 实践全集

本文概览&#xff1a; 组件介绍工作流程文本消息自定义信道多主题文本消息自定义信道标签过滤获取头信息定向的异常处理与全局异常处理顺序消息 全局顺序消息局部顺序消息 事务消息 当在选取队列组件的时候&#xff0c;通常要结合实际情况&#xff0c;大数据场景Kafka可能是理…