Seal梁胜:近水楼台先得月,IT人员应充分利用AI解决问题

news2024/11/25 15:33:13

2023年9月2日,由平台工程技术社区与数澈软件Seal联合举办的⌈AIGC时代下的平台工程⌋——2023平台工程技术大会在北京圆满收官。吸引了近300名平台工程爱好者现场参会,超过3000名观众在线上直播平台观看了本届大会。

数澈软件 Seal 联合创始人梁胜博士和江鹏受邀出席此次大会并发表题为《AI时代的IT技术创新》的演讲,本文为演讲实录。

 


 

AI 正以不可逆转之势发展

这周二我去旧金山参加了谷歌一年一度的云计算大会(Google Cloud Next 23),这大约是我第8次参加这个活动,但今年与往届完全不同。在今年的大会上很少谈及云计算的底层基础技术,也没有介绍 Kubernetes 的进展,在近2个小时的主题演讲中几乎 100% 的时间都在谈论 AI 技术。从这里,我们可以看出 AI 技术给整个 IT 行业以及云计算带来了巨大的影响。
 

为什么会有这么大的影响呢?从我个人过去十几年从事云计算领域的体验来看,云计算根本上解决的是资源的问题。在没有云计算之前,如果需要资源,那么要购买机器、搭建机房,但云计算出现之后,就不需要干这样的事情了。取而代之的是,出现了 DevOps、Infrastructure as Code(IaC),这些新技术的出现大大增加了企业对人力资源的需求。在这样的情况下,未来的 IT 行业可能会面临的挑战不再是优化机器资源,而是优化人力资源,包括 IT 的人力资源或 IT 以外的人力资源。因此,AI 成为了一个恰如其分的主题。
 


 

现在技术领域的人力资源主要集中在两个方向:研发和运维。人员需求的方向定义了现代软件开发到部署、到运维、到升级的整个生命周期流程。我在上图的右侧列出了两个云厂商,但即便不部署在云上,部署在本地机器或者边缘设备上,整套软件开发流程并没有太大变化。
 

在过去十年中,甚至全球经济不景气的当下,对 IT 人员的需求量依旧非常大。这样的增长会不会继续呢?现在 AI 技术的出现对这个增长会有什么影响呢?
 


 

我们先从研发的角度来看这个问题。各位现在最为感同身受的可能是国内外的企业都在进行裁员,为什么会如此?
 

大家仔细想想过去的业界发展态势,比如移动互联网,大家每天都在手机端上使用各种 App,那么仔细回忆一下上次用到的新应用是什么时候?对我来讲,是有相当长的一段时间以前了。但是如果把时间拨回5年前、10年前,那可能每过几天、几个星期可能就会下载一个新的应用,当时新的东西源源不断地出现。但现在大家可能主要使用的只是各自领域里的主流App,比如抖音、微信、B站以及各种网银之类的。
 

尽管现在开发应用比以前容易得多,但长尾效应在慢慢减弱。
 

那么真正的研发现在去哪里了呢?从广义来说,现阶段的研发是那些在各种大平台不断生产内容的网红,他们可以吸引很多用户。那将来的研发又会往哪个方向走呢?从现在生成式 AI 的角度来看,研发的方向会越来越多。无论是 AI 会帮助研发,还是会直接被 AI 替代,AI 的发展是不可避免的。
 

接下来,我来讲讲软件 2.0,这个概念是由一个从事人工智能开发的程序员提出来的,是指世界上越来越多的事情是由软件来实现的。
 

现阶段,大家可以用 AI 助手来帮助生成一段代码,然后检查一下代码是否存在错误,如果没有问题就可以用了。我们大胆猜想:那么之后是不是可以用一个神经网或者一个 AI 模块来实现?可能你直接告诉 AI 你要做什么,神经网就直接把功能实现了,甚至不需要看到代码。
 

AI 在未来5年、10年的发展,会让很多想象的东西都成为现实,这对研发来说会造成很大的冲击。那么,将来研发人员的数量是否还会继续增长?我觉得毫无疑问,肯定会持续增长,但是方向可能和现在有很大的差别。
 

DevOps 遇瓶颈,AI 来破局


 

我个人对 DevOps 行业非常有体会,因为之前我做过 CloudStack、做过 Rancher,这些产品都是为 DevOps 服务的,过去十年伴随着云计算的快速发展,可以说是 DevOps 的飞速成长期,我们正好赶上了 DevOps 的热潮。
 

正如我前面提到的,在没有云计算之前使用资源需要购买机器、购买网络设备,这些设备需要有专门的人进行编程和配置,那些人就是思科认证的或者华为认证的工程师。
 

在 DevOps 时代,已经不依赖手动配置了,可能是 DevOps 工程师来写脚本,或者更多时候就直接写程序,所以可以说 DevOps 工程师其实是新一代的思科认证工程师。
 

但有些系统十分复杂,比如 Kubernetes,那么这给诸如 Rancher、HashiCorp、GitLab、DataDog 之类的公司创造很大的机会,这些创新公司都已经成长为大型企业。尽管是红利受益者,但我们也在反思:为什么企业对 DevOps 的需求量无法抑制地增长
 

最早 DevOps 刚刚出现的时候,正常的人员配比应该是 10 个研发人员,配 1 个 DevOps 工程师。但发展到后来就发现这样的人员配比导致 DevOps 人员的压力好大,于是变成 5:1。再到后来,那些发展迅速的互联网企业内部的配比已经变成 3:1,甚至 2:1。这通常意味着这个系统已经过于复杂了。
 

当前,在 DevOps 领域已经出现了很多工具,但这些工具也并不能完全减轻这些人的压力。那么在现在的 AI 时代,可能还会需要更多的运维人员对大模型、应用进行运维,情况也许会变得更加糟糕。
 

基于此,我们思考是否可以把 DevOps 的复杂度控制下来,那么“平台工程”的概念就出现了。不同企业的内部环境差异极大,那么怎么能够真正把内部的 DevOps 流程变得更加有效,而不是机械地重复?AI 的出现将会带来一个全新的机会。
 


 

AI时代中非常明显的现象是,无论是公有云、私有云还是混合云,将来在云上运行的大模型将会占据越来越高的比例。所以云需要针对大模型的运行进行优化,真正把它们给运行好。稍后我们也会演示如何快速部署大模型。
 

另外,AI 不应该仅仅服务于终端用户,我们既然是 IT 从业者,应该“近水楼台先得月”,充分利用 AI 技术来解决我们自己的问题,比如 AI 可以减轻 DevOps 工程师的工作量。这样研发与 DevOps 的比例就可以不断下降,最终达到理想状态。
 


 

绝大部分 AI 应用的本质是云应用,并且现在 Kubernetes 实际上已经成为大模型平台的运行标准。上图截取自 OpenAI 的官网,当时 GPT3 已经推出,但 ChatGPT 尚未诞生。值得注意的是,Kubernetes 官方推荐使用的最大节点数是5000,但 OpenAI 因为需求量大,已经把 Kubernetes 用到极致——扩展到7500个节点。
 

据我了解,他们现在仍然在使用 Kubernetes,但目前的具体使用状况外部也不是很清楚。我相信,在他们迎来爆发式增长的这段时间,应该是把 Kubernetes 扩展得更大了。OpenAI、微软 Azure 这些公司都在大量购入 Nvidia 的图像处理器,然后放在服务器里,由 Kubernetes 等技术进行管理,最后再在上层运行大语言模型。
 

总而言之,AI 时代下的整个应用架构基本上已经建立了,这也是目前业界都比较认可的标准:最底层是公有云、私有云,再往上是 Kubernetes,然后是管理 AI 本身的一些工具,比如 Pytorch、Tensorflow,再往上层是大模型,顶层是应用
 

AI释放开源力量,开源赋能AI发展


 

数澈软件Seal 本身是一家开源的公司,我们这个团队投身开源领域已经有十几年了,我们一直认为开源是非常好的方向。但直到 AI 出现之后,我们才真正体会到开源的力量。
 

上图中,红色的线表示 Kubernetes star 数量的增长趋势,到今年刚刚超过 10 万颗 star。众所周知,Kubernetes 早已成为业界认可的容器编排的事实标准。但是 AI 相关的开源项目 star 数量能在几个月之内就超越 Kubernetes,这令人惊叹。所以可以看出开源界对 AI 的重视程度,另外一方面,开源也能够为 AI 带来一些真正的机会。
 

在现阶段,闭源软件的创业已经很难成功了,所以在软件领域开源是必须的。因为开源社区是跨国界的,不受地缘政治的限制。比如,在中国结束了疫情管控之后,目前最流行的开源组织之一,云计算基金会 CNCF,就立马到上海来举办 KubeCon,完全没有受到政治方面的影响。
 

换言之,中国企业可以通过开源把真正世界级的技术推向全球,成为全球技术的引领者,并从中获得很多发展的机会。
 


 

上文提到 AI 必须能够帮助 DevOps 工程师提升效率,在传统 DevOps 领域也曾有类似的需求,那时候叫自动化(Automation),通过脚本把手工工作变为自动。
 

但是自动化发展到一定程度之后,仍然对人有巨大的需求。因为很多需要判断力的事情,无法通过简单的脚本规则来规定清楚,主要还得依靠人进行判断。所以自动化的下一步应该是 AI。
 

上方左侧的图片是波音747刚刚推出时的驾驶舱配置,当时(上世纪60年代)大约需要3、4个驾驶员,2个驾驶飞机,剩下的观测仪表盘。通过自动化的改进,现在基本上2个人就可以开飞机了,复杂的仪表也消失了。那要再往下前进一步,能不能既减少开飞机的人数,同时还能提升安全性?这时候光靠自动化已经不够了。
 

那么我们希望通过 AI 能够真正把运维工作自动化,一会儿江鹏会对我们目前已经完成的工作进行演示。目前我们只是刚刚开始,我们希望通过开源让大家能够尝试、使用并且能够给我们提意见。
 

平台工程为 AI 提供护栏(Guardrail)

大家在用 ChatGPT 的时候可能会发现,它尽管能回答你的问题,但并不一定是对的,因为大模型不是 100% 可靠。这个缺陷对于简单的任务来说无足轻重,但如果是在生产环境上运行的应用,在接收到错误的命令之后直接运行,可能会造成难以估量的后果。
 

因此我们在思考能够降低大模型出错的概率的方案,这在业界有一个标准的做法——Guardrail,即通过给 AI 系统设置规则来对其进行限制,比如预计限制让 AI 只控制阿里云、腾讯云、AWS。
 

因此我们在中间添加一层机制进行审核,如果出现明显的错误,那么审核不通过。在审核通过之后,再让 AI 的指令上手完成任务。而这些是可以平台工程实现的。这类似于我们常常提到的自动驾驶汽车,因为路况太复杂,所以自动驾驶汽车的实现是很困难的。但是如果说我们要做自动驾驶火车,那就简单很多。因为火车被限制在轨道上运行,路况相对来说简单很多。
 


 

所以平台工程不仅应该为工程师提供工具,还应该为 AI 提供护栏(Guardrail)。
 


 

数澈软件Seal 正在借助 Guardrail 机制开发 AI 时代的 DevOps 平台,希望能够给 DevOps 工程师减轻工作量并成为他们的 AI 助手。接下来,我将介绍我们目前已经完成的工作,然后邀请江鹏进行产品演示。
 


 

关于平台工程,业界已经形成了基本的认知:平台工程的出现主要是为了解决 DevOps 复杂度的问题。
 

首先,平台工程可以解决 DevOps 团队和研发团队之间的沟通协作问题。因为研发团队平时通常通过 IDE 来完成工作,他们也许能清晰地了解业务需求、程序设计语言和框架、包括当前的 AI 技术,但是他们可能完全不了解 DevOps 工具,比如 Terraform 可以做什么,怎么样部署 Kubernetes ,于是这些成为了 DevOps 团队的工作。那么这两个团队之间的协作成为一个问题,无论是通过邮件还是发工单进行沟通,都非常繁琐,且易出错,因此需要平台工程。
 


 

在过去两三年间,我们和至少几百家企业交流过,发现大家都有类似的需求。最终就形成了企业内部的平台,它为研发人员提供UI、CLI以及服务目录(Catalog),研发人员可以直接调用现成的工具来完成应用开发工作。
 

但是我们发现,由于没有现成的解决方案,每个团队在搭建平台过程中都对中间的一层花费了大量的精力,我们把它称之为“应用管理”。
 

为什么叫应用管理呢?因为它关心的是应用配置、部署可靠性以及多环境管理,甚至包括应用成本。通过应用管理层,企业可以清楚地了解各类环境信息,应用开发资源的成本管理,包括生产环境中的实例成本、研发团队成本、测试团队成本等,方便企业进行优化。
 


 

之前提到,我们与上百家公司交流过,每家公司内部都在构建自己的一套应用管理,并且再和开发者门户进行集成。实际上开发应用管理工作量是很大的,并且十分繁琐,于是我们构建了这样一个开源应用管理平台 Walrus。
 

Walrus 是一款 100% 开源的基于平台工程理念构建的应用管理平台,开源地址是:github.com/seal-io/walrus。除了基础的应用部署、服务模板等功能,我们把 AI 技术列为了开发重点。所以在 Walrus 平台内部整合了丰富的 AI 技术,我们还提供一个 AI 助手 Appilot(预计本月中下旬开源,敬请期待),帮助用户运维。那接下来有请江鹏来进行演示。
 

点击下方视频,空降至 35:45 即可查看 Seal联合创始人及COO 江鹏的产品演示,包括在 Walrus 上借助其服务模板的特性快速部署 Meta 开源大模型 Llama 2 和 Stable Diffusion,并引入 Seal AI 助手 Appilot,通过输入自然语言,借助 AI 大模型的推理能力完成资源调度、服务查询、应用部署等任务。

https://www.bilibili.com/video/BV158411B7Mn/?spm_id_from=333.999.0.0&vd_source=0afbb2a94baeee24b5d65e44bc1e58d9
 

参考链接:https://mp.weixin.qq.com/s/4FHYX1Vlm__nCBX300moJg
作者:Seal 软件

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

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

相关文章

mysql文档--默认存储引擎--innodb存储引擎--innodb引擎全解

阿丹: 在mysql中innodb是默认的存储引擎。研究一下为什么它会被独宠。 官方解释: InnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发&#xf…

活动报名场地预约自定义表单小程序开发

活动报名场地预约自定义表单小程序开发 专门为活动报名开发的一款小程序,可以自定义各种活动报名、活动预约,支持付费预约报名。 功能: 自定义字段:字符串、单选、复选、日期、列表、图片、城市、关联字段等自定义字段类型配置…

浅谈 Node.js 与快速入门使用——前端开发工程师必须要知道的技术(文末送书福利6.0)

文章目录 📋前言🎯什么是 Node.js🎯安装与使用 Node.js🧩直接安装 Node.js🧩使用 Node Version Manager(NVM)🧩使用 Node.js 🎯Node.js 基础知识🧩模块系统&a…

matplotlib 使用

import matplotlib.pyplot as plt %matplotlib inlineplt.figure()#创建一个画布 plt.plot([1, 0, 9], [4, 5, 6])#点数据,横坐标,纵坐标,相当于(1,4)(0,5)(9…

蒙特卡洛仿真

首先打开ADE,设置好要仿真的analysis以及output,工艺角选择mc 在ADE里面选择Launch-ADE XL,勾选想要仿真的输出(我这里要仿真的是DC电压)。 下图的输出结果要起好名字、type里面signal出来的结果是曲线图柱状图。expr(表达式&…

天纵竞赛系统助力22届汉语桥世界大学生中文比赛

由教育部中外语言交流合作中心主办的第22届“汉语桥”世界大学生中文比赛在广西举行。本届比赛共有来自120个国家的138名选手参加。“汉语桥”世界大学生中文比赛创办20多年来,吸引了全球160多个国家和地区的150多万青年学子参与,已成为具有世界影响力和…

如何实现OPC UA远程通讯?

目录 一. 准备工作 1.1 在对接前我们需准备如下物品 1.2 EG20网关准备工作 1.3 软件和下位机准备工作 二. EMCP平台设置 2.1 新增EG设备 2.2 网关绑定 2.3 通讯参数设置 2.4 创建设备驱动 2.5 报警信息设置 2.6 历史报表管理 2.7 画面组态 三. 实验效…

(2022|CVPR,LDM)使用潜在扩散模型进行高分辨率图像合成

High-Resolution Image Synthesis with Latent Diffusion Models 公众号:EDPJ(添加 VX:CV_EDPJ 进交流群获取资料) 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 感知图像压缩 3.2 潜在扩散模型 3.3 调节机制 4. …

EF框架基础应用入门

文章目录 一、介绍二、EF6框架基础1. 数据模型和实体类2. 数据库上下文(DbContext)介绍3. 配置数据模型与数据库表的映射关系 两种方式Fluent API和数据注解Fluent API数据注解 4. 数据库迁移(Migration)概述a. 创建初始迁移b. 更…

需求评审时如何平衡团队成员间意见?

需求评审对于产品经理而言非常重要,通过需求评审我们可以提前规避可能的需求风险,减少因返工造成的资源浪费。如果不进行需求评审,这将直接影响项目的风险指数。 那么我们应该如何做好需求评审,有哪些需要注意的维度?如…

umi/max如何给请求增加公共header

直接上代码 根据 umi官网 介绍可知,umi/max仅提供一种运行时配置的方法。 如果是搭配typescript开发的话,最好使用umi/max提供的RequestConfig类型进行字段控制。 因为是在app.ts中添加的配置,但是并不知道该配置是在何时何地如何被使用的&…

swagger---接口文档管理生成管理工具

Swagger–接口生成工具 使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具, 就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。 官网: https://lswagger.io/knife4j是为Jav…

业务逻辑漏洞复现

文章目录 一分钱买夹克任意商品购买 一分钱买夹克 登录portswigger,在all-labs中选择下面的题目: 打开后选择第一个商品: 打开后数量选择1,并用bp拦截数据包,点击添加购物车: 修改价格为1,点…

解密全产业供应关系,助力企业寻找客户资源,洞察商机

在当今商业竞争日益激烈的时代,企业要实现长期可持续的发展,需要深入了解供应链关系,抢先捕获商机,拓展优质的客户资源。然而,供应链关系错综复杂,商机、客户隐藏在其中,如何挖掘和洞察成为了企…

力扣(LeetCode)算法_C++——寻找重复的子树

给你一棵二叉树的根节点 root ,返回所有 重复的子树 。 对于同一类的重复子树,你只需要返回其中任意 一棵 的根结点即可。 如果两棵树具有 相同的结构 和 相同的结点值 ,则认为二者是 重复 的。 示例 1: 输入:root…

五大类注解和方法注解详解

五大类注解为Controller,Service,Repository,Configuration,Component,方法注解为Bean。 需要注意的是:Bean注解必须要在类注解修饰的类内才能正常使用。 一、与配置文件的关系 在spring原生项目中 如果你使用的spri…

亚马逊运营中,卖家们应该怎么挑选产品?

如今做亚马逊,选品是非常重要的。“七分靠选品,三分靠运营”,这话虽然会得罪运营小伙伴,但是目前平台就是这么个情况,一款好的产品基本上不需要花太多心思,加上一些运营技巧就能够很快表现优异。 那么选品…

深入浅出了解BeanFactory 和 ApplicationContext

一.区别 BeanFactory和ApplicationContext是Spring的两大核心接口,都可以当做Spring的容器。其中ApplicationContext是BeanFactory的子接口。 1.依赖关系 BeanFactory:是Spring里面最底层的接口,包含了各种Bean的定义,读取bean…

【系统设计系列】延迟吞吐和一致性

系统设计系列初衷 System Design Primer: 英文文档 GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. 中文版: https://github.com/donnemarti…

Windows下搜索文件内容的关键字用什么命令

Windows下搜索文件内容的关键字用什么命令 findstr /s /n /i "keyword" file_path其中,/s 表示递归检索子文件夹,/n 表示显示搜索结果所在行号,/i 表示忽略大小写,“keyword” 是要搜索的关键字,file_path 是…