前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[完整]AI+云原生应用开发 从设计到部署运维全链路实战与提效教程

[完整]AI+云原生应用开发 从设计到部署运维全链路实战与提效教程

原创
作者头像
坚强的企鹅904695682
发布2024-08-21 10:34:23
880
发布2024-08-21 10:34:23

一、为什么今天大家所期待的和当时 APP Store 出现时那样,AIGC 应用的蓬勃发展并没有出现?本质是 AI 的拐点还没有到。

第一个原因是大模型的理论研究还不够透彻,深度学习网络仍是一个黑盒。大家只是信仰 Scaling Law 会实现 AGI,不过这并不影响应用场景的落地。举个例子,历史上我们在没有研究透火的原理之前,其实已经用火来推动了人类的发展历程了。大模型发展至今,已经在代码工程、客服、信息搜索、设计等领域落地了大量生产场景。

第二个原因是算力限制和投入产出的考量。我不知道今天在场的多少家公司买了 GPU,在大模型上投入了多少费用,但是产出是否能带来足够的经济效益。好消息是各个云厂商大幅降低了大模型的训练和推理成本,很多公司的 ROI 就立马转正了。另外,AI Infra 在资源利用率、研发效率、业务稳定性上的成熟度远不如云原生的这套基础设施,也缺少开源、商业产品等带来的最佳实践。例如用 GPU 每次调用做一次搜索区间的成本更高,这些都对拐点的到来会产生影响。

第三个原因是合规性、价值观对齐、算法偏见和公平性等的约束。没有这些约束,大模型就会衍生出大量的社会问题、道德问题等。我们和做大模型落地的企业聊,好奇为什么你们在 AI 上落地了这么多场景,为啥外边看不到呢?原因就是要保证合规,放慢了应用上线的节奏。

二、大模型的四大技术驱动力,使得AI重塑软件成为可见的未来

驱动力1:万物皆可Embedding,泛化万物的通用机器智能表示

Embedding解决了文字、图片、声音、视频转化为一个可计算的token的问题,使得纯文本NLP快速演进到多模态大模型,对整个大模型和AI技术浪潮产生根本性的影响。

驱动力2:Transformer架构催生Scaling Law,统一了模型架构

过去经典模型没有通用性能力,解决的都是个性化问题,Transformer架构目前被证明是最有效的大模型架构,模型参数规模、数据规模、训练计算量的规模都会显著提升大模型的智力能力,它的演进是有确定性方向的。

驱动力3:从智能摩尔定律到场景摩尔定律,大模型成为通用生产力引擎

算力的演进,模型智力能力和模型场景泛化能力的演进,都符合摩尔定律,甚至在一定程度上,演进的速度超过了摩尔定律;就模型而言,解决的问题和适用的场景,随着时间就会自然获得,不需要在编程或者算法设计上做太多的处理。

驱动力4:LLM OS抽象了通用AI计算架构,使AI原生应用成为可能

LLM OS是以大模型为核心处理单元所构造的一种理论计算架构,业界基于此做了通用实现,证明了它有解决通用问题的能力。

三、云原生在人工智能领域的应用

云原生技术在人工智能领域得到了广泛应用,主要体现在以下几个方面:

数据处理:云原生技术可以实现大规模、高效的数据处理和存储,为人工智能技术提供了丰富的数据资源。

计算资源分配:云原生技术可以根据应用程序的需求动态地分配计算资源,实现应用程序的高效运行。

应用程序部署和管理:云原生技术可以实现应用程序的容器化和微服务架构,便于部署和管理。

四、AI与云原生的结合优势

随着科技的不断发展,AI与云原生的结合已经成为了一种趋势。这种结合具有多方面的优势,下面我们将详细介绍。

AI与云原生的结合能够满足大规模计算需求。AI训练和推理过程需要大量的计算资源,而云原生具有弹性伸缩的能力,可以根据需求自动增减计算资源。这使得AI模型能够在短时间内处理大量数据,提高模型的性能和准确性。

AI与云原生的结合能够实现AI模型的快速部署和更新。云原生架构中的容器化技术使得AI模型可以快速打包和部署,同时可以实现模型的快速更新和升级。这大大缩短了AI模型的部署和更新周期,提高了开发效率。

此外,AI与云原生的结合还提供了丰富的开发工具和服务。云原生平台提供了各种开发工具、框架和库,方便开发者构建和优化AI模型。这些工具和服务可以帮助开发者快速开发出高质量的AI模型,提高开发效率和质量。

AI与云原生的结合还具有高可用性和安全性。云原生平台具有高可用性和弹性伸缩的能力,可以保证AI模型的高可用性。同时,云原生平台还提供了安全机制,可以保护AI模型和数据的安全性。

五、kube-controller-manager 代码走读之 command

这里主要分析上面提到的 app.NewControllerManagerCommand() 这个函数和相关执行过程。这个函数是在 app 这个目录下的 controllermanager.go 这个文件中。

NewControllerManagerCommand 函数返回的是一个 cobra.Command 类型指针,里面主要的就是看 Run 这个方法,其它都是配置参数加载,解析,help 函数和使用函数注册。这个 Run 方法在后面执行 command.Execute() 的时候执行。Run 方法里面执行的还是一个 Run 函数,这个函数是在这个文件中定义的,这个函数也是 controller-manager 的主要函数,所有功能从此走起。

这个函数中首先做的是在多个 controller-manager 中进行选主,在 k8s 的所有组件中据说是除了 api-server 没有高可用外,其它的组件都利用 etcd 进行高可用了。所以 controller-manager 启动后首先也是进行选主,只有主服务才进行服务,其它状态的服务处在等待状态,等待争取主状态。选主之后主服务会启用正式的服务,代码如下,还是在 Run 函数中,Run 函数的最后代码就是这块了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
弹性伸缩
弹性伸缩(Auto Scaling,AS)为您提供高效管理计算资源的策略。您可设定时间周期性地执行管理策略或创建实时监控策略,来管理 CVM 实例数量,并完成对实例的环境部署,保证业务平稳顺利运行。在需求高峰时,弹性伸缩自动增加 CVM 实例数量,以保证性能不受影响;当需求较低时,则会减少 CVM 实例数量以降低成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档