大模型重塑软件开发,华为云AI原生应用架构设计与实践分享
在ArchSummit全球架构师峰会2024上,华为云aPaaS平台首席架构师马会彬受邀出席,和技术爱好者分享AI原生应用引擎的架构与实践。
AI大模型与AI重塑软件的大趋势下,软件会发生哪些本质的变化?如果“所有软件都值得用AI重做一遍”,那么该如何重做?华为云aPaaS平台首席架构师马会彬从AI重塑软件的本质变化、AI原生的概念与内涵解剖,分享华为云AI原生应用引擎的架构设计和实践思考。
AI重塑软件产业:变化与趋势
大模型正在推动历史性的技术革命,企业想要成为AI科技浪潮的赢家,需要回答是否要训练自己的行业大模型、如何寻找或打造自己的ChatGPT时刻、如何从既有的企业IT架构和组织能力上支撑落地这三个问题。
大模型的四大技术驱动力,使得AI重塑软件成为可见的未来
驱动力1:万物皆可Embedding,泛化万物的通用机器智能表示
Embedding解决了文字、图片、声音、视频转化为一个可计算的token的问题,使得纯文本NLP快速演进到多模态大模型,对整个大模型和AI技术浪潮产生根本性的影响。
驱动力2:Transformer架构催生Scaling Law,统一了模型架构
过去经典模型没有通用性能力,解决的都是个性化问题,Transformer架构目前被证明是最有效的大模型架构,模型参数规模、数据规模、训练计算量的规模都会显著提升大模型的智力能力,它的演进是有确定性方向的。
驱动力3:从智能摩尔定律到场景摩尔定律,大模型成为通用生产力引擎
算力的演进,模型智力能力和模型场景泛化能力的演进,都符合摩尔定律,甚至在一定程度上,演进的速度超过了摩尔定律;就模型而言,解决的问题和适用的场景,随着时间就会自然获得,不需要在编程或者算法设计上做太多的处理。
驱动力4:LLM OS抽象了通用AI计算架构,使AI原生应用成为可能
LLM OS是以大模型为核心处理单元所构造的一种理论计算架构,业界基于此做了通用实现,证明了它有解决通用问题的能力。
AI重塑软件、赋能行业智能化
业务视角的变化
大模型带来3大颠覆性技术创新,即创造能力、推理能力、自然交互能力,对整个软件行业产生重大影响,主要体现在两大维度:(1)AI赋能人,在一定程度上模拟人、超越人,比如具身智能和AI Agent分别在物理世界、数字世界辅助人、替代人;(2)AI重塑存量软件及工具,显著提升人的效率及体验。
技术视角的变化
软件架构之变:传统程序或软件1.0是构成式架构,是精心设计的、确定性的,而AI原生软件或软件2.0是以大模型为底座的生成式架构。
软件工程之变:传统程序的软件工程是以人为本的协同式开发,强调开发流程、工具、人之间的协同配合,而以大模型为底座的软件开发过程,是以数据为本的生成式开发,对协同的要求没有那么高。
软件体验之变:传统软件是通过键盘鼠标或触摸式交互,到了AI原生时代则变成了时空自然交互,不止是简单对话,AI能理解人所处的时间和空间,这是一个非常大的改变。
软件商业之变:传统上是软件即服务,是把软件功能以服务的形式去交付,现在是服务即软件,不仅提供功能,而且直接提供操作软件完成业务的“服务”。
基于这4个变化,会出现3种形态:第一种,这4个变化都采纳或遵从了的,就是新的AI原生应用(AI native);第二种,程序或应用保持不变,但改变了软件跟用户交互的方式;第三种,程序或应用保持不变,但改变了软件开发的工程和工具体系,后两类可以认为是AI重塑的传统软件(AI enabled)。
AI原生架构及AI原生应用新范式
大模型催生新的AI原生应用新范式
- 新架构:从构成式架构到生成式架构的变化;
- 新体验:从键鼠与触摸到自然交互的变化;
- 新工程:从以人为本的协作开发到以数据为本的生成式开发的变化;
- 新商业:从软件即服务到服务即软件的变化。
基于这4点,AI原生应用新范式包括两层意思:第一是AI First新思想,想做以大模型为基座的软件或应用,首要是转变思维模式;第二是AI Native新实践,是架构和工程方法的问题。只有将这两者综合在一起,才能真正实现以大模型为驱动力的新应用和新软件产业的落地。
AI原生架构之变:从经典编程架构,进入生成式架构模式
传统软件强调算法、逻辑、数据,有确定的输入和确定的输出,大量的工作需要提前设计和开发,生成式的软件架构跟之前有根本的区别。模型是单独开发的,功能或场景的开发,即提示词输入,不是在大模型开发过程中确定的,而是在任务的场景上下文里确定的。整个工作方式完全发生变化,意味着整个软件开发过程中的角色、方式发生了变化。因为开发阶段只是确定了模型或软件框架,在业务过程中有实时的软件功能或者结果的生成。
AI原生工程之变:从以人为本的协同开发,到以数据为本的生成式开发
以人为本的协同开发,无论是瀑布模式还是敏捷模式,都可以归纳为是以人为本的,特别强调项目管理和软件工程,迁移到大模型驱动的以数据为本的生成式开发,产生了几个根本性的变化:
- 全流程数字化:意味着设计和需求都可以用文本、语音、视频方式记录,通过大模型去理解、生成,之前软件开发的需求在传递过程中总有丢失,现在可能不会了,软件研发全面进入数字化时代。
- AIGC:生成软件(software)的各种ware,代码、测试脚本、文档都是生成式的。
- 极致的持续交付:过程中对人的依赖性极大地降低了,交付周期极致缩短,真正实现持续交付。
- 人机交互智能:人机交互过程即开发过程。
- 以数据和模型为本:研发人员服务于大模型和大数据平台。
AI原生体验之变: 从点击、触摸交互模式到新的自然交互模式
一个应用或一个软件可以分为两层,底层是记录系统,没有变化,上层是交互系统,交互方式因大模型发生很大变化,体现在三个方面:
- 自然空间交互:基于语音、姿态、眼神,甚至脑电波等更自然的交互形式,人的Prompt输入速度远远跟不上大模型token生成的速度,未来可能基于脑机接口来作为输入。另外,不同于传统的桌面、App入口,转为场景式的智能时空入口,没有一个确定的入口方式,功能请求随时可以被触发。
- 系统嵌套触达:未来应用之间的边界会进一步消除,不再彼此孤立,而是可嵌套的系统级触达,所有的传统应用软件最终可能退化成背后的一个个业务工具。
- 全个性化体验:之前软件交付面临定制化问题,现在以大模型为驱动,一定是以用户、以任务为中心,本身就是个性化的,业务结果是实时生成的,在这种情况下,需要一种新的跨系统、跨平台的分布式自然人身份系统,不再可能用之前传统的账号模式。
AI原生商业之变: 从“软件即服务”到“服务即软件”的新商业模式
- 当前产业界在软件、服务和雇员费用上的开支,软件占比还较低,以大模型为驱动的Agent在一定程度上能辅助人或者代替人,产业空间非常大。
- 以大模型为驱动的Agent跟人的成本对比,目前统计是1:80,未来比例可能会进一步放大。
- 人的知识、技能、经验如果被压缩进大模型,再以大模型为基础提供给业务场景,可以完美实现经验、技能的0成本复制。
AI原生应用的架构演进与成熟度等级演进
将AI自主能力等级和AI成熟度等级作为两个象限去看,大概会经历5个阶段:应用+AI特性(初级阶段)、应用+Copilot(任务阶段)、应用+Agent(助手阶段)、Agent+应用(代理阶段,Agent为主、应用为辅)、超级智能体ASI(共生阶段,人、AI驱动的机器人、agent协同工作),目前每个阶段都有在尝试,但应用的场景和范围都还有一定的限制。
华为云AI原生应用引擎的架构实践
华为基于内部实践以及跟客户、生态伙伴的合作打磨了一款AI原生应用引擎产品,旨在帮助企业从应用视角选好、用好、管好大模型,赋能AI原生应用创新,主要包含Agent编排中心、知识中心、模型中心、AI可信治理和AI资产库5大模块,解决6个业务问题。
- 如何选择合适的大模型,目前模型种类繁多,哪些场景、哪些任务适用哪种模型?如何考虑BCM、考虑可演进性?
- 如何提升大模型在业务场景中的能力和效果?因为模型是通用的,场景又是个性化的,两者如何去匹配?
- 如何给模型和AI应用提供高质量数据?因为它不是一次性的,如何不断提升模型和应用的效果?
- 如何建立AI安全机制,确保安全可信治理?比如大模型驱动的具身智能在物理世界可能会有环境和人身安全方面的问题。
- 如何降低运营成本?技术投资必然要考虑成本和收益之间的均衡。
- 如何快速创新,让更多的人参与到场景中快速创新?
AI原生应用落地企业生产场景要解决的关键挑战
- 安全性:数据安全、模型交互安全、应用安全;
- 专业性、协作性:如何让大模型能够理解并解决复杂的业务问题;
- 责任性:AI辅助人或者代替人,责任怎么界定,它是否能承担这个责任。
具体来说,主要有从5个方面来应对和解决:
1、企业词表:每个企业都有自己的术语表,要加载企业专业术语,让大模型准确理解,消除歧义,提升准确率。
2、领域知识库:所有大模型落地一定要外挂知识库,因为模型的训练是有周期的,但是外部的实时数据和实时的知识更新很快,所以需要让模型跟知识库结合,保证知识的动态更新,解决知识的及时性及有效性。
3、场景范式:模型是通用的,业务场景是多变的,如何用通用的架构解决个性化或多变的场景问题?为此,华为云参照人解决问题的思考方式,构建了7大Agent场景范式(会话交互、内容理解、感知接收、中枢决策、知识查询、设计生成、数据分析),从而简化Agent开发。
4、模型网关:基于大模型的应用开发一定需要模型网关,有以下方面的原因:(1)市面上的模型很多,对企业来说,包括自建的模型、外购的第三方模型,什么业务应该路由给哪一个模型,需要考虑业务路由问题。(2)各模型在提示词输入输出的格式上有一些差异,需要一个统一的接口进行切换。(3)大模型是个IT系统,也会出现故障甚至宕机,基于网关制定Failover机制,可以提升大模型的应用可用性。(4)模型生成的结果,真实效果或准确性如何,要有个控制点来建立可观测性,来持续度量推理性能、成本及跟踪反馈的问题。
除了4个功能性的需求之外,还需要从企业CIO视角去做模型治理,因为模型是一个关键的IT基础设施,如何引入、升级版本、退出,都要有管理规范和流程。
5、知识飞轮:如何持续提升模型能力,如何从企业现有应用和业务系统中提取高质量数据、把数据回流给记忆和模型,需要建立知识、模型、数据回流的迭代机制,持续提升智能效果。
华为云AI原生应用引擎的案例实践
场景案例1:基于AI Agent的智能化招聘
HR Agent协助HR进行招聘,在一定程度上是自然人与Agent协同的一种新的工作模式。岗位描述、投放渠道推荐、岗位发布、候选人搜索和推荐、候选人沟通、预约面试与答疑、组织面试、记录生成、结果匹配和评估、录用通知等过程,都以Agent为主完成或独立完成,涉及到多轮面试、结果确认、录用决策、入职培训等业务决策则需要人工参与。
场景案例2:基于AI Agent的智能化、自动化客服
把大模型应用到客服场景,目前基本上是两种方式:第一种是在一些具体的环节,通过模型来解决业务问题,辅助生成结果,第二种是模型、Agent、人协同工作,当前客服、保险代理、保险理赔等环节都在用这种方式。现在RAG的默认准确度,大概在50%,如果要提升到很高的等级,做到生产可以投产,至少要达到80%~90%以上,除了Prompt和垂域知识之外,还需要通过数据飞轮,业务产生高质量数据来对模型微调,提升高质量数据产生的过程,再通过建立数据回流机制,进一步提升效果。
华为内部实践:从RPA到AI Agent,在业务流程全面应用数智员工
华为All Intelligence实践从2019年就开始了,内部的零售、公共沟通、合同、工程、客服,员工各领域,有很多不同的岗位和角色,在这些流程中全面应用AI和大模型技术来赋能提升效率和改善体验,华为内部称之为知识和经验的一次革命!之前所有的知识和经验都是通过流程规范和业务文档去传承,现在可以压缩到模型里面,以模型驱动的AI应用的方式,直接进入到业务流程里面去交付。
大模型重塑软件开发,华为云AI原生应用架构设计与实践分享的更多相关文章
- 实际体验华为云AI : ModelArts
国庆前看到了博客园官方博客发布的一篇博客: 学AI有奖:博客园&华为云AI有奖训练营开战啦 本着对AI这种火热的话题,以及华为云博客园联名公仔(次要),我决定参与这个活动. 现在华为云开始全面 ...
- 华为云 AI 实战营计划,带你迈上 AI 之路
当今,AI的开发人才需求呈现极大的供需不平衡.所有开发者都关心,要如何从一名开发者晋升为AI开发者?AI开发能力,是主要的进入障碍.不用慌,华为云推出了 <华为云ModelArts-Lab AI ...
- 基于Hadoop开发网络云盘系统客户端界面设计初稿
基于Hadoop开发网络云盘系统客户端界面设计初稿 前言: 本文是<基于Hadoop开发网络云盘系统架构设计方案>的第二篇,针对界面原型原本考虑有两个方案:1.类windows模式,文件夹 ...
- 揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!
摘要:质量是产品的生死线. 本文分享自华为云社区<揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!>,作者:华为云PaaS服务小智 . 2019年12月20日,是美国波 ...
- 华为云MVP熊保松谈物联网开发:华为云IoT是首选,小熊派是神器
摘要:在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间,也得乘风破浪跟上新技术的节奏. 在AI.5G的技术驱动下,物联网行业的发展愈加如火如荼,开发者在技术的快速更迭间 ...
- 三伏天里小试牛刀andriod 开发 #华为云·寻找黑马程序员#
2019年07月,北京,三伏天,好热啊.越热自己还越懒得动换(肉身给的信号),但是做为产品经理/交互设计师的,总想着思考些什么(灵魂上给的信号),或者是学习些什么,更有利于将来的职业发展吧,哈哈哈.工 ...
- 三伏天里小试牛刀andriod 开发 #华为云·寻找黑马程序员#【华为云技术分享】
2019年07月,北京,三伏天,好热啊.越热自己还越懒得动换(肉身给的信号),但是做为产品经理/交互设计师的,总想着思考些什么(灵魂上给的信号),或者是学习些什么,更有利于将来的职业发展吧,哈哈哈.工 ...
- zzPony.ai 的基础架构挑战与实践
本次分享将从以下几个方面介绍: Pony.ai 基础架构做什么 车载系统 仿真平台 数据基础架构 其他基础架构 1. Pony.ai 基础架构 首先给大家介绍一下 Pony.ai 的基础架构团队做什么 ...
- 终极套娃 2.0|云原生 PaaS 平台的可观测性实践分享
某个周一上午,小涛像往常一样泡上一杯热咖啡 ️,准备打开项目协同开始新一天的工作,突然隔壁的小文喊道:"快看,用户支持群里炸锅了 -" 用户 A:"Git 服务有点问题, ...
- 一面数据: Hadoop 迁移云上架构设计与实践
背景 一面数据创立于 2014 年,是一家领先的数据智能解决方案提供商,通过解读来自电商平台和社交媒体渠道的海量数据,提供实时.全面的数据洞察.长期服务全球快消巨头(宝洁.联合利华.玛氏等),获得行业 ...
随机推荐
- dotnet 使用 ConfigureAwait.Fody 库设置默认的 await 同步上下文切换配置
在 dotnet 里面,使用 await 进行异步逻辑,默认是会尝试切换回调用 await 的线程同步上下文.这个机制对于大多数的上层应用来说都是符合逻辑且方便的逻辑,例如对于带 UI 线程的 WPF ...
- dotnet 6 精细控制 HttpClient 网络请求超时
本文告诉大家如何在 dotnet 6 下使用 HttpClient 更加精细的控制网络请求的超时,实现 HttpWebRequest 的 ReadWriteTimeout 功能 本文将介绍如何在 Ht ...
- 八、Doris外部表及数据导入
DorisDB提供了多种导入方式,用户可以根据数据量大小.导入频率等要求选择最适合自己业务需求的导入方式. 数据导入: 1.离线数据导入:如果数据源是Hive/HDFS,推荐采用 Broker Lo ...
- Cesium的HeadingPitchRange 用法
这个有别于headingpitchroll, headingpitchroll是用在orientation属性上的(比如相机的setView,flyTo,以及entities.add中) Headin ...
- Linux(二):Linux的灵魂
上次说Linux的前世今生的时候,提了一句,就像学习java一样,我们有一个核心的准则 "万物皆对象" ,学习Linux,同样有基本准则,这也是Linux的最基本的特点,那就是&q ...
- JDK源码阅读-------自学笔记(九)(常用类型Integer初探)
常用类 主要分为几部分需要学习: 包装类的介绍和使用 字符串的介绍和使用 时间类的介绍和使用 其他类型介绍和使用 包装类(Wrapper Class)基本知识: 1.基本数据类型不是对象,但有时需要将 ...
- .NET使用P/Invoke来实现注册表的增、删、改、查功能
注册表可以用来进行存储一些程序的信息,例如用户的权限.或者某些值等,可以根据个人需要进行存储和删减. 当前注册表主目录: 引用包 Wesky.Net.OpenTools 1.0.5或者以上版本 操作演 ...
- ansible自定义模板部署apache服务
使用Ansible来部署Apache服务是一个很好的选择,因为它可以自动化部署过程,确保所有的服务器上都有相同的配置.以下是一个简单的步骤指南,展示如何使用Ansible来部署Apache服务: 1 ...
- ISCC 2024 练武题 misc趣题记录
Number_is_the_key 题目 The answers to the questions are hidden in the numbers. 文件是空白的xlsx文件 我的解答: 乱点发现 ...
- django中的多表关联
一.三种关联情况 二.ORM的正向操作和反向操作 1.正向操作: 一个模型中定义了一个外键,通过该模型对该外键操作的操作叫做正向操作. 2.反向操作: 被外键所关联的模型,通过该模型对外键所在模型的操 ...