基于英特尔平台加速 AI 应用及 LLM 推理性能介绍|龙蜥大讲堂第115期

简介: 本文摘自龙蜥大讲堂英特尔 AI 软件工程师黄文欢的分享,主要包括以下三个方面的内容:1. 第五代英特尔至强处理器2. LLM 推理加速框架 xFast Transformer 及其优化策略3. 性能数据及 Demo 展示

基于英特尔平台加速 AI 应用及 LLM 推理性能介绍|龙蜥大讲堂第115期


内容介绍

1. 第五代英特尔至强处理器

2. LLM 推理加速框架 xFast Transformer 及其优化策略

3. 性能数据及 Demo 展示


image.png

 

01、第五代英特尔至强处理器

1.1 性能与特性提升

第五代英特尔至强处理器带来可靠性能和卓越效率,提升所有工作负载的性能和功耗比,为 AI、数据库、网络、存储和高性能计算提供出色性能。

image.png

相较于上一代处理器,两代之间功率相同,但第五代处理器计算能力更强,共享缓存更大,内存更快,且兼容上一代软件和平台,在为 AI 和其他工作负载部署新系统时,可最大限度地减少用户测试和验证工作量。

第五代英特尔至强处理器内置 AI加速器——高级矩阵扩展 Intel AMX,拥有更快的内存和更大的三级缓存,每个内核具备 AI加速功能,可随时处理 AI工作负载,提升深度学习推理和训练性能,在生成式 AI、推荐系统、自然语言处理、机器学习和图像分类等方向表现出色,其内存与IO

技术支持 DDR5、PCIE 5.0 和 CXL 等。

1.2 深度学习加速技术演进

image.png

自 Sky Lake 支持 AVX512 以来,深度学习训练和推理能力提升一倍;一年后,在 Cascade Lake 引入第一代深度学习加速技术 DL Boost VNNI,提升 INT8 吞吐量;在CooperLake 上,将 BFloat16 添加到 DL Boost 指令集,进一步提升深度学习训练和推理能力的性能。

硬件持续发展,第四代至强处理器推出了 AMX,提升从一维向量到二维矩阵的处理能力。

1.3 Intel AMX

image.png

Intel AMX 的全称是高级矩阵扩展,其目的是为了处理矩阵与加速 AI 相关的工作负载,它是第四代及第五代至强可扩展处理器内核,都有一个专用的硬件模块,有助于加速深度学习任务。

(1)架构图

image.png

AMX 是全新 x86 扩展,涉及复杂度高于其他深度学习加速技术扩展。它具有自己的存储和操作,引入新的二维寄存器 TILE。矩阵寄存器文件包括 8个 tile,分部命名为tmm0 - tmm7,每个 tile 最大 1KB,总大小 8KB。其乘法单元是矩阵乘法指令集 TMUL,可实现矩阵乘法运算,支持 INT8 和 BFloat16 数据类型。

(2)理论性能提升

image.png

理论上,AMX在 BF16 和 FP32 的对比中,单核单周期运算次数由 64 提升至 1024,达16倍在INT8 数据类型下,较上一代深度学习加速技术 VNNI性能提升 8 倍。换言之,无论是INT8或是 BF16,AMX 的处理性能都表现得更加出色。当然,在实际的工作负载中,其性能与矩阵的大小以及矩阵的占比都有关。

1.4 五代与四代性能对比

image.png

对于归一化的性能,以第四代至强可扩展处理器为基准线,第五代至强处理器在 AI 训练、AI 实时推理和 AI 批量处理方面性能均有可靠提升测试模型包括 BERT、DLRM、MaskRCNN、RNN-T、Resnext 等主流模型。

 

02、LLM 推理加速框架 xFast Transformer 及其优化策略

2.1 框架简介

image.png

xFast Transformer 是英特尔开源的推理框架,遵循 Apache 2.0 许可为大语言模型在英特尔平台上的推理加速提供深度优化解决方案。xFast Transformer 支持分布式推理的单机跨 Socket 和多机跨节点分布式部署,提供 C++ 和 Python 接口,涵盖了从上层到底层的接口调用,易于使用,可以使用户更加方便地将其集成到自有的框架业务中。它支持多种数据类型(如 BF16、FP16、INT8、INT4 等)和主流大语言模型(如 ChatGLM、LLAMA、Baichuan、千问、OPT 等)。

2.2 架构图

image.png

其架构上层提供 C++ 和 Python 接口,并支持主流大语言模型及优化算子(如 Attention、MLP、LayNorm 等)底层集成 oneDNN、oneCCL 等优化库。oneDNN 提供大量基础算子优化,如矩阵乘法 Softmax 和常用激活函数等,为大语言模型推理提供了基本的 Kernel支持,API对不同平台统一,底层可自动调度到当前平台最高指令集,将操作加速到更高的性能水准,从而提升整体的计算效率。如在支持高级矩阵扩展 AMX 加速基础的平台上采用集成了xFast Transformer会自动识别并使用 AMX 对矩阵运算进行加速,提升推理性能。

2.3 优化策略

xFast Transformer 的优化采用了自上而下的多种优化策略

(1)分布式推理优化

image.png

在分布式推理的过程中,通信延迟对分布式推理性能影响大,xFast Transformer 在高效通信库 oneCCL 基础上优化通信实现降低通信量。

例如,在每轮推理的初始阶段,推荐的实现方式是广播 TokenID,而非广播通过 TokenID 查到的 Embedding 值。在每轮推理结束时,直接对所有 Token 的 Logics 进行 Reduce 并非最佳选择。更有效的方法是让各个 Worker 计算出 Topk后再进行 Reduce 操作

image.png

此外,我们需要根据模型结构优化通信方式。如 GPT- J模型,其Attention 部分和 Feed Forward Network 并行,我们可以在每一个Decoder Layer 上只做一次通信。另外,计算与通信模块交互时采用激进方式实现零拷贝,即计算模块在做通信前的最后一次运算时,直接将结果写到通讯模块所在的位置。

关于分布式优化更详细的说明,可以参考发表在 ICLR 2024 Workshop 上的论文。

(2)Attention 优化

算子融合、最小化数据拷贝、重拍操作和内存重复利用等是常用优化手段,有效管理内存可减少占用、提高缓存命中率,提升整体性能。此外

还可减少大语言模型工作流程中的不必要计算开销,提升数据重用度和计算效率。以 Attention 为例。

image.png

Attention 是 xFast Transformer 模型关键热点之一,其资源消耗与序

列长度的平方成正比,长序列输入时优化尤为重要。我们提出了两种优化策略

①SlimAttention

如上图右侧所示,其本质是对 Query 和 Key 之间的 Score 做一维拆分先计算横向 Score、Softmax,再乘 Value 得到部分 Output,再使用同个 Score Buffer 计算下一个 Block。每个线程维护一个 Block 大小的Buffer,减少内存使用、提升计算效率。

②FlashAttention

如上图右侧所示,它是 GPU 率先使用的技术,本质是对 Score 做二维拆分,每个线程维护一个 Tile。但因 Tile 在 Softmax 方向数据不全,

计算过程需对结果反复校正。

对比两者策略,Slimattention 没有冗余计算,但是要更大的中间Buffer。

实验结果也表明,对于特别长的 Token,Flashattention 有较强优势;对于较短的 Token,Slimattention 是更好的选择。更多的技术细节可以参考开源的 xFast Transformer 项目。

(3)低精度量化和稀疏化

image.png

在大语言模型推理优化的过程中,量化是一种非常重要的方法。通过低精度数据类型或权重稀疏化降低内存带宽需求,在推理速度和准确度间取得平衡。xFast Transformer 支持多种数据类型实现模型推理和部署包括单精度和混合精度(首包和生成图层精度可任意组合),充分利用计算资源和带宽资源提升大语言模型的推理速度。将模型量化为INT8、INT4 的数据类型,可以显著提升模型的推理性能。同时,利用AWQ、GPTQ方式提升量化精度。

多种不同的数据类型的输入输出对底层算子库提出了多远的适配要求。xFast Transformer 框架中已实现对多种数据类型输入输出的适配,满足大语言模型对底层 Kernel 的需求。

 

03、性能数据及 Demo 展示

3.1 性能情况

(1)第四代至强平台

image.png

单颗至强 Max 处理器可同时部署四路大语言模型推理服务,同时满足首包和生成速度性能要求,每个模型只需 12个核和四分之一内存带宽。上图左侧是首包性能图,右侧是 Next Token 性能图。可以看到,两者的生成速度约在 90 - 100+ 的区间,远小于人类阅读速度

(2)分布式

image.png

上图展现了 xFast Transformer 分布式的性能效果。图中1个Node 指的是两个 Socket 的第五代至强可扩展处理器,每个 Socket 上有 52 个核。输入 Token1024,输出Token128时,4个Node 相比1个 Node 可实现近三倍的性能提升。

(3)Serving

image.png

上图展现了 xFast Transformer serving的能力。在两个 Socket 的第五代至强可扩展处理器 AMX 上,硬件配置是 48 核,每个 Socket 采用BF16 数据类型,使用 Qwen2-7B 模型统计 the script of benchmark throughput.py 脚本,其 Throughput 可达 3000+ tokens/s。

3.2 基于龙蜥操作系统的 Demo 演示 1

(1)购买实例

提前在阿里云购买一台实例输入 cat /etc/os-release 查询实例信息。

image.png

可以看到,使用的是龙蜥操作系统 Anolis OS 8.8 版本。

输入 lscpu 查看 CPU 信息:

image.png

可知,购买的是 32 个 VCPU 的实例,硬件平台是英特尔第五代至强平台,支持 amx_bf16、amx_int8 等;

(2)安装 xFast Transformer

输入 pip3 install xfasttransformer,完成 xFast Transformer的安装。

(3)xFast Transformer 配置

输入 git clone https://github.com/intel/xFastTransformer^C ,从GitHub 拉取源码。输入cd xFastTransformer/,进入其目录。

运行xFast Transformer推理优化引擎,还需安装依赖包。输入 pip3 install -r requirements.txt 在 requirements 文件中安装依赖包。

(4)运行 xFast Transformer 引擎

①模型转换

以 Qwen2-7B 模型为例,将下载的模型放入该目录下,使用 Qwen2 的脚本,输入 python -c‘import xfasttransformer as xft

xft.Qwen2Convert().convert(“/data/Qwen2-7B-Instruct/”)’进行模型转化。转换命令根据模型和需求(如 Llama、OPT 等)设置,其他模型也有相应转换操作,可从 GitHub 的 README 获取信息。

另外,在云环境上转换模型时,物理核通过超线程的方式扩展成两个逻辑核。在大语言模型场景下,超线程带来的收益欠佳,还会引发调度等方面的额外开销。因此,我们建议在运行大语言模型中,避免使用超线程产生的逻辑核。如上述案例中的 32VCPU实例,其对应 16 个物理核,可以通过相应的命令获得相应的物理核,并通过 Numactl 工具将需要运行的应用绑定在对应的物理核上。

image.png

上图即可说明该模型转换成功,也可将 data/Qwen2-7B-Instruct-xft更换为自定义路径。

②设置环境变量

模型转换成功后,输入 cd examples/pytorch 进入 demo 目录,

通过 export $(python -c‘import xfasttransformer as xft ; print(xft.get env()))设置环境变量,以获取更优性能。

③运行 Demo

输入 ll 进入 Demo 目录,查看该 Demo 下提供的脚本。

image.png

输入命令 OMP_NUM_THREADS = 16 numactl -c $(seq -s,0 2 30)python demo.py d int8--chat true --output len 128 -t /data/Qwen2-7B-Instruct -m /data/Qwen2-7B-Instruct-xft/(由于使用的是 32 vCPU实例,故 OMP 线程使用 16 个物理核;使用 numactl -C工具将应用绑定到对应的物理核上;-d 是指数据类型可以指定为int8、bf16等;该聊天机器人中提供 Chat 功能,设置为 true;output len可设置为目标值;-t 后是对应的 Token 的路径;-m 是转换所需的模型文件)。

此时,即可实现 Chat 功能。如输入“你好,介绍一下自己”或输入“你知道龙蜥大讲堂吗”,就会返回相应的内容,文本产生的速度较快。

image.png

3.3 基于 Gradient 的 Web Demo 演示 2

输入 cd ../web_demo/进入该演示。

输入 pip3 install -r examples/web_demo/requirements.txt安装相应的依赖。输入命令 OMP_NUM_THREADS=16 numactl -C $(seg -s,0 2 30)python demo.py -d int8 -t /data/Qwen2-7B-Instruct -m /data/Qwen2-7B-Instruct -xft/(OMP 线程使用16 个物理核;使用 numactl -C 工具将应用绑定到对应的物理核上;运行 Qwen2 的脚本)。

输入ls 查询该 web demo 下提供的脚本。

image.png

可以看到它提供了 Baichuan、ChatGLM、Llama、Qwen 等脚本。

输入OMP_NUM_THREADS=16 numactl -c $(seq-s,0 2 30)python demo.py -d int8 -t /data/Qwen2-7B-Instruct -m /data/Qwen2-7B-Instruct -xft/,运行 Qwen2 查看 demo 的运行效果。待页面提示“Running on local URL:……”后说明该 Demo 已启用。

进入 Web Demo 界面:

image.png

案例中是通义千问2的模型,基于xFastTransformer 优化推理引擎端口是 7860,在阿里云上需要暴露相关的端口。可以通过本级地址访问,也可以通过 Gradient 的相关设置进行公网 IP 的访问。

可以输入“龙蜥(OpenAnolis)是一个什么样的平台?”进行询问,结果返回如下,速度也非常快。

image.png

再如输入“介绍一下英特尔至强处理器”,也可以返回相应的内容。

image.png

以上就是本次分享的全部内容。

相关文章
|
5月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
6月前
|
存储 机器学习/深度学习 算法
​​LLM推理效率的范式转移:FlashAttention与PagedAttention正在重塑AI部署的未来​
本文深度解析FlashAttention与PagedAttention两大LLM推理优化技术:前者通过分块计算提升注意力效率,后者借助分页管理降低KV Cache内存开销。二者分别从计算与内存维度突破性能瓶颈,显著提升大模型推理速度与吞吐量,是当前高效LLM系统的核心基石。建议收藏细读。
1162 125
|
6月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
1656 94
|
5月前
|
人工智能 自然语言处理 TensorFlow
134_边缘推理:TensorFlow Lite - 优化移动端LLM部署技术详解与实战指南
在人工智能与移动计算深度融合的今天,将大语言模型(LLM)部署到移动端和边缘设备已成为行业发展的重要趋势。TensorFlow Lite作为专为移动和嵌入式设备优化的轻量级推理框架,为开发者提供了将复杂AI模型转换为高效、低功耗边缘计算解决方案的强大工具。随着移动设备硬件性能的不断提升和模型压缩技术的快速发展,2025年的移动端LLM部署已不再是遥远的愿景,而是正在成为现实的技术实践。
|
6月前
|
人工智能 运维 安全
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
迈格网络推出“天机”新版本,以AI自学习、全端防护、主动安全三大核心能力,重构网络安全防线。融合AI引擎与DeepSeek-R1模型,实现威胁预测、零日防御、自动化响应,覆盖Web、APP、小程序全场景,助力企业从被动防御迈向主动免疫,护航数字化转型。
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
|
6月前
|
机器学习/深度学习 人工智能 前端开发
解决推理能力瓶颈,用因果推理提升LLM智能决策
从ChatGPT到AI智能体,标志着AI从对话走向自主执行复杂任务的能力跃迁。AI智能体可完成销售、旅行规划、外卖点餐等多场景任务,但其发展受限于大语言模型(LLM)的推理能力。LLM依赖统计相关性,缺乏对因果关系的理解,导致在非确定性任务中表现不佳。结合因果推理与内省机制,有望突破当前AI智能体的推理瓶颈,提升其决策准确性与自主性。
590 6
解决推理能力瓶颈,用因果推理提升LLM智能决策
|
5月前
|
机器学习/深度学习 缓存 PyTorch
131_推理加速:ONNX与TensorRT深度技术解析与LLM模型转换优化实践
在大语言模型(LLM)时代,高效的推理加速已成为部署高性能AI应用的关键挑战。随着模型规模的不断扩大(从BERT的数亿参数到GPT-4的数千亿参数),推理过程的计算成本和延迟问题日益突出。ONNX(开放神经网络交换格式)和TensorRT作为业界领先的推理优化框架,为LLM的高效部署提供了强大的技术支持。本文将深入探讨LLM推理加速的核心原理,详细讲解PyTorch模型转换为ONNX和TensorRT的完整流程,并结合2025年最新优化技术,提供可落地的代码实现与性能调优方案。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
12_机器翻译入门:多语言LLM应用
在全球化背景下,语言障碍一直是信息交流、商业合作和文化传播的重要阻碍。2025年,随着多语言大语言模型(LLM)技术的突破,机器翻译已经从简单的单词转换发展为能够理解上下文、处理复杂句式、适应文化差异的智能系统。本文将带您入门多语言LLM在机器翻译领域的应用,重点介绍使用mT5(多语言T5)模型实现英语到中文的翻译,并探讨文化适应等高级话题。
|
6月前
|
人工智能 数据可视化 前端开发
AI Ping:精准可靠的大模型服务性能评测平台
AI Ping是清华系团队推出的“大模型服务评测平台”,被誉为“AI界的大众点评”。汇聚230+模型服务,7×24小时监测性能数据,以吞吐量、延迟等硬指标助力开发者科学选型。界面简洁,数据可视化强,支持多模型对比,横向对标国内外主流平台,为AI应用落地提供权威参考。
1647 3
|
5月前
|
缓存 监控 安全
80_离线环境搭建:无互联网LLM推理
在当今大语言模型(LLM)蓬勃发展的时代,许多组织和个人面临着一个共同的挑战:如何在无互联网连接的环境中高效部署和使用LLM?这一需求源于多方面的考量,包括数据安全、隐私保护、网络限制、极端环境作业等。2025年,随着企业对数据主权意识的增强和边缘计算的普及,离线LLM部署已成为AI应用落地的关键场景之一。

热门文章

最新文章