1、117数字通信世界2023.08DCWTechnology Application技术应用0 引言AIGC(Artificial Intelligence Generated Content/AI-Generated Content,人工智能生成内容),一般认为是相对于PCG(专家生成内容)、UCG(用户生成内容)而提出的商业概念。AIGC有狭义和广义两种概念:狭义的AIGC是指利用AI技术自动生成内容的生产方式;广义的AIGC则是指生成式AI,像人类一样具备生成创造能力的AI技术,可以基于训练数据和生成算法模型,自主生成各种形式的内容和数据,包括但不限于文本、图像、音乐、视频、3D交互内容等
2、,也可以开启科学新发现、创造新的价值和意义等1,一般在技术上将其称为生成式AI。GAN(对抗生成网络)、CLIP、Transformer、Diffusion Modle、预训练模型等技术可以被视为生成式AI,常被用于具体的工作领域构建AIGC创新应用,例如,在文本生成领域中,由GPT-3.5构建的ChatGPT项目、Notion.AI项目、微软NewBing项目;在图像生成领域中基于CLIP的DALL-E2项目、基于潜在扩散模型(LDM)的Stable Diffusion项目等。在产业应用领域对于AIGC的要求是基于多模态的,即同一个模型能够将文本、图像、视频、声音等多种形态的信息作为输入和输
3、出,在技术实现上往往将有相近似意义的多模态信息对应到相似的向量空间。尽管大量研究人员和工程师在为实现通用人工智能开展工作,而从近年来的研究和工程实践趋势来看,尚未取得具有实用性的成果。在工程应用上往往采取协同多个专业能力突出的生成式AI构成工作流来实现具体场景的应用。由于这些项目并非针对AI算法、模型进行开发,而是利用现有的生成式AI进行应用开发,所以这类项目往往被称为AI创新应用。2023年硅谷科技企业孵化器Y Combinator的孵化项目超过40%属于AI创新应用,其中绝大部分大部分项目属于工程化应用。AIGC创新应用的云计算架构设计沈 上(北京工商大学,北京 102488)摘要:文章介
4、绍了AIGC创新应用的云计算架构设计。传统云计算架构提供了较强的灵活性且具有人力资源成熟的优点,而基于Serverless架构提供了高弹性、高扩展、低成本、容易实现技术管理的优势。关键词:AIGC;云计算;Serverless架构设计;AI图像生成doi:10.3969/J.ISSN.1672-7274.2023.08.038中图分类号:TN 181 文献标志码:A 文章编码:1672-7274(2023)08-0117-04Serverless Architecture Design for AIGCs Innovative ApplicationsSHEN Shang(Beijing Te
5、chnology and Business University,Beijing 102488,China)Abstract:This paper introduces the cloud computing architecture design of AIGCs innovative application,the traditional cloud computing architecture provides strong flexibility and the advantages of mature human resources,while the serverless-base
6、d architecture provides the advantages of high elasticity,high scalability,low cost and easy to realize technical management.Key words:AIGC;cloud computing;serverless architecture design;AI image generation作者简介:沈 上(2002-),男,汉族,江苏人,本科,研究方向为机器学习。118DIGITCW2023.08DIGITCW技术 应用Technology Application1 关于A
7、IGC创新应用1.1 有代表性的AIGC项目在YC投资项目中,有基于文本介绍的常常用于个性化市场营销领域的生成式AI模型Vellum、使用生成式人工智能为中小型企业制作数字营销材料的SpeedyBrand,另外也有CorgiAI这类预防金融诈骗的项目。使用大型语言模型,可以帮助大型Shopify商家处理支持请求的Yuma项目,也可以帮助私募股权公司自动完成尽职调查,以便他们能更快地完成交易的AiFlow等新兴项目。目前,对信息技术领域影响巨大的生成式AI Github Copilot X Chat已经通过对话完成代码编写、Debug、注释、安全检查等能力,可以令编程人员从繁重的编码工作中解脱出
8、来,把更多时间和精力放在实现编程目标与提高程序执行效率上。基于Meta MMS、Whisper、Wave2lips等语音和图像的生成式AI模型,产生了大量服务于互联网内容创作者的项目(如D-ID和硅语等),代表了数字人AIGC创新应用2。1.2 AIGC创新应用有什么样的工程特征一般来说,AIGC创新应用依托开发者对于具体的工作或娱乐领域的深刻认知,简单利用生成式AI模型对行业或领域的某一个工作环节或工种进行大幅度的效率提升或流程改善。而使用的模型往往是大型企业或研究机构开源的模型或者调用生成式AI服务企业的API(应用程序接口),根据行业特点设计适合的用户交互界面,并设置按量付费的套餐供客户
9、选择。近一两年来,AI模型的参数量达到了千亿级别,鲜有创新应用自行训练大模型,往往是基于开源大模型进行精调(Finetune)。在实际项目运行中,自行部署模型的项目,对于算力的需求集中在推理资源上。AIGC创新应用所提供的服务从技术结构上分析,几乎都是独立的事件或者线性的工作流,状态特性不明显,对于响应时间相对不敏感。AIGC创新应用的开发团队初期规模在411人左右,甚至有部分具有较高关注度的开源项目初期开发人员只有12人。开发人员的工作主要集中在模型精调和用户界面开发上,一旦出现较大的用户增长后,优先扩充的岗位为UI工程师、移动应用设计人员和云计算架构师。团队的核心技术水平较高,但技术管理水
10、平在最初阶段通常不足以支撑对20人以上的团队进行技术管理。算力在绝大部分情况下处于稀疏调度的状态,一旦出现高并发状态,请求集中度非常高。算力需求分布严重不均匀,对于算力、存储和带宽具有极高的弹性要求。2 AIGC创新应用的云计算资源需求分析(1)GPU算力(单位:ms)。作为AIGC项目的核心计算需求,一般用于模型的训练、精调、推理等方面。作为应用项目,客户访问项目提供的服务能力,GPU算力一般被用于推理,一般为Nvidia或AMD提供的企业级GPU,无图型显示能力,并且在云计算厂商环节实现了虚拟化,在绝大多数情况下,可以实现整数个核心的调用。一个用户单一操作对于GPU核心的调用时长介于200
11、 ms50 s之间。(2)存储(单位:GB)。用于存储模型文件、参数文件、生成内容的输出文件以及用于生成内容的输入媒体。存储体积十分巨大,通常用于AIGC应用服务的文本生成图像的模型和参数文件体量在数10 GB1 TB之间。(3)CPU算力(单位:ms)。一般用于托管Web访问界面、App的API接口响应、用户数据库、用户认证和安全防护等计算场景。单用户单一操作对于CPU核心调用时长介于10100 ms之间,有部分长时间调用能达到2 s,但该类型的操作一般都需要优化。(4)带宽(单位:Mbps)。用于用户与服务端之间数据交换,当使用生成式AI的API调用时,带宽会用于同AI模型服务商进行交换数
12、据。通常单用户触发操作的带宽最低需求为256 kbps。为保障用户体验,单用户数据传输带宽不得低于8 Mbps。许多项目在部署时会默认选择100 Mbps共享带宽,网络带宽高峰可能会导致用户访问速度下降,体验变差。而独享带宽的成本会高出许多(即使1 Mbps的价格高于100 Mbps的价格),但在网络高峰时期的表现更加稳定。(5)内存(单位:MBs)。根据优化情况不同和部署的服务器软件不同,倍率系数在320倍之间。单用户非核心应用操作产生的内存消耗,可根据云厂商去除基础内存消耗之后的经验数据计算,范围在700 kBs50 MBs之间。(6)显存(单位:GBs)。主要用于AICG项目的核心业务内
13、存需求,以生成512512像素图为例,需要至少160 GBs的显存时长。119数字通信世界2023.08DCWTechnology Application技术应用(7)API Token(单位:Token)。调用AI模型服务商的API实现生成式功能,调用时长不参与计费,通常与生成内容的多少与消耗的Token相关,对话式文本生成的API与对话长度总有关,每一次发送的内容将包含该对话之前的所有内容。3 实例分析下面以Stable Diffusion为例说明改进型云计算架构设计。为提供系统稳定性,创建一个VPC专用网络。将实例放入VPC中,并在外围部署Web应用防火墙和DDoS高防。将用户数据库从实
14、例中剥离,迁移到RDS服务中,将本地部署的Redis缓存迁移到内存数据中。将webUI与Stable-Diffusion分离,把用户交互服务与API等单独部署到一个容器服务中或者ECS中。并为ECS创建适应不同情况的弹性策略,为ECS开启快照服务并将其存储到对象存储的桶中。将Stable-Diffusion的模型和训练参数放置到NAS网络存储服务中,将用户生成的结果存放到对象存储中。在交付端可以采用弹性IP+API Getway服务为自有App和客户提供核心能力交付。该架构优势:架构设计简单,减少了系统运维、应用程序服务器运维、数据库服务器运维等一些列专业运维人员的工作强度和岗位数量,并提供了
15、可靠的初级安全保障。该架构劣势:架构实施难度较大,各环节调优参数较多,需要专人专岗管理,否则容易出现管理漏洞。在具有高并发随机出现的稀疏资源消耗场景下,云资源消耗较多。4 基于Serverless架构的设计 以功能即服务为核心FaaS4.1 项目特性分析与设计目标FaaS实例(13 GB左右的镜像)的冷启动时间通常在60 s以内,常见的业务运行时间也不会超过30 s,采用FaaS实例可以有效解决GPU稀疏访问和突然高并发等问题。AIGC创新应用的团队所掌握的编程语言通常为Python,部分人员能够运用Javascript进行Web应用开发。尽管大多数用户交付形式为Web,也不乏大量成功的AIG
16、C创新项目面向开发者交付API。利用EIP(弹性IP)与API Getway提供一套内外通用、包含认证和访问资源管理能力的API系统非常必要。项目持续性和扩展性都存在极大变数,所以尽量利用云厂商提供的Serverless类型的服务,比如Mysql Serverless数据、表格存储、NAS存储、内存数据库、对象存储等服务构建3。设计目标为高弹性、高扩展、低成本、容易实现技术管理。4.2 架构设计实例分析以Stable Diffusion 为例函数计算GPU实例提供项目运行容器,网络存储服务NAS提供模型存储,使用弹性IP+API getway提供AIGC能力交付、认证和费用计算。其他安全方面参
17、考上一节的改进型云计算架构设计。具体操作过程如下。在函数计算管理界面中,创建Python应用。选择Stable Diffusion应用,拉起镜像即可(可以手动选择开源的原始镜像)。为函数计算提供访问授权。选择部署函数。启用webUI。根据实际消耗计费,不需要进行实例预留,该项目冷启动加第一幅图完成耗时65 s,此后每幅图耗时5 s。无须担心突发的高并发,也无需为空闲资源支付费用,持续生成图像费用约为0.1元/张。其中消耗情况如下。(1)首次生成一张图所耗费的资源(冷启动)。GPU费用:16(60+5)=1040 GB-SCPU费用:8(60+5)=520内存费用:32(60+5)=2080 G
18、B-S其中,60 s冷启动,5 s生成一张图。(2)后续生成一张图所耗费的资源(热启动)。GPU费用:16(5)=80 GB-SCPU费用:85=40内存费用:325=160 GB-S其中,5 s秒生成一张图。4.3 工程优势该架构对于系统设计的要求比传统云计算架构更高,但对于参与项目开发的人员的DevOps能力要求大为降低,并且给出了最有效的持续优化指标。由于采用120DIGITCW2023.08DIGITCW技术 应用Technology Application函数工作流方式组织不同功能环节,实现了全链路解耦,为热更新、灰度版本发布等开发运维需求提供了成本极低的解决方式4。由于无须关心资源
19、调度问题和性能优化问题,只要单用户访问能够正常,每个实例可承载并发数设置到不影响体验的状态后,就无须进行调整,系统会自动根据需要进行扩容。4.4 功能扩展如果需要在上述工作流中增加Wave2lip的函数部署,则可以在此基础上实现生成图像中的人物开口说话的能力。同样,在需要调用第三方API时,也只需要增加响应函数并将其部署到工作流中即可。比如调用语音转文字的功能即可立即为应用添加响应的功能。但需要注意,工作流中的各函数在非冷启动状态下的延时约为10200 ms,冷启动时需要加上响应函数的冷启动时间,要注意非异步任务的工况下,总体拉起时间不要超过16 s。5 AIGC创新应用的架构决策分析对应AI
20、GC创新应用的不同阶段,可以采用不同的架构形态。比如,在功能验证阶段,仅考虑设计功能在技术上是否具有可行性,开源时是否便于传播可以考虑基于容器的单一架构部署和分发,因为基于容器进行的验证只需要适度调整即可完成自定义镜像的函数计算部署。在面临项目商业转化的早中期,由于核心算力调用极度稀疏且可能出现突发的高并发情况,可以采用基于FaaS的架构设计。这个阶段在商业运作上可以持续相当长时间,项目用户逐渐增多或暴增都不会影响到开发团队的持续研发,开发团队可以将精力用到功能完善和更新上。随着用户增加,项目中的核心算力稀疏性问题改善后,可以在FaaS的不同环节进行PaaS、IaaS资源的替换。伴随着团队的持
21、续扩大,原有的架构也会逐渐走向适合自身需求的混合架构2。从商业适应性上看,AICG创新应用采用基于FaaS和BaaS(Backend as a Service,后端即服务)结合的Serverless形式,可以有效降低前期技术风险和团队扩张风险,并且由于FaaS和BaaS的计费特性,能够计算出用户的每一个操作所消耗的全部云资源费用,对于财务规划极其友好,提供了随收入一个线性增长的支出预期。对于根据用量收费的AIGC项目来说,这样的技术架构提供了一个可预期的财务模型。尽管在用户增长到一定数量时,比如,某项目的GPU资源访问稀疏性低于20%以后,采用Serverless架构的系统云资源成本已经高出传
22、统架构了,但由于技术团队只服务于核心功能和用户交互,实际成本要结合团队扩张后的人员成本与管理水平才能计算,然而这部分支出是可以计算,但收益却无法计算。在没有出现客户请求出现多个数量级变化时,不适合贸然进行架构转换。关于云计算厂商绑定问题,几乎所有基于FaaS和BaaS结合的Serverless架构都面临厂商绑定风险,因为在进行底层调用的时候不可避免地使用不同厂商所提供的底层接口。但由于近年来几乎主流的云计算厂商都开始提供FaaS函数计算服务和函数工作流服务,使得开源的FaaS中间件也逐步开始成熟,并且主流的云计算厂商也参与到中间件的支持中,使得迁移成本大幅度降低,如果一开始就采取基于Serve
23、rless架构的多云部署,则完全不需要此类担忧,更可以根据各厂商的动态成本实例对于访问流量进行调整,以实现访问速度和成本的有效控制。6 结束语传统云计算架构提供了较强的灵活性且具有人力资源成熟的优点,而Serverless架构虽然不能满足所有场景的需求(实时性AIGC),但包括准实时任务、延时任务、异步任务等时间特性场景下的AIGC创新应用适用性很高,成本收益比提高明显,并且该类型架构可以在AIGC类项目的大部分产品生命周期中具有综合优势。参考文献1 詹新惠AIGC意味着什么J青年记者,2022,No.740(24):125.2 祝智庭,戴岭,胡姣高意识生成式学习:AIGC技术赋能的学习范式创新J电化教育研究,2023,44(06):5-14.3 杨柏蔼,赵山,刘芳无服务器计算技术研究综述J计算机工程与科学,2022,44(04):611-619.4 张国生基于无服务器架构的云原生应用软件研究J中国电子科学研究院学报,2022,17(02):155-161.