云原生+AI核心技术&最佳实践
以下内容是我在陕西理工大学2023级人工智能专业和网络专业的演讲内容,分享给大家。
各位老师、同学们,大家好啊!能在这里跟大家一起聊聊咱们计算机专业那些事儿,我真的觉得超级兴奋!
首先,自我介绍一下,我叫袁庭新,不过你们也可以叫我老袁,因为同事们都这么叫我,这样感觉更亲切些。我呢,算是计算机行业里的一个“老炮儿”了,当然,这里的“老”不是指年龄,是指在这个领域里摸爬滚打的时间,一晃眼就是好多年。
今天呢,我来到这里,就是希望能跟大家一起分享一些我在计算机行业里的所见所闻,包括最新的技术趋势、行业动态,还有一些我个人的心得和体会。主要介绍5大核心方向,分别是:Serverless、研发智能、可观测、AI原生架构、消息中间。
介绍一位顶级大佬——里德·霍夫曼。他是著名互联网企业家,领英联合创始人;知名风险投资者,Open AI早期投资人;《纽约时报》畅销书作者、播客主持人。著有《GPT时代人类再腾飞》一书,这本书探讨了AI,尤其是像GPT-4这样的大语言模型,如何在教育、商业、创造力、社交媒体、新闻、劳动方式等方面提升人类的能力与强化人类的特质。今天我把这本书带过来了,这是人类历史上第一部由GPT-4与人类合著的开创之作!
人工智能,近一年可谓是火的一塌糊涂。对于计算机学院的同学而言,我们更加关注AI如何编程以及软件研发工作的智能化。
过去一年,AI辅助编程工具爆发式增长,呈现百家争鸣之态。AI辅助编程在Gartner报告中处于期望顶峰,备受关注。根据最新数据显示,自2023年初以来,全球AI编程工具行业已经吸引了数亿美元的投资,足以显示出这一领域的巨大潜力。
国内外相关厂商积极布局,并相继推出自家研发的智能化产品。国内的有:百度的文心快码,阿里的通义灵码,字节跳动的豆包MarsCode等。国外的有:微软与OpenAI共同推出了一款AI编程工具GitHub Copilot,瑞士一家公司开发的Bito,亚马逊推出的生成式人工智能助手Amazon Q等。会发现各家大厂都选择在开发环节智能化布局,这也是互联网行业当前的最新趋势。
这里我没有办法把所有的AI编码助手给大家介绍一遍,以阿里的通义灵码为例。来看一组数据,通义灵码的插件下载量超过500万,为开发者编写超过10亿行代码,通义灵码受到广泛开发者的喜爱。
通义灵码获得国内外研究机构的哪些荣誉呢?我们来看一下:
Gartner——阿里云是唯一进入国际市场研究机构Gartner AI代码助手挑战者象限的中国厂商;阿里云通义灵码是唯一进入到代码助手挑战者象限的中国代码助手产品。
信通院——通义灵码首批通过信通院AI代码大模型评估,获最高等级认证;通义灵码首批通过信通院“可信AI智能编码工具”权威评测,获得4+评级。
镇馆之宝——2024年7月,阿里云通义灵码入选2024世界人工智能大会展览镇馆之宝,是首个入围的AI编码助手。
为什么通义灵码能获得国内外研究机构和开发者的广泛认可呢?
多编程语言、多编辑器全方位支持。支持Java、Python、Go、JavaScript、TypeScript、C/C++、C#等主流语言,同时兼容Visual Studio Code、Visual Studio、JetBrains IDEs等主流编程工具,为你提供高效、流畅、舒心的智能编码体验。
通义灵码有三大核心功能,提供代码智能生成、研发智能问答能力、企业级智能编码。主要介绍下代码智能生成功能,通义灵码经过海量优秀开源代码数据训练,可根据当前代码文件及跨文件的上下文,为你生成行级/函数级代码、单元测试、代码注释等;沉浸式编码心流,秒级生成速度,让你更专注在技术设计,高质高效地完成编码工作。
通义灵码的功能远不止我给大家演示的这些,需求协作、代码生成、异常排查、测试辅助,再到代码审核、文档辅助。可以说是从企业级到工程级,全面覆盖各类研发场景。
AI辅助编码对于程序员的工作效率提升很大。 在日常工作中,程序员花费三分之一的时间编写新代码或改进现有代码(32%);花费 35% 的时间来管理代码,包括代码维护(19%)、测试(12%)和响应安全问题(4%);另外 23% 的时间花在会议以及管理和运营任务上。数据显示,引入AI编程辅助工具后,开发者的个人工作效率至少提升11.2%,且随着人工智能的不断发展,开发效能将持续被提升。
AI编程辅助工具并不是无所不能,也有它的局限性。不了解用户仓库:用户仓库私有,大模型未在用户数据上进行训练,对用户仓库不了解。无环境交互:大模型无法实时与环境交互,无法调用现有软件工具。自主能力差:由于是在静态数据训练,大模型无法端到端解决复杂软件任务。
AI大模型对软件工程的产生深远的影响。可总结为三个阶段,第一个是工具辅助软件工程阶段:开发者使用各类工具,提升软件开发效率,其中部分工具已经集成神经网络能力。第二个是AI辅助软件工程阶段:AI充当Copilot的角色与开发者结对编程,辅助开发者完成特定任务,提高开发者的效率。最后一个是AI驱动软件工程阶段:AI成为软件开发的主力,开发者负责是决策、指导、审核等工作,大幅提高开发者的效率和能力范围。
我们期望的是基于大模型的AI编程智能体,能独立承接软件研发活动中的各类任务,让开发者专注于创造。AI程序员应运而生。像阿里的AI程序员,海外Cognition AI推出的全球首个AI程序员——Devin。无论是哪家公司的AI程序员产品,他们的使用场景是类似的。开发这负责输入需求,然后AI程序员来理解需求和任务拆解,再交由开发者来确认计划,确认完成后AI程序员开始编码实现、自主测试和提交代码,最终开发者进行结果确认。
AI程序员实际落地比学术探索更困难。面临的问题有,如何进行软件过程数据构建、项目感知、解决方案生成、缺陷修复。还有像模型效果、响应时间、可干预性、推理成本等。都是摆在我们面前需要攻克的难关。
尽管AI程序员在落地过程中面临诸多挑战,但我依然持乐观态度。从需求分析阶段、系统设计阶段、软件开发阶段、软件演化阶段、软件维护阶段,AI程序员将成为领航者。我大胆预测下未来:软件开发将从依赖团队配合(人),逐步过渡到,依赖超大算力(机器),逐步形成“机器开发,人审核”的智能化软件工程范式!
Serverless与AI的结合是云计算和人工智能领域的一个重要发展趋势。Serverless架构是一种云计算的部署模型,Serverless架构为AI系统提供了有效的解决方案。随着云计算和人工智能技术的不断发展,Serverless+AI的应用将会越来越广泛。
Serverless无服务架构是如何演进来的呢?应用程序的运行环境从早先的物理机,到虚拟机,最后演进到Serverless这种架构。那Serverless有什么价值?这里我给大家举一个例子,为了出行方便最早会买私家车,但是这种方式带来资源占有和维护成本高,以及平时大量闲置,这就好比是物理机。为了解决这些问题,我们可以汽车租凭,好处是灵活租凭使用时长,闲置相对较少,但是带来一个新问题扩容相对麻烦,虚拟机就像是汽车租凭。最优的方案就是打网约车,它完全按需使用,没有闲置成本,根据负载自动弹性伸缩。Serverless架构的价值也就显而易见了:按需付费,成本节省;弹性伸缩,省事省心;聚焦业务,降低Ops。
什么是函数计算?函数计算(Function Compute,简称FC)是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,可靠地运行任务,通过弹性伸缩应对流量峰谷,并提供日志查询、性能监控和报警等功能。以更少的代码为AI业务创新加速。
函数计算的应用场景有哪些?函数计算的典型应用场景,包括Web应用、数据ETL处理、AI推理、视频转码等。也可应用于秒杀、大促等突发流量场景;同时也适用于资源密集、有弹性交付需求的场景。
如果我们想在云端最大程度简化管理应用程序的流程,并想轻松上线一个应用,可以使用Serverless 应用引擎(SAE)。SAE是一个全托管、免运维、高弹性的通用PaaS平台(平台即服务),它支持开源微服务/单体Web/定时任务框架,提供开源增强和企业级特性。总之,如果把业务迁移到SAE后,产品将更加稳定,用户体验更流畅,提高了业务连续性和稳定性,甚至降本达60%。
Serverless+AI让应用开发更简单。按需模型托管服务极低成本,Serverless GPU 算力模型服务平均成本降低60%。一键极速创建AI应用快速落地,解决AI应用开发者无从下手的困境。流程式开发先进工具,针对AI场景的Studio开发能力,效率提升90%。灵活组装便于二次开发,丰富的云服务集成,自定义插件扩展快速组装,沉淀业务资产。
随着AI技术的迅猛发展和广泛应用,业界普遍认识到,要确保“模型+算力+数据”这一体系的高效运行,以规模化生产具备商业应用价值的AI能力,AI用户面临着三大严峻挑战。第一个就是成本,需要昂贵的算力投入。第二个是弹性诉求,在不同场景下为实现弹性扩容,需要分钟级。最后是开发运维的诉求,软件环境维护复杂。想根本解决这些问题,生产环境必须要向“资源池化+工程平台化”模式跨越。
如何提高模型推理效率?Serverless GPU集成了NVIDIA TRT。TensorRT-LLM是一个在NVIDIA GPU上优化最新大型语言模型(LLM)推理性能的开源库。它基于NVIDIA FasterTransformer和TensorRT,并提供了一个简单的Python API,用于在生产环境中定义、优化和执行LLM推理。
没有不出问题的系统,出问题了能否避免业务不受影响是关键。那么系统的可观测性,对企业而言,是至关重要的。随着AI模型的深入发展,导致数据处理方式与技术架构发生了深刻的变化,相关应用产生的日志、链路等可观测数据规模呈指数级增长,数据结构复杂度也与日俱增。这个时候,一套AI 原生全栈可观测平台就显得非常重要。
应用程序上云后,运维工作也逐渐从监控演进到可观测。什么是系统的可观测呢?类比理解下,汽车行驶中的仪表盘,建筑师的设计图纸,这就是可观测的一种体现。而我们这里的可观测指的是应用程序运行中的全链路实时观测、告警与诊断,构建一套可观测体系,更高效地管理与观测IT资源与服务。
云原生可观测工具在AI的加持下,正引领着可观测加速迈向智能化。企业用户可以像“搭积木”一样轻松、灵活地构建可观测体系。
我们来看在企业中,一个典型云原生架构应用的可观测性诉求。多语言、前后端分离,一套可观测体系如何覆盖全?应用复杂度高,如何快速定界定因?AI浪潮下,如何借助智能化提升运维效率?这是企业真实所面临的一些问题。
全栈智能可观测平台,有哪些核心功能?第一个是可观测平台能力,具有数据接入、数据处理、AI引擎、智能告警和可视化大盘等能力。第二个是可观测数据存储,日志、时序指标、事件和观测对象,都可以进行相应的存储。
2024年9月份,阿里云宣布日志服务 SLS、云监控 CMS、应用实时监控服务 ARMS 等可观测产品家族重磅更新,面向模型训练、推理及应用提供全链路的可观测服务。
阿里云的这套AI Stack可观测解决方案,可以做到AI应用的全方位可观测。一个AI应用程序通常可划分为5层架构,从底层到上层分别是:智算服务PAI-灵骏(IaaS)、容器服务Kubernetes版(CaaS)、人工智能平台PAI(PaaS)、大模型服务平台百炼(MaaS)、AI应用。阿里云AI Stack可观测解决方案可以做到,云资源监控、容器可观测、模型推理可观测、模型训练可观测。
2024年巴黎奥运会,阿里云为奥运会14个场馆提供AI增强的多镜头回放系统MUCAR。把多个镜头采集到的图像发送到云端,由构建在“ACK Pro集群+GPU节点”的AI算力,作实时空间重建和3D渲染,只需数秒即可在云端生成,并无缝融入赛事直播,分发至全世界。保障奥运会多个业务系统稳定运行,保障超大流量访问顺滑。
以一个在线业务线上故障的排查路径为例,ACK可观测体系提供链路各层观测能力覆盖,并最终定位问题。业务异常诊断大致可分为6个步骤:收到报警、网关业务流量监控、多维指标分析、业务日志、分布式追踪&Profiling(定位根因与诊断)、Fix(终态修复异常)。
还提供有容器场景的GPU观测的能力。提供有:开箱即用的容器GPU监控能力、成本套件对Pod的GPU资源成本分析、GPU坏卡状态检测&任务自愈、GPU资源使用Profiling等。
可观测的应用场景是非常丰富多样,比如,基础设施可观测、容器可观测、云产品可观测、应用可观测和用户体验可观测等。总之,未来可观测与智能化紧密结合是大势所趋。
常用的消息队列产品有RocketMQ、Kafka、RabbitMQ、MQTT等,现都已实现Serverless化,支持自适应弹性,能够秒级扩展以满足业务流量的变化。这个模块来介绍下云消息队列演进与AI赋能,如何面向企业提供高弹性、低成本,更稳定、更安全,全智能、免运维的消息队列产品。
ApsaraMQ是阿里云提供的云消息队列产品体系,ApsaraMQ涵盖了RocketMQ、Kafka、RabbitMQ、MQTT以及轻量消息队列(原MNS)等多种消息队列产品,旨在满足企业多样化的需求。这一产品体系已累计服务超10万家企业,覆盖20多个行业场景。
消息队列架构的演进是一个伴随着技术发展和业务需求变化而不断优化的过程。架构演进从单机架构、本地存储架构、多级存储架构,到存算分离架构。主要是存储架构发生了改变,存储层进行了基于云的重新设计是绝大部分商业化消息产品重点投入的方向,重点在于分离是否彻底,解决成本和性能的矛盾,并保证计算弹性的轻量和扩容的可靠。
ApsaraMQ采用的就是存算分离架构。这种架构的优势在于,第一个是轻量级SDK,多语言适配更加容易;第二个是无状态消息代理,搭建无状态服务节点Proxy,通过LB进行服务暴露,分离Store存储节点,Proxy和Store节点分离部署、独立弹性;第三个是存储集群;最后一个是整体架构Kubernetes化,充分利用IaaS层资源弹性能力。
ApsaraMQ积极拥抱AI,面向AI应用的实时处理、面向AI应用的异步解耦、面向AI应用的消息负载、面向AI应用的消息弹性。ApsaraMQ这种面向AI原生应用的事件驱动架构,赋能AI应用蓬勃发展。
曹操出行通过使用ApasaraMQ for Kafka的全托管服务,简化了运维工作,无需投入系统级运维,并将集群的部署、升级、扩缩容、Topic迁移、leader rebalance等高频高危操作,简化到三个操作:购买集群、升级集群、集群升配,客户无需感知扩缩容和 Topic 迁移过程。
基于大模型的AI原生应用越来越多,后端开发者扮演着构建AI原生应用的重要力量;同时,以容器和微服务为代表的云原生技术已加速渗透到传统业务中,安全、稳定和效率成为大家关注的重点。
这个模块主要是聊聊AI原生应用在各行各业的发展情况,看看企业是怎么利用AI原生技术来加快业务创新,还有怎么在改进过程中提高效率、提升性能、降低成本和加强安全防护的。目的就是为了给将来成为一线工程师的同学们分享些实用的经验,让大家都能学学。
先来看看软件架构的演进历程,从单体架构、垂直架构,到SOA架构、微服务架构,再到云原生架构,演变到现如今的AI原生架构。从云原生到AI原生,网关也发生重大的变化。从早期的流量网关、ESB-企业服务总线,到微服务网关、云原生网关,发展到现在的AI网关。
AI原生应用架构面临些技术的新挑战,像API多、长连接、高延时和大宽带等问题。因此,如何设计一个能随时随地控制和管理应用流量,为企业AI调用提供更好的安全性的AI网关变得尤为重要。
问题来了,我们到底需要多少个网关?接入网关、流量网关、安全网关、业务网关、云原生网关、AI网关......等等。同时,还需要考虑网关的稳定性、安全性、是否方便集成、性能是否出众、是否智能化等问题。
Higress是一款云原生API网关,可以帮助开发者零代码构建AI原生应用。介绍下Higress生态,它是AI先行者,国内首发AI插件集,帮助用户低代码构建AI应用,阿里云内部PAI、百炼、通义已经全部接入Higress。生态丰富,AI领域Al Proxy对接了20+大模型厂商,且对微服务领域、容器领域和安全领域都做了集成。社区活跃,自2022.11开源以来累计发布版本35+。易于扩展,国内首发Wasm插件市场,支持C++/Rust/Go/AssemblyScript等多语言开发插件。最后一点,关键它还是开源的,同时还提供了商业版。
云原生 API 网关Higress,是基于真实的业务需求而孵化出来的。比如通义APP、模型服务灵积、人工智能平台PAI用的都是Higress网关。在AI应用、AI模型服务平台、AI模型等业务领域,都有很好的实践案例。
在分布式微服务开发领域,Spring Cloud Alibaba提供了一整套的微服务解决方案,成为技术选型的主流。在AI的浪潮下,Spring Cloud Alibaba积极拥抱AI技术,研发了Spring AI Alibaba项目。
Spring AI Alibaba重磅发布,项目也正式开源。Spring AI Alibaba开源项目基于Spring AI构建,是阿里云通义系列模型及服务在Java AI应用开发领域的最佳实践,提供高层次的AI API抽象与云原生基础设施集成方案,帮助开发者快速构建AI应用。可以说是,让Java开发者一步迈入AI原生时代。
作为未来的软件工程师,大家可能比较关注的是微服务的发展趋势是什么?第一个是标准化,微服务已经进入成熟发展阶段,常用的组件已历经多年版本迭代,如RocketMQ 5.0、Dubbo 3.3、Spring Cloud 2023、Nacos 2.4。第二个是多语言化,随着业务的多样性,微服务支持Java、Golang、Python、Rust等多语言SDK。第三个是高可用化,研发态、运行态、变更态,领域默认就高可用。
在微服务全景图里,绝大多数的组件都是由阿里提供的,像Dubbo、SCA、RocketMQ、Nacos、Sentienl、Seata、Higress等都是阿里的产品。阿里引领国内微服务架构,相关开源产品有60%市场份额。同时Spring Al Alibaba开源项目,可用于快速构建Spring AI标准应用,在AI场景中有着最佳的实践。更为重要的是,以上提到的有关阿里的组件或产品,都是开源免费的。
聊了这么多有关云原生和AI原生的技术,它们之间是相互依存的,通过云原生让应用场景更多注入AI,通过AI原生让更多云原生应用赋予智能。
想象一下,未来30年、50年或100年后由AI驱动的世界,会是怎样的?我不知道。身处在这个行业,我明明已经深刻意识到,一项真正具有革命性的技术,正汹涌的渗入这个时代。面对未知,普通人难免会感到惶恐、不安,甚至害怕。最后我借用《GPT时代人类再腾飞》书中的一段话来结束今天的讲演:“我们正在亲历前所未有的变革——互联网改变了信息传递的方式,指数级技术快速发展并颠覆商业世界,人工智能正在侵占越来越多的人类领地。面对这些变化,我们需要问自己:未来需要什么样的人才?答案是,成为终身学习者”。
谢谢大家!