共计 3385 个字符,预计需要花费 9 分钟才能阅读完成。
导读
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 泛型,简化代码编写