APP下载

AIGC创新应用的云计算架构设计

2023-03-02

数字通信世界 2023年8期
关键词:算力调用架构

沈 上

(北京工商大学,北京 102488)

0 引言

AIGC(Artificial Intelligence Generated Content /AI-Generated Content,人工智能生成内容),一般认为是相对于PCG(专家生成内容)、UCG(用户生成内容)而提出的商业概念。AIGC有狭义和广义两种概念:狭义的AIGC是指利用AI技术自动生成内容的生产方式;广义的AIGC则是指生成式AI,像人类一样具备生成创造能力的AI技术,可以基于训练数据和生成算法模型,自主生成各种形式的内容和数据,包括但不限于文本、图像、音乐、视频、3D交互内容等,也可以开启科学新发现、创造新的价值和意义等[1],一般在技术上将其称为生成式AI。

GAN(对抗生成网络)、CLIP、Transformer、Diffusion Modle、预训练模型等技术可以被视为生成式AI,常被用于具体的工作领域构建AIGC创新应用,例如,在文本生成领域中,由GPT-3.5构建的ChatGPT项目、Notion.AI项目、微软NewBing项目;在图像生成领域中基于CLIP的DALL-E2项目、基于潜在扩散模型(LDM)的Stable Diffusion项目等。

在产业应用领域对于AIGC的要求是基于多模态的,即同一个模型能够将文本、图像、视频、声音等多种形态的信息作为输入和输出,在技术实现上往往将有相近似意义的多模态信息对应到相似的向量空间。

尽管大量研究人员和工程师在为实现通用人工智能开展工作,而从近年来的研究和工程实践趋势来看,尚未取得具有实用性的成果。在工程应用上往往采取协同多个专业能力突出的生成式AI构成工作流来实现具体场景的应用。由于这些项目并非针对AI算法、模型进行开发,而是利用现有的生成式AI进行应用开发,所以这类项目往往被称为AI创新应用。2023年硅谷科技企业孵化器Y Combinator的孵化项目超过40%属于AI创新应用,其中绝大部分大部分项目属于工程化应用。

1 关于AIGC创新应用

1.1 有代表性的AIGC项目

在YC投资项目中,有基于文本介绍的常常用于个性化市场营销领域的生成式AI模型Vellum、使用生成式人工智能为中小型企业制作数字营销材料的SpeedyBrand,另外也有CorgiAI这类预防金融诈骗的项目。使用大型语言模型,可以帮助大型Shopify商家处理支持请求的Yuma项目,也可以帮助私募股权公司自动完成尽职调查,以便他们能更快地完成交易的AiFlow等新兴项目。

目前,对信息技术领域影响巨大的生成式A I Github Copilot X Chat已经通过对话完成代码编写、Debug、注释、安全检查等能力,可以令编程人员从繁重的编码工作中解脱出来,把更多时间和精力放在实现编程目标与提高程序执行效率上。

基于Meta MMS、Whisper、Wave2lips等语音和图像的生成式AI模型,产生了大量服务于互联网内容创作者的项目(如D-ID和硅语等),代表了数字人AIGC创新应用[2]。

1.2 AIGC创新应用有什么样的工程特征

一般来说,AIGC创新应用依托开发者对于具体的工作或娱乐领域的深刻认知,简单利用生成式AI模型对行业或领域的某一个工作环节或工种进行大幅度的效率提升或流程改善。而使用的模型往往是大型企业或研究机构开源的模型或者调用生成式AI服务企业的API(应用程序接口),根据行业特点设计适合的用户交互界面,并设置按量付费的套餐供客户选择。

近一两年来,AI模型的参数量达到了千亿级别,鲜有创新应用自行训练大模型,往往是基于开源大模型进行精调(Finetune)。在实际项目运行中,自行部署模型的项目,对于算力的需求集中在推理资源上。

AIGC创新应用所提供的服务从技术结构上分析,几乎都是独立的事件或者线性的工作流,状态特性不明显,对于响应时间相对不敏感。AIGC创新应用的开发团队初期规模在4~11人左右,甚至有部分具有较高关注度的开源项目初期开发人员只有1~2人。开发人员的工作主要集中在模型精调和用户界面开发上,一旦出现较大的用户增长后,优先扩充的岗位为UI工程师、移动应用设计人员和云计算架构师。团队的核心技术水平较高,但技术管理水平在最初阶段通常不足以支撑对20人以上的团队进行技术管理。

算力在绝大部分情况下处于稀疏调度的状态,一旦出现高并发状态,请求集中度非常高。算力需求分布严重不均匀,对于算力、存储和带宽具有极高的弹性要求。

2 AIGC创新应用的云计算资源需求分析

(1)GPU算力(单位:ms)。作为AIGC项目的核心计算需求,一般用于模型的训练、精调、推理等方面。作为应用项目,客户访问项目提供的服务能力,GPU算力一般被用于推理,一般为Nvidia或AMD提供的企业级GPU,无图型显示能力,并且在云计算厂商环节实现了虚拟化,在绝大多数情况下,可以实现整数个核心的调用。一个用户单一操作对于GPU核心的调用时长介于200 ms~50 s之间。

(2)存储(单位:GB)。用于存储模型文件、参数文件、生成内容的输出文件以及用于生成内容的输入媒体。存储体积十分巨大,通常用于AIGC应用服务的文本生成图像的模型和参数文件体量在数10 GB~1 TB之间。

(3)CPU算力(单位:ms)。一般用于托管Web访问界面、App的API接口响应、用户数据库、用户认证和安全防护等计算场景。单用户单一操作对于CPU核心调用时长介于10~100 ms之间,有部分长时间调用能达到2 s,但该类型的操作一般都需要优化。

(4)带宽(单位:Mbps)。用于用户与服务端之间数据交换,当使用生成式AI的API调用时,带宽会用于同AI模型服务商进行交换数据。通常单用户触发操作的带宽最低需求为256 kbps。为保障用户体验,单用户数据传输带宽不得低于8 Mbps。许多项目在部署时会默认选择100 Mbps共享带宽,网络带宽高峰可能会导致用户访问速度下降,体验变差。而独享带宽的成本会高出许多(即使1 Mbps的价格高于100 Mbps的价格),但在网络高峰时期的表现更加稳定。

(5)内存(单位:MB·s)。根据优化情况不同和部署的服务器软件不同,倍率系数在3~20倍之间。单用户非核心应用操作产生的内存消耗,可根据云厂商去除基础内存消耗之后的经验数据计算,范围在700 kB·s~50 MB·s之间。

(6)显存(单位:GB·s)。主要用于AICG项目的核心业务内存需求,以生成512×512像素图为例,需要至少160 GB·s的显存时长。

(7)API Token(单位:Token)。调用AI模型服务商的API实现生成式功能,调用时长不参与计费,通常与生成内容的多少与消耗的Token相关,对话式文本生成的API与对话长度总有关,每一次发送的内容将包含该对话之前的所有内容。

3 实例分析

下面以Stable Diffusion为例说明改进型云计算架构设计。

①为提供系统稳定性,创建一个VPC专用网络。将实例放入VPC中,并在外围部署Web应用防火墙和DDoS高防。

②将用户数据库从实例中剥离,迁移到RDS服务中,将本地部署的Redis缓存迁移到内存数据中。

③将webUI与Stable-Diffusion分离,把用户交互服务与API等单独部署到一个容器服务中或者ECS中。并为ECS创建适应不同情况的弹性策略,为ECS开启快照服务并将其存储到对象存储的桶中。

④将Stable-Diffusion的模型和训练参数放置到NAS网络存储服务中,将用户生成的结果存放到对象存储中。

⑤在交付端可以采用弹性IP+API Getway服务为自有App和客户提供核心能力交付。

该架构优势:架构设计简单,减少了系统运维、应用程序服务器运维、数据库服务器运维等一些列专业运维人员的工作强度和岗位数量,并提供了可靠的初级安全保障。

该架构劣势:架构实施难度较大,各环节调优参数较多,需要专人专岗管理,否则容易出现管理漏洞。在具有高并发随机出现的稀疏资源消耗场景下,云资源消耗较多。

4 基于Serverless架构的设计——以功能即服务为核心FaaS

4.1 项目特性分析与设计目标

FaaS实例(13 GB左右的镜像)的冷启动时间通常在60 s以内,常见的业务运行时间也不会超过30 s,采用FaaS实例可以有效解决GPU稀疏访问和突然高并发等问题。

孩子的情感发展与智力发展是相辅相成的,一个孩子的认知能力,需要在母婴关系中得到发现和引导。即使一个孩子具有超前的智力潜力,那也需要他的母亲或者主要养育者去发现。

AIGC创新应用的团队所掌握的编程语言通常为Python,部分人员能够运用Javascript进行Web应用开发。尽管大多数用户交付形式为Web,也不乏大量成功的AIGC创新项目面向开发者交付API。利用EIP(弹性IP)与API Getway提供一套内外通用、包含认证和访问资源管理能力的API系统非常必要。

项目持续性和扩展性都存在极大变数,所以尽量利用云厂商提供的Serverless类型的服务,比如Mysql Serverless数据、表格存储、NAS存储、内存数据库、对象存储等服务构建[3]。

设计目标为高弹性、高扩展、低成本、容易实现技术管理。

4.2 架构设计实例分析——以Stable Diffusion为例

函数计算GPU实例提供项目运行容器,网络存储服务NAS提供模型存储,使用弹性IP+API getway提供AIGC能力交付、认证和费用计算。其他安全方面参考上一节的改进型云计算架构设计。具体操作过程如下。

①在函数计算管理界面中,创建Python应用。选择Stable Diffusion应用,拉起镜像即可(可以手动选择开源的原始镜像)。

②为函数计算提供访问授权。

③选择部署函数。

④启用webUI。

(1)首次生成一张图所耗费的资源(冷启动)。

GPU费用:16×(60+5) = 1040 GB-S

CPU费用:8×(60+5) = 520

内存费用:32×(60+5) = 2080 GB-S

其中,60 s冷启动,5 s生成一张图。

(2)后续生成一张图所耗费的资源(热启动)。

GPU费用:16×(5) = 80 GB-S

CPU费用:8×5 = 40

内存费用:32×5 = 160 GB-S

其中,5 s秒生成一张图。

4.3 工程优势

该架构对于系统设计的要求比传统云计算架构更高,但对于参与项目开发的人员的DevOps能力要求大为降低,并且给出了最有效的持续优化指标。由于采用函数工作流方式组织不同功能环节,实现了全链路解耦,为热更新、灰度版本发布等开发运维需求提供了成本极低的解决方式[4]。

由于无须关心资源调度问题和性能优化问题,只要单用户访问能够正常,每个实例可承载并发数设置到不影响体验的状态后,就无须进行调整,系统会自动根据需要进行扩容。

4.4 功能扩展

如果需要在上述工作流中增加Wave2lip的函数部署,则可以在此基础上实现生成图像中的人物开口说话的能力。同样,在需要调用第三方API时,也只需要增加响应函数并将其部署到工作流中即可。比如调用语音转文字的功能即可立即为应用添加响应的功能。

但需要注意,工作流中的各函数在非冷启动状态下的延时约为10~200 ms,冷启动时需要加上响应函数的冷启动时间,要注意非异步任务的工况下,总体拉起时间不要超过16 s。

5 AIGC创新应用的架构决策分析

对应AIGC创新应用的不同阶段,可以采用不同的架构形态。比如,在功能验证阶段,仅考虑设计功能在技术上是否具有可行性,开源时是否便于传播可以考虑基于容器的单一架构部署和分发,因为基于容器进行的验证只需要适度调整即可完成自定义镜像的函数计算部署。

在面临项目商业转化的早中期,由于核心算力调用极度稀疏且可能出现突发的高并发情况,可以采用基于FaaS的架构设计。这个阶段在商业运作上可以持续相当长时间,项目用户逐渐增多或暴增都不会影响到开发团队的持续研发,开发团队可以将精力用到功能完善和更新上。

随着用户增加,项目中的核心算力稀疏性问题改善后,可以在FaaS的不同环节进行PaaS、IaaS资源的替换。伴随着团队的持续扩大,原有的架构也会逐渐走向适合自身需求的混合架构[2]。

从商业适应性上看,AICG创新应用采用基于FaaS和BaaS(Backend as a Service,后端即服务)结合的Serverless形式,可以有效降低前期技术风险和团队扩张风险,并且由于FaaS和BaaS的计费特性,能够计算出用户的每一个操作所消耗的全部云资源费用,对于财务规划极其友好,提供了随收入一个线性增长的支出预期。对于根据用量收费的AIGC项目来说,这样的技术架构提供了一个可预期的财务模型。

尽管在用户增长到一定数量时,比如,某项目的GPU资源访问稀疏性低于20%以后,采用Serverless架构的系统云资源成本已经高出传统架构了,但由于技术团队只服务于核心功能和用户交互,实际成本要结合团队扩张后的人员成本与管理水平才能计算,然而这部分支出是可以计算,但收益却无法计算。在没有出现客户请求出现多个数量级变化时,不适合贸然进行架构转换。

关于云计算厂商绑定问题,几乎所有基于FaaS和BaaS结合的Serverless架构都面临厂商绑定风险,因为在进行底层调用的时候不可避免地使用不同厂商所提供的底层接口。但由于近年来几乎主流的云计算厂商都开始提供FaaS函数计算服务和函数工作流服务,使得开源的FaaS中间件也逐步开始成熟,并且主流的云计算厂商也参与到中间件的支持中,使得迁移成本大幅度降低,如果一开始就采取基于Serverless架构的多云部署,则完全不需要此类担忧,更可以根据各厂商的动态成本实例对于访问流量进行调整,以实现访问速度和成本的有效控制。

6 结束语

传统云计算架构提供了较强的灵活性且具有人力资源成熟的优点,而Serverless架构虽然不能满足所有场景的需求(实时性AIGC),但包括准实时任务、延时任务、异步任务等时间特性场景下的AIGC创新应用适用性很高,成本收益比提高明显,并且该类型架构可以在AIGC类项目的大部分产品生命周期中具有综合优势。■

猜你喜欢

算力调用架构
多方求解智能时代算力挑战
这个第二不一般
卫星通信在算力网络中的应用研究
基于FPGA的RNN硬件加速架构
中国电信董事长柯瑞文:算力成为数字经济的主要生产力
功能架构在电子电气架构开发中的应用和实践
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
LSN DCI EVPN VxLAN组网架构研究及实现
基于系统调用的恶意软件检测技术研究