第五代英特尔® 至强® 可扩展处理器助火山引擎云服务器加速文生图模型推理
英特尔技术汇
编辑于 2024年07月31日 10:54

  01 概述

  文本-图像生成(文生图)模型代表了人工智能 (AI) 技术的创作成就,在该模型中,用户输入对图片的描述文字后,即可获得由AI生成的虚拟图片,其中不少图片在拟真性、感染力等方面几乎可以媲美真实图片。近两年,文生图模型得到了快速的发展,并在艺术创造、娱乐、市场宣传等领域展现了人工智能内容生成 (AIGC) 的巨大魅力。对于企业而言,要想推动文生图模型在业务中的落地,一个重要的挑战是解决模型推理所带来的性能、总体拥有成本 (TCO) 等方面的挑战。   火山引擎在第三代 g3i 实例上搭载第五代英特尔® 至强® 可扩展处理器,验证了 SDXLTurbo 模型推理加速方案。该方案可利用第五代英特尔® 至强® 可扩展处理器内置的英特尔® 高级矩阵扩展(英特尔® AMX)等高级硬件能力,并通过 Intel® Extension for PyTorch (IPEX) 框架进行优化,可显著提升 SDXL-Turbo 模型的推理性能,助力用户快速搭建敏捷、高效、高性价比的文生图应用。 ​ “在SDXL Turbo这一流行的文生图模型中,我们验证了基于第五代英特尔® 至强® 可扩展处理器的火山引擎通用云服务器的卓越性能,在通用云服务器上为用户提供了灵活、经济的推理算力服务。我们将与英特尔携手,进一步探索火山引擎通用云服务器在更多模型推理中的性能潜力,助力企业的数智化变革。”

— 李越渊 火山引擎 IAAS 产品负责人  

“人工智能已经成为驱动千行百业创新的关键动能,尤其是大模型技术的发展与应用,极大地拓展了我们对于人工智能的想象空间。英特尔将基于端到端的人工智能产品与技术组合,与火山引擎等伙伴强化人工智能生态的构建,从而助力用户构建起高性能、高扩展、高经济性的算力底座,加速释放人工智能的价值。”

— 魏彬 英特尔中国区数据中心软件生态总监 数据中心与人工智能事业部  

    02 挑战:文生图模型推理需降低算力成本并提升灵活性

  作为大模型最火热的应用方向之一,文生图正在掀起 AIGC 应用变革的浪潮,展示了通用人工智能的光明前景。《中国 AIGC 文生图产业白皮书 2023》指出, 2023 年底,使用 AI 文生图的网民将达到 5000 万;预计到 2025 年 AI 文生图市场将正式进入商业模式成立期,从 2026 年开始进入规模增长的爆发期,并在 2027 年左右接近千亿级市场规模1。 ​ 从技术层面而言,文生图模型主要可以分为生成对抗模型(GAN)、变分自动编码器(VAE)、流模型(Flow based Model)、扩散模型 (Diffusion Model) 等技术路径,其中,扩散模型是如今应用最广泛的文生图模型,其基本原理在于从随机噪声开始,逐步细化并不断去除噪音,从而不断接近理想的生成结果。作为扩散模型的代表, Stable Diffusion 使用文本编码器将文本输入转换为一个向量表示,随后使用扩散模型将随机噪声图像逐渐变换为目标图像,在此过程中模型利用文本向量和噪声图像作为条件输入,给出每一步变换的概率分布,以向目标图像收敛,随后通过超分辨率技术增强图像质量。 ​ 部署Stable Diffusion等文生图模型已经成为企业拓展AI服务的重要路径之一,但要真正推动文生图模型的部署,还需要解决以下挑战: ​ • 首先,企业需要关注文生图模型带来的模型推理成本。尽管典型的文生图模型参数量可低至 1B 左右,单次生成的算力要求不高。但是考虑到采用文生图应用的用户数量庞大,图片生成需求旺盛(每天可达到数十万乃至数百万张图片),由此带来了巨大的推理成本。 ​ • 其次,部分文生图模型只能依赖GPU等特定的设备进行推理,在如今 AI 需求爆发式增长的今天, AI 算力出现普遍的紧缺,专用的 AI 服务器部署门槛提升。越来越多的用户希望能够使用通用的云服务器来进行模型推理,从而加快模型上线速度并提升资源灵活性。  

03 解决方案:第五代英特尔® 至强® 可扩展处理器助力火山引擎云服务器加速文生图推理性能

  火山引擎云服务器是一种安全稳定、可弹性伸缩的云计算服务,用户可以根据业务需要实时启用和增减计算资源,有效降低 IT 维护成本,助力核心业务增长。火山引擎第三代企业级实例搭载最新的第五代英特尔® 至强® 可扩展处理器,结合火山引擎自研最新 DPU 架构,计算、网络及存储性能较上一代实例均实现了大幅提升。   第五代英特尔® 至强® 可扩展处理器拥有更可靠的性能,更出色的能效。它在运行各种工作负载时均可实现显著的每瓦性能增益,在 AI、数据中心、网络和科学计算的性能和总体拥有成本(TCO)方面亦有更出色的表现。相较上一代产品,第五代英特尔® 至强® 可扩展处理器可在相同功耗范围内提供更高的算力和更快的内存。此外,它与上一代产品的软件和平台兼容,因此部署新系统时可大大减少测试和验证工作。

图 1. 第五代英特尔® 至强® 可扩展处理器具备更强大性能

 

  第五代英特尔® 至强® 可扩展处理器每个内核都具备 AI 加速功能,无需添加独立加速器,就可处理要求严苛的 AI 工作负载,包括对参数量多达 200 亿的模型进行推理和调优7。对于 AI 任务,除了利用英特尔® AMX 加速器之外,火山引擎第三代云服务器还能够与 Intel® Extension for PyTorch (IPEX) 结合,提升 AI 性能。  

图 2. 第五代英特尔® 至强® 可扩展处理器的丰富特性   针对通用负载以及 AI 负载,火山引擎第三代弹性计算实例分别进行了性能测试。   火山引擎第三代弹性计算实例实现高达 1.42 倍的应用性能提升8   火山引擎进行的测试显示(见图3),通过搭载第五代英特尔®至强®可扩展处理器,相比第四代英特尔®至强®可扩展处理器,火山引擎第三代弹性计算实例的性能提升到最高1.42倍9。  

图 3. 火山引擎第三代弹性计算实例在不同代处理器上应用性能比较

 

SDXL 文生图模型在火山引擎 g3i 实例上从 FP 32 转换为 BF 16 后性能提升到超过 3.62 倍10 除了高性能硬件之外,英特尔还为 AI 模型训练、推理等应用提供了一系列基于 PyTorch 框架的软件优化措施。这些优化被集成在英特尔的 Intel® Extension for PyTorch 开源软件库中,旨在进一步提升模型的性能和效率。 ​ Intel® Extension for PyTorch 是英特尔发起的一个开源扩展项目,它基于 PyTorch 的扩展机制实现,旨在通过提供额外的软件优化充分发挥硬件特性,帮助用户在原生 PyTorch 的基础上显著提升英特尔® 硬件(如 CPU 和 GPU)上的深度学习推理计算和训练性能。通过扩展, PyTorch 用户将能更加及时地受益于英特尔硬件的最新功能,并在第一时间体验软件优化带来的卓越性能和部署便捷性。  

图 4. Intel® Extension for PyTorch 框架   通过 Intel® Extension for PyTorch,用户可以快速将代码迁移到多元化的 XPU 中运行,无需繁琐的代码开发工作。目前,Intel® Extension for PyTorch 配合 PyTorch,可支持 PyTorch 框架下 90% 的主流模型,其中深度优化模型有 50+ 以上。用户只需要从 Hugging Face 拉取模型,加载到 PyTorch 框架中,通过简单几步完成 BF16 混合精度转换,模型就可以在保持精度的同时在 CPU 上高效部署。其次, Intel® Extension for PyTorch 实现了融合的 ROPE (Fused Rotary Positional Embeddings) 操作,可以减少计算的复杂性并提高模型的运行效率。此外, Intel® Extension for PyTorch还支持FP32和 BF16的prepacked TPP Linear (Tensor Processing Primitives),这是一种高效的线性代数运算库,专为高性能计算场景设计。   针对图像生成等内存密集型操作,火山引擎云服务器通过安装高性能内存分配库,能够加速内存操作并使之能在 CPU 核之间并行处理。jemalloc 和 tcmalloc 是火山引擎两个常用的内存优化库,有助于针对特定工作负载进行调优,如最大化CPU利用率。   火山引擎与英特尔携手,在火山引擎 g3i 实例上,结合第五代英特尔® 至强® 可扩展处理器 AI 加速指令 AMX-BF16 以及基于其上的 Intel® Extension for PyTorch 框架优化,显著提升了 AI 推理性能。目前,该方案已经在 SDXL-Turbo 模型上得到成功验证。   Stable Diffusion XL (SDXL) Turbo 是基于 SDXL 1.0 的蒸馏版本,专为实时合成的生图场景服务。它通过一种新的蒸馏技术实现了卓越的性能,使单步图像生成具有更高的质量,将所需的步骤数量从 50 步减少到仅为 1 步。简而言之, SDXL Turbo 是 SDXL 1.0 的一个蒸馏版本,专为实时合成而训练。   火山引擎测试了基于第五代英特尔® 至强® 可扩展处理器的 g3i 运行 Stable Diffusion XL (SDXL) Turbo 推理的性能,在生成图片分辨率为 1024x1024 和 512x512 时,测试数据如图5 所示,在将模型数据格式从 FP32 转化为 BF16 之后,性能相比 FP 32 提升到超过 3.62 倍11。  

图 5. SDXL Turbo 推理性能测试     图6显示了在不同精度下生成的两幅图像。从中可以看出, BF16 精度下生成的图像相比 FP32 精度,图片画质基本没有损失,可以满足实际工作需要。  

图 6. FP32 和 BF16 精度下生成的图像  

  04 收益

  基于第五代英特尔® 至强® 可扩展处理器的火山引擎云服务器被证明能够加速 SDXL Turbo 等文生图模型的推理,为用户带来以下收益:

• 通过低成本、易获得的通用云服务器,快速创建文生图服务,同时能够实现敏捷的资源扩展,从而提升投资回报率。

• 在基于 CPU 的通用云服务器上运行模型推理,避免了对于专用加速器的依赖,在AI策略方面获得更高的主动性。

• 除了模型推理之外,该云服务器还能够高效运行其它业务,具备更高的扩展性。

    05 展望

  英特尔与火山引擎在文生图模型推理的合作成果证明,通过采用基于第五代英特尔® 至强® 可扩展处理器的通用云服务器,并利用 Intel® Extension for PyTorch 等工具进行软件层面的优化,能够显著提升文生图模型的推理速度。用户无需部署专门的 AI 服务器就能够满足中小规模的模型推理需求,加速 AI 战略的实施。 ​ 英特尔已经提供了端到端的全栈 AI 产品与技术,用户可以在最新英特尔 CPU、 GPU 和 AI 加速器上测试、部署 AI 解决方案。同时,英特尔也将继续深化与火山引擎的合作,协力构建更加开放、活跃的 AI 生态,探索新一代软硬件技术在 AI 模型训练、微调、推理中的应用潜能,让 AI 领域的创新成果惠及到更多的用户。 ​ 如果您想要了解该解决方案的详细信息,请关注英特尔开发人员专区微信公众号在后台回复“Volcano”,即可获取相关资料。

1 https://aigcdaily.cn/news/a24tieod0edtero/ 2 与第四代英特尔® 至强® 处理器相比的平均性能提升,以 SPEC CPU rate、 STREAM Triad 和 LINPACK 的几何平均值为衡量标准。请参阅 intel.com/processorclaims 上的 [G1]:第五代英特尔® 至强® 可扩展处理器。结果可能有所差异。 3 与第四代英特尔® 至强® 处理器相比,取得 1.19 倍到 1.42 倍的性能提升( ResNet50v1.5、BERT-Large、SSD-ResNet34、RNN-T(仅 BF16)、Resnext101 32x16d、MaskRCNN(仅 BF16)、DistilBERT)。请参阅 intel.com/processorclaims 上的 [A15-A16]:第五代英特尔® 至强® 可扩展处理器。结果可能有所差异。 4 请参阅 intel.com/processorclaims 上的 [G12]:第五代英特尔® 至强® 可扩展处理器。结果可能有所差异。 5 请参阅 intel.com/processorclaims 上的 [G11]:第五代英特尔® 至强® 可扩展处理器。结果可能有所差异。 6 使用内置加速器在 AI、数据和网络工作负载上进行测量,取得 1.46 到 10.6 倍的每瓦性能提升。请参阅 intel.com/processorclaims 上的 [A19-A25]、[D1]、[D2]、[D5] 和 [N16]:第五代英特尔® 至强® 可扩展处理器。结果可能有所差异。 7 截止至 2023 年 12 月的英特尔内部建模结果。 8,9 网页链接​, 2024 年 3 月访问。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。 10 火山引擎截止至 2024 年 2 月的内部测试结果。测试配置:基于第五代英特尔® 至强® 可扩展处理器的火山引擎 8 物理核实例,Pytorch 2.1.1,intel_extension_for_pytorch 2.1.100,SDXL-Turbo,4 步生图。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。 11 火山引擎截止至 2024 年 2 月的内部测试结果。测试配置:基于第五代英特尔® 至强® 可扩展处理器的火山引擎 8 物理核实例,Pytorch 2.1.1,intel_extension_for_pytorch 2.1.100,SDXL-Turbo,4 步生图。英特尔并不控制或审计第三方数据。请您审查该内容,咨询其他来源,并确认提及数据是否准确。