导读
AIGC(AI Generated Content),即通过人工智能办法生成内容,是以后深度学习最热门的方向之一。其在绘画、写作等场景的利用也始终层出不穷,其中,AI绘画是大家关注和体验较多的方向。
Diffusion系列文生图模型能够实现AI绘画利用,其一经推出就受到宽泛关注,开启了一波“全民调教AI作画”的潮流,激发了大量的利用需要。与此同时,百度推出的常识加强跨模态大模型——文心ERNIE-ViLG 2.0在 AI 作画畛域获得新冲破。该模型在文本生成图像公开权威评测集MS-COCO和人工盲评上均超过了Stable Diffusion、DALL-E 2等模型,以后在该畛域获得了最好的成果,在语义可控性、图像清晰度、中国文化了解等方面均展现出了显著的劣势。
开发者和科技爱好者能够将文心 ERNIE-ViLG 2.0 API (wenxin.baidu.com/ernie-vilg)灵便不便地集成到产品中。同时,基于文心ERNIE-ViLG 2.0大模型,百度也推出AI艺术与创意辅助平台——文心一格(yige.baidu.com),以满足更多的人在AI作画方面的需要。
文心一格模型效果图~
AI绘画模型推理算力及显存需要随图像分辨率增大而指数级减少,同时图像生成须要循环采样数十次,产业落地动辄须要昂扬老本的部署集群,重大妨碍了AIGC模型大规模商业化落地。为此,百度飞桨始终致力于大模型的训练、压缩、推理端到端优化,实现低成本的模型部署上线,助力AIGC模型疾速产业落地。
飞桨深度优化的Stable Diffusion模型,在单卡NVIDIA A100(80G) 上推理速度和显存利用率全面超过同类产品,获得业界第一的当先劣势。百度自研中文AI绘画ERNIE-ViLG模型,在昆仑芯 R200(32GB) 卡上推理,全面超过同系列支流推理卡,并已胜利批量部署于文心一格创意平台。
GPU推理性能数据
下图展现了别离应用PaddlePaddle、TensorRT、AITemplate和Diffusers(PyTorch)4种深度学习框架或推理引擎对Stable Diffusion进行推理时的性能体现。能够看出,基于PaddlePaddle对Stable Diffusion进行推理时,512*512图像生成速度68.2 iters/s,实现 0.76s 出图。其推理速度是 Diffusers(PyTorch)的4倍,比TensorRT最优速度快7.9%,同时显存占用仅为TensorRT的43%。
昆仑芯 R200 性能数据
昆仑芯 R200 性能数据在dpm-25steps算法下,生成1024*1024图像时的推理速度相比同能力的支流推理卡快20%。同时,R200领有32G显存,可能生成更高分辨率的图片,能够推理更大的模型,为用户带了高性价比的抉择。
不同硬件跑ERNIE-ViLG的推理速度及显存占用比照
飞桨Stable Diffusion 模型效果图
疾速体验
Stable Diffusion训练推理全流程已在飞桨扩散模型工具箱中开源
- 参考链接
https://github.com/PaddlePaddle/PaddleNLP/tree/develop/ppdiffusers
同时,对于飞桨Stable Diffusion在GPU和 昆仑芯上的高性能部署,FastDeploy部署工具曾经提供了开箱即用的部署体验
- 参考链接
https://github.com/PaddlePaddle/FastDeploy/tree/develop/examples/multimodal/stable\_diffusion
与此同时,随着大模型利用的一直出圈,AIGC相干的利用落地需要也一直激增,因而,百度百舸联结飞桨团队将飞桨训推大模型的能力劣势与AI减速组件AIAK(AI Accelerate Kit)完满交融,造成全新产品“飞桨云原生大模型开发工具”,显著晋升了云用户大模型工作的开发和部署效率,并减速了生成式AI的工程化落地。作为业界首个通过全流程验证的大模型开发工具,飞桨云原生大模型开发工具不仅领有更极致的性能,还能够让开发者体验到千亿大模型的的分布式训练和推理性能。
备注阐明
- 百度百舸
AI异构计算平台,蕴含AI计算、AI存储、AI减速、AI容器四大外围套件,具备高性能、高弹性、高速互联、高性价比等个性。充沛吸取了百度异构计算平台多年的技术积攒,深度交融举荐、无人驾驶、生命科学、NLP等场景的实践经验,能为AI场景提供软硬一体解决方案,减速AI工程化落地。
- AIAK
联合飞桨与百度云百舸整体计划劣势联合推出的AI减速套件,用来减速基于飞桨等深度学习框架开发的AI利用,能极大晋升分布式训练和推理的性能,大幅减少异构资源应用效率。
- 飞桨云原生大模型开发工具
业界首个通过全流程残缺验证的大模型开发工具,撑持GPT-3、Bloom、Stable Diffusion等多个大模型训练、微调、压缩、推理的晦涩开发体验。
01 性能优化外围解读
飞桨原生推理库Paddle Inference的当先成果、基于飞桨框架当先的架构设计和针对Stable Diffsuion模型的深度优化,次要体现在如下几个方面:
Flash Attention
飞桨始终致力于大模型推理优化,反对多种通用Transformer类构造的高性能推理优化。在Stable Diffusion模型推理中,飞桨集成的高性能的Flash Attention kernel,通过将attention中的softmax计算进行拆解、分片计算,大量缩小推理过程中self-attention和cross-attention计算对显存的拜访次数,同时实现了推理减速和显存优化。
Norm交融
Norm是Stable Diffusion中U-Net罕用算子,次要分为LayerNorm和GroupNorm。LayerNorm和GroupNorm算子作为批规约运算,可能很好地和前后的elementwise类型、激活类型算子进行交融,打消算子间的显存拜访。飞桨对LayerNorm和GroupNorm与前后算子的4种不同pattern进行了交融,共交融了93个Norm构造,晋升了3%的推理性能。
混合Layout计算
通过对模型张量排布匹配优化,反对不同的Layout打消和合并U-Net中的转置操作,进步了推理速度同时也能升高了运行显存占用,共缩小了32次转置操作,带来了3~4%的推理性能晋升。
Scheduler优化
对PPDiffusers库中的scheduler运算逻辑进行了从新整合梳理,将scheduler.step中的GPU算子发射数量由约12个减小至7个,同时通过参数预计算的办法,打消了采样循环中scheduler运算的CPU计算以及GPU同步开销。
推理显存优化
通过飞桨框架的算子交融引擎解决,Stable Diffusion模型中U-Net模型的独立算子数量缩小60%,显存占用降落27%。针对U-Net模型的Layout优化打消了转置变换带来的额定显存耗费,可能使整体显存占用升高约19%。同时,针对ERNIE-ViLG 2.0文心AI作画大模型,飞桨框架提供了推理workspace复用技术,使ERNIE-ViLG 2.0模型显存占用降落37%,极大升高了ERNIE-ViLG 2.0文心AI作画大模型的部署老本。
基于飞桨原生推理库Paddle Inference的高性能架构设计,联合上述优化点,飞桨Stable Diffusion模型能实现在单卡80G A100(SXM4)上,512*512分辨率生成图像(50 iters)推理时延0.76s,推理速度达到68.2 iters/s,显存占用4.6G,显存占用方面和速度方面均为以后业界最优成果。
02 后续工作
飞桨在继续推动AIGC模型、AI对话模型等大模型的优化,联合飞桨框架训推一体的外围能力,公布更多训练、压缩、推理端到端优化的高性能产业级大模型,并继续打磨部署端到端计划,助力大模型更全面产业化,欢送各位开发者继续关注或反馈需要和倡议。
——END——
举荐浏览:
图片动画化利用中的动作合成办法
性能平台数据提速之路
采编式AIGC视频生产流程编排实际
百度工程师漫谈视频了解
百度工程师带你理解Module Federation
巧用Golang泛型,简化代码编写