活动回顾 (下) | 机器学习系统趋势研判,大咖金句汇总

作者:三羊、李宝珠、李玮栋、Yudi、xixi
编辑:李宝珠
在大模型时代的浪潮中,机器学习系统正经历着前所未有的变革。模型规模的急剧膨胀,让我们见证了 AI 能力的巨大提升,然而这种提升不仅为各个领域带来了新的机遇,也引出了一系列新的技术挑战和实践上的难题。

12 月 16 日,2023 Meet TVM · 年终聚会在上海创业者公共实训基地成功举办。本次 Meetup 中,Apache TVM PMC、上海交通大学博士冯思远担任主持人,与 4 位嘉宾围绕「大模型时代的机器学习系统」这一主题展开了全方位、多角度的交流和探讨。

本次圆桌对话的 4 位嘉宾分别是:

* OpenBayes贝式计算创始人兼 CEO 王臣汉

* 蔚来汽车自动驾驶 AI 引擎负责人吴钊

* OctoML 机器学习系统工程师金乐盛

* 字节跳动机器学习系统工程师朱虹宇

从左至右依次为:冯思远、王臣汉、吴钊、金乐盛、朱虹宇

我们在不违原意的前提下将本场对话汇总如下,快来一起听听各位嘉宾的精彩见解吧。

大模型时代的机器学习系统

阶段一:讨论式发言

现阶段大模型在各个领域都是绝对的热点问题,无论是云端、端侧或者是车载 (Tesla FSD V12),各位嘉宾在实际工作或讨论中都会遇到有关大模型在训练、部署上的系统优化问题,请大家轮流介绍一下目前遇到的主要挑战及解决方案。

王臣汉:OpenBayes贝式计算在今年 6 月份启动大模型相关的单一模态的训练,在 SuperCLUE 国内大模型创业公司榜单里排第五。从大模型的训练技术上考虑,目前大家遇到的核心问题还是网络延迟,基本上没有哪家芯片能在自己的集群上满负荷运行。

根据 OpenAI 官网的「scaling kubernetes to 2500 nodes」推算,其训练 GPT-3 时 GPU 峰值利用率应该是没有超过 18%,平均利用率约为 12- 15%,相当于如果花费 1 亿搞一个集群,这个集群里的投入只有 1200-1500 万起到了作用。从钱的角度上讲,如何最大化地把数据并行、流水运行、向量并行做好,其实是训练上面临的最大挑战。

部署/推理上的挑战在国内而言主要是工程问题比较复杂,如果显存带宽不是很好,PCIE 的优化其实就比较麻烦。OpenBayes贝式计算和很多上下游厂商都是采用 vLLM,借此省去很多工程化的工作,使推理上的工作量大幅下降。

金乐盛:我们遇到的挑战主要分为两点:

1. 因为 TVM、 MLC-LLM 在 7B 上面速度运行后,有时候一张卡上存不下更大的比如 70 B 的模型,我们上个季度尝试用 Tensor Parallelism 来解决这个问题,目前这个方案已经开源了,大家感兴趣可以试一下。

2. 还有个需求,我们现在是只支持 batch size = 1 的情况,更适合于单个人用,但是如果想起一个 Serving 会发现远远不如 vLLM,这个我们现在也正在开发。

冯思远:我也补充一点,推理这块的主要趋势尚不明朗,Transformer 虽然是目前大模型采用的主流的架构,但从整体上看,方法还有很多变动,在这种情况下 Transformer 到底能不能一统 large model 还是个问号。所以在上层和底层存在不确定性的场景下,可定制化、敏捷开发可能比传统 TVM 端到端编译更重要。在我看来,大模型在推理和训练上还有很大进步空间。

阶段二:针对性提问

随着美国禁令的加强,限制已经从原本禁运训练卡,进而影响到大模型推理卡的情况。短期来看,目前大模型云端推理最具性价比的方案是什么?(允许使用游戏卡、图形卡的情况下),国产 NPU、GPU 在推理领域填补空白还需要多少时间?

王臣汉:训练、推理模型的大小不同,使用场景、业务负载不同,很难得出统一的答案。

从边缘端的选型来看,国产芯片瑞芯微 3588 是个不错的选项,它性能、性价比都不错,技术栈相对通用,价格也比较便宜,容易获得。此外英伟达 Orin 相当于阉割版 Ampere GPU,如果按 q4f 16 预算规格,Orin 从显存到推理上运行 7B、14B 甚至 34B 的模型都没有太大压力。

云端的选型,英伟达随后披露了 H20、L20 和 L2 这三款片,英伟达官方给到的消息称,在大模型的实际推理层面大概是 L40 的70%-80%,A6000 虽然后来也被增补进了禁售清单,但由于库存量比较大。A6000 的好处就是显存大,48 GB,带 NVLink, 一对装起来就能得到一个 130% 的 A100。

以我们跟国产芯片厂商接触得知,大家确实都在针对 Attention 单一的 Backbone 做最大优化。

阶段二:针对性提问


在国产芯片领域,你认为在多长时间内,能够有一家企业在推理端实现真正地落地,并且能够瓜分英伟达的市场份额?

王臣汉:我觉得国产芯片企业大概能在 18 个月内吃掉英伟达 20% 以上的市场份额。这个判断的主要依据是我国利好政策以及美国持续制裁,推动了国产化率提升。而且,据我了解,目前已经有国内厂商对英伟达 CUDA 的指令、API 兼容可以达到 92% 以上。所以,我对于 18 个月的周期预判还是很有信心的。


阶段二:针对性提问

蔚来为何会选择 TVM?TVM 在自动驾驶领域又有哪些优势?

吴钊:首先肯定是因为我本人有 TVM 技术背景,所以在构建团队时,会优先关注 TVM。其次,在实际项目中,考量技术是否合理的重要标准就是看它的架构是否能满足业务需求。

自动驾驶是一个很复杂的应用场景,对架构的要求也更加严苛,在选择技术路线的时候,需要综合考虑项目需求与项目周期。对于蔚来的自动驾驶业务而言,第一款车型 ET7 计划在 2022 年 3 月开始交付,当时,我们的团队只有半年时间来应对自动驾驶的复杂模型,所以,我们肯定要选择一个 End to End 的方案,当时很多友商使用的都是 TensorRT。TensorRT 的问题就是模型会越来越复杂、要求也会越来越奇怪,从长远来看不太适合。

自动驾驶领域首先要考虑的问题就是如何在车端完全控制性能、精度等 metrics,因为自动驾驶需要解决很多特殊情况,算法团队大多在云端做模型训练,然后部署到车端。在这个过程中,如果使用 TensorRT 黑盒,实际上无法完全掌握其量化算法,而量化在我们看来是非常重要的。

此外,MLIR 非常适合传统编译器,但是前期需要投入比较多的时间,考虑到当时我们有一个相对严苛的时间限制,再加上要选择 End to End 的方案,所以经过评估后我们也放弃了 MLIR。

最后,对于自动驾驶而言,整体部署的稳定性以及 CPU 低占用率至关重要,因此我们需要选择一个能完全把控的方案,能降低 CPU 占用率,这是黑盒没办法实现的。

综合来看,全白盒 TVM 是当时最适合我们的选项。

阶段三:讨论式发言

目前无论是大模型还是自动驾驶模型,都呈现出模型与硬件相互绑定的情况,在这种情况下模型的算法、系统甚至芯片都会有共同的演化,各位老师可以就此分享一些自己的看法。

王臣汉:我认为 DSA 和 GPGPU 很可能互相依存,谁也离不开谁,未来芯片的体系结构也不会只有 Attention 这一种形式, 近来社区里诞生了非常多新技术、新产品,比如 Mistral 7B MoE、微软提出了 RetNet、多模态崛起等,大语言模型统一整个体系结构可能只是从今年 3 月份到 10 月份的一个短暂的幻觉,很可能 AI 未来的体系结构以及英伟达定义的这套范式还得延续一阵时间。但是英伟达不一定能一直在这件事上保持领先,毫无疑问 Attention 会缩短其他追赶者和英伟达之间的距离,比如 AMD MI300X 和其他不太方便公开提及名字的国产芯片。

从更多的趋势上来看,体系结构上的演化即以 GPGPU 为核心的仍然会是一个长期的趋势。

吴钊 :真实的项目经历中小改可以、大改很难,也就是说在基本满足业务需求的前提下,可以为了硬件做微调适配,但是如果为了达到很好的效果必须用 Transformer,但是某硬件对 Transformer 的支持非常差,从业务角度来看,我们不会部署到这款硬件上。这就是业界的现状。

谈到挑战,我觉得肯定是会有挑战的,包括前面提到的 RWKV 或 RNN,不再是 Attention 二次方的复杂度,而是线性的复杂度。这里也存在问题,要想挑战成功光靠这个是不够的,因为我们可以通过一些压缩或其他手段,在有限场景下满足对效果的要求,这种情况下 RWKV 的生态和效果都比不上 Transformer,用户就没有理由放弃 Transformer 转而采用 RWKV。

因此在我看来,算法才是最重要的驱动力,在算法效果能达到的情况下,考虑到性价比,我们可能会考虑其他系统芯片。

金乐盛:我的想法和吴老师很像,我之前做过一段 Machine Learning,也发过一些关于 AI 的 Paper, 我发现做 ML 的人很少关注 latency 或者 system 相关的指标,大家更关注 accuracy 的提升以及能否达到 SOTA。所以我觉得如果能出现一个性能完全超越 Transformer 的新模型,那它肯定会成为主流,所有硬件厂商及软件栈都会去做适配,因此我认为算法还是占主导地位的。

王臣汉:我们之前有估算过 RWKV,参数规模比较大时,它的训练成本可能会降到 1/3 左右。比如构建大规模机器学习模型时,大家凭的是通讯工具和通讯,从指数级降到线性级别后,它的通讯需求会降低。

尽管 Attention 机制在 2017 年开始被人们注意,但是通过爬取全球机器学习相关的论文并进行分析,我们发现仅 2022 年一年发布的论文,就超过了过去多年的总和。

毫无疑问 GPT-3 甚至 ChatGPT 就是这个 milestone,甚至 ViT 诞生前基本没人相信 Attention 能用在视觉任务上。我们认知一个模型结构总是需要一个事件证明其有效性,要么参数规模巨大有效,要么这个机制在某类任务上 SOTA。回过头来看 RWKV,RWKV 之所以到现在还没有展现出超越 Attention 的潜力,很可能就是因为投入预算上的巨大差距,RWKV 的潜力还远没有被证明出来。

我认为应该在现有的 Backbone 基础上预测 Attention 之后的 Backbone,目前看起来 RWKV 和微软的 RetNet 是有这个潜力的。

阶段三:讨论式发言

未来大模型部署是以端侧为主还是以云端为主?

吴钊 :我认为未来 3-5 年内会以端侧为主,首先大模型的产品形态绝对不会只以 Chat 为主,未来一定会出现非常多的垂类大模型。比如自动驾驶车、手机、微型机器人等都属于终端设备,而且这种 Infer 的需求与计算量都是巨大的,不太可能存在一个这样的云来支撑这么多的场景和设备。与此同时,如自动驾驶等高度延迟敏感性的应用,端到云的延迟也是必须考虑的一个因素

王臣汉:大模型在云端部署的时间可能比我们想象的要长。前面大家基本认为 1-2 年内是云端为主,5 年左右转移到端侧。我自己判断是 3-4 年内是云端, 5-8 年是端测。

以 GPT-3.5 (20B) 为例,它在 Q4 FP16 大概有 10 GB+,抛开费电不谈,手机上用 10 GB+ 来存一个模型,这在现在还不是所有人都能接受的事情。另外芯片制程发展的速度在放缓,芯片体系结构也不会再像过去 20 年这样狂飙突进,所以我并不认为云端模型能很快下放到端侧。

冯思远:关于 Transformer 发展的预期,我同意臣汉的观点,5 年内基本上不太可能完全脱离云端,但是如果有一个新模型出来,它可能解决一部分的算力问题。如果要在手机端部署大模型,其实并不缺算力,以安卓手机为例,它有一个 35 T 的矩阵单元,但这个矩阵单元是单 batch,因此在大模型推理的时候完全用不上。如果有一个模型能解决端测这种推理问题,大概率是在模型发布后半年内解决,至于这个模型什么时候发布,还不太好下定论。

模型尤其是端侧的模型,它的生产方式跟部署在云端的模型完全不一样,它必须以公司为主导,比如高通、苹果等厂商会设计一个模型,专门针对手机或端侧去部署。如果要让你的模型具备它的效果,那么不用超越 Transformer,只要接近 Transformer 即可,这个事情端侧更适合,它一定与模型的设计、训练以及任务的差异性相关。

吴钊:现在主流的做法是在云端推导大模型,然后蒸馏出来一个小模型。从实际角度来看,我们更多考虑如何支持业务研发一些垂直的应用,不需要部署像 LLaMA 这么大的模型,垂直场景情况下参数量可能 1-3B 就够了。

王臣汉:今天我们讨论体系结构、讨论 Backbone 但没考虑数据规模。基于香侬前辈的信息学原理,在一定矩阵的情况下,承载的数据量是有限的,更高效的压缩方式会一定带来损失。因此如果想要一定的性能——假设这个性能以 GPT-3.5 为基准,刚才我们提到了 10 GB+,那么就算有再高效的 Backbone 出现,我们都得相信它不会小于 7 GB。为了响应这个级别的模型,设备的存储虽然还能扩大,但它的计算量不会再小了。

前面我提到了制程的迭代速度正在放缓,可能再过 5-10 年,我们在单一尺寸芯片上能榨出的性能有可能还不及过去 3 年多,这是我们现在能看到的事实。

2024 Meet TVM · 未来可期

2023 年 Q1-Q4,我们在上海、北京、深圳成功举办了 4 场线下 meetup,很开心能够在不同的城市汇聚起关注 AI 编译器的工程师,为大家提供一个学习交流的平台。2024 年,我们将继续开拓 TVM 城市地图,诚挚邀请各位企业及社区伙伴们以各种形式参与共创,无论是推荐讲师还是提供场地、茶歇,我们都非常欢迎的。

让我们携手创造国内最活跃的 AI 编译器社区!


没有观看嘉宾精彩演讲的小伙伴,可以点击活动回顾 (上) | 2023 Meet TVM 系列活动完美收官查看完整录播~
关注微信公众号「HyperAI超神经」,后台回复关键字「TVM 年终聚会」,获取嘉宾完整 PPT。
大家也可以备注「TVM 年终聚会」,扫码加入活动群,获取最新的活动资讯哦~

主办方及合作伙伴

作为本次活动的主办方,MLC.AI 社区成立于 2022 年 6 月,并由 Apache TVM 主要发明者、机器学习领域著名的青年学者陈天奇,带领团队上线了 MLC 线上课程,系统介绍了机器学习编译的关键元素以及核心概念。

2022 年 11 月,在 MLC.AI 社区志愿者的共同努力下,首个完整的 TVM 中文文档上线,并成功托管至 HyperAI超神经官网,进一步为对机器学习编译感兴趣的国内开发者,提供了接触并学习一门新技术的基础设置——文档。
MLC 线上课程:https://mlc.ai/TVM 中文文档:https://tvm.hyper.ai/

HyperAI超神经国内领先的人工智能及高性能计算社区,致力于为广大国内开发者提供数据科学领域的优质公共资源,截至目前已为 1200+ 公开数据集提供国内下载节点,支持 300+ 人工智能及高性能计算相关的词条查询,现已收录数百个行业词条及案例,上线含大模型在内的数千个公共数据集和教程, 并托管了完整的 TVM 中文文档。
访问官网:https://hyper.ai/

OpenBayes贝式计算是国内领先的高性能计算服务提供商,通过为新一代异构芯片嫁接经典软件生态及机器学习模型,进而为工业企业及高校科研提供更加快速、易用的数据科学计算产品,其产品已被数十家大型工业场景或头部科研院所所采用。
访问官网:https://openbayes.com/

厘米空间(厦门)是招商局集团旗下的专业创新园区管理公司,在厦门运营「厘米空间 CM Space」专业孵化器。扎根于东南沿海,依托招商局集团的交通、城市与园区综合开发和金融三大主业优势,重点为人工智能领域创业企业提供发展初期最为急需的应用场景、模式验证、种子期客户等资源支持,协助人工智能公司高效孵化。

上海云基地(上海市云计算创新基地、上海市大数据创新基地)是国内起步较早的国家级专业孵化器,推动云计算产业从 0 到 1 起步发展。以基金+基地+平台的模式,以数字经济产业为核心,聚焦云计算、云原生、大数据与人工智能、数字医疗等细分领域,集聚和孵化了近千家海内外优秀企业。通过连接技术、用户、资本、服务四个生态,持续举办「场景创新实验室]和「数字经济上市预备营」,构建数字经济产业加速器。

归心谷——全球企业跨境一站式服务平台,致力于全方位打造集创业孵化基地、归心谷人才、归心谷企业服务、归心谷文化传播等为核心内容的市场化企业服务平台。联动北美、欧洲、亚洲等海外智库与市场资源,提供产业园区和孵化基地运营、创业培训、企业咨询服务、投融资、海外人才归国发展、全球创新创业活动等服务,同时帮助中国创业企业出海。归心谷以发现人才,培养人才,成就人才为目标,帮助优秀青年人才实现梦想,形成海归创业和人才培养的归心之地。

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

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

相关文章

音视频的编码格式与封装格式

音视频的编码格式与封装格式是两个不同的概念,视频封装格式常见的有:mp4,rmvb,avi,mkv,mov,mpg,vob,3gp,asf,rmvb,wmv,div…

关于设计模式、Java基础面试题

前言 之前为了准备面试,收集整理了一些面试题。 本篇文章更新时间2023年12月27日。 最新的内容可以看我的原文:https://www.yuque.com/wfzx/ninzck/cbf0cxkrr6s1kniv 设计模式 单例共有几种写法? 细分起来就有9种:懒汉&#x…

lv13 内核模块动态添加新功能 6

1 动态加载法 即新功能源码与内核其它源码不一起编译,而是独立编译成内核的插件(被称为内核模块)文件.ko 1.1 新功能源码与Linux内核源码在同一目录结构下时 给新功能代码配置Kconfig(模块代码与上一级相同) 给新功能代码改写…

八种常见顺序存储的算法

目录 1、线性枚举 1)问题描述 2)动图演示 3)示例说明 4)算法描述 5)源码详解 2、前缀和差分 1)问题描述 2)动图演示 3)样例分析 4)算法描述 5)源码…

Flink Kafka[输入/输出] Connector

本章重点介绍生产环境中最常用到的Flink kafka connector。使用Flink的同学,一定会很熟悉kafka,它是一个分布式的、分区的、多副本的、 支持高吞吐的、发布订阅消息系统。生产环境环境中也经常会跟kafka进行一些数据的交换,比如利用kafka con…

类。。。。

定义一个person类&#xff0c;包含私有成员&#xff0c;int *age,string &name,一个stu类&#xff0c;包含私有成员double *sore,person p1,写出person类和stu类的特殊成员函数&#xff0c;并写一个stu的函数&#xff0c;显示所有信息。 #include <iostream>using n…

Android下载gradle失败解决方法

1、在gradle-wrapper.properties文件中查看自己需要下载gradle什么版本的包和zip路径&#xff08;wrapper/dists&#xff09;。 2、在setting中查看Gradle的保存路径&#xff0c;如下图&#xff1a;C:/Users/Administrator/.gradle&#xff0c;加上第一步的zip路径得到下载grad…

15 Sequence-Driver-Sequencer communication in UVM

我们分别讨论了sequece_item、sequence、sequencer和driver。在本节中&#xff0c;我们将讨论他们如何相互talk&#xff0c;sequencer如何给driver提供从sequence里的sequence item。在开始阅读本节之前&#xff0c;请确保您了解sequencer和driver中使用的所有方法。&#xff0…

Ubuntu fcitx Install

ubuntu经常出现键盘失灵的问题 查询资料得知应该是Ibus框架的问题 于是需要安装fcitx框架和搜狗拼音 sudo apt update sudo apt install fcitx 设置fcitx开机自启动&#xff08;建议&#xff09; sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/ 然后…

普中STM32-PZ6806L开发板(HAL库函数实现-TIM2实现us延时)

简介 使用TIM2实现1us延时其他知识 公式 时间&#xff08;s&#xff09;1/时钟频率&#xff08;Hz&#xff09;由导出 1us 1/1M(Hz)预分配设置 系统时钟是72MHz, 要1us的延时, 预分配得设置为72-1计数器重载设置 设置为最大值65535&#xff0c;这样延时的时间可以设置的最…

【Vue3】创建项目的方式

1. 基于 vue-cli 创建 ## 查看vue/cli版本&#xff0c;确保vue/cli版本在4.5.0以上 vue --version## 安装或者升级你的vue/cli npm install -g vue/cli## 执行创建命令 vue create vue_test本质上使用webpack&#xff0c;默认安装以下依赖&#xff1a; 2. 基于 vite 创建 官…

Buck电源设计常见的一些问题(五)MOS管振荡抑制方法(三)

MOS管振荡抑制方法(三)Rboot的选取 1.Rboot的选取2.总结1.Rboot的选取 同步 Buck 变换器一般采用自举电路供电,如图所示。开关节点上升沿的振荡与上管开通关系密切,上管开通时的驱动电流路径如图所示。因此,可以通过增大 Rboot来减缓上管开通的速度,从而抑制开关节点的振…

文献速递:人工智能医学影像分割---高效的MR引导CT网络训练,用于CT图像中前列腺分割

01 文献速递介绍 如今&#xff0c;根据国家癌症研究所的报告&#xff0c;美国约有9.9%的男性患有前列腺癌。1 此外&#xff0c;根据美国癌症协会的数据&#xff0c;预计2019年将有174,650个新病例被诊断出前列腺癌&#xff0c;与此同时大约有31,620名男性将死于前列腺癌。因此…

vue前端预览pdf并加水印、ofd文件,控制打印、下载、另存,vue-pdf的使用方法以及在开发中所踩过的坑合集

根据公司的实际项目需求&#xff0c;要求实现对pdf和ofd文件的预览&#xff0c;并且需要限制用户是否可以下载、打印、另存pdf、ofd文件&#xff0c;如果该用户可以打印、下载需要控制每个用户的下载次数以及可打印的次数。正常的预览pdf很简单&#xff0c;直接调用浏览器的预览…

计算机操作系统(OS)——P1操作系统概述

1、操作系统的概念(定义) 1.1、什么是操作系统 __操作系统&#xff08;Operating System&#xff0c;OS&#xff09;&#xff1a;__是指控制和管理整个计算机系统的__硬件和软件__资源&#xff0c;并合理的组织调度计算机的工作和资源的分配&#xff1b;以__提供给用户和其它…

pytest实现多进程与多线程运行超好用的插件

前言 如果想分布式执行用例&#xff0c;用例设计必须遵循以下原则&#xff1a; 1、用例之间都是独立的&#xff0c; 2、用例a不要去依赖用例b 3、用例执行没先后顺序&#xff0c; 4、随机都能执行每个用例都能独立运行成功每个用例都能重复运行&#xff0c;不影响其它用例 这…

深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第五节 引用类型复制问题及用克隆接口ICloneable修复

深入浅出图解C#堆与栈 C# Heaping VS Stacking 第五节 引用类型复制问题及用克隆接口ICloneable修复 [深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈](https://mp.csdn.net/mdeditor/101021023)[深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节…

九九乘法表c 语言 用于打印九九乘法表

以下是一个简单的C语言程序&#xff0c;用于打印九九乘法表&#xff1a; #include <stdio.h>int main() {int i, j;for (i 1; i < 9; i) {for (j 1; j < i; j) {printf("%d*%d%-2d ", j, i, i*j);}printf("\n");}return 0; }解释&#xff1…

JavaScript练习题第(四)部分

大家好关于JavaScript基础知识点已经发布&#xff1a;需要的大家可以去我的主要查看 &#xff08;当然了有任何不会的&#xff0c;可以私信我&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 为了巩固大家学习知识点给大家准备几道练习题&#xff1a; 当然&…

网络编程『简易TCP网络程序』

&#x1f52d;个人主页&#xff1a; 北 海 &#x1f6dc;所属专栏&#xff1a; Linux学习之旅、神奇的网络世界 &#x1f4bb;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 文章目录 &#x1f324;️前言&#x1f326;️正文TCP网络程序1.字符串回响1.1.核心功能1.2.程序…