英特尔助力龙蜥加速 AI 应用及 LLM 性能

简介: 英特尔至强服务器平台加速大语言模型应用。

操作系统的发展离不开南北向软硬件生态的扩展和支持,龙蜥社区也离不开各合作伙伴的共创。在 2023 龙蜥操作系统大会全面拥抱智算时代分论坛上,英特尔 AI 软件工程师王华强从两方面分享了英特尔至强处理器平台上的两个重点算力和内存带宽,以及英特尔 xFasterTransformer 开源项目(主要用于 CPU 平台)、xFT 开发软件图、软件架构和特点以及基于 xFT 平台大语言模型对比公开的性能数据。以下为本次分享原文:


(图/英特尔 AI 软件工程师王华强)


2023 年 12 月,英特尔发布了第五代至强的服务器平台,在 2023 年初发布了第四代至强服务器平台。服务器发布通常称之为 jtalk,一代 CPU 注重于特性,注重架构的升级,引入很多的特性。这一代 CPU 力度优化,会带来更多的 CPU 核心数,更高的 CPU 频率。刚发布的第五代至强服务器属于密度优化,第四代属于架构升级。


第四代至强可扩展处理器引入的一些新特性其中一个是内存画面,引入 DDR5 规格的频率支持。第四代 DDR5 频率支持 4800MT 每秒,第五代 CPU 支持 5600MT 每秒,对比第三代 3200MT 每秒,内存带宽几乎翻一倍。另外一个提升来自数据总线,第四代至强开始支持 PCIE5.0 的数据总线,PCIE5.0 速度已经跑到 32GB 每秒,组件带宽的提升为 CPU 引入更多的设备带来了可能。这些设备其中之一就是 CXL,第四代至强支持 CXL1.1 。在这代平台上,开始有一个专门的系列 AMX 系列,支持 HBM 的内存。针对一些细分的业务领域,在芯片上集成了众多的加速器,QAT、IAA,可以加速加解密、压缩解压缩的业务。在对这些业务进行加速的同时,可以节省 CPU 的资源,起到 offload 作用。加速器用于网络负载均衡方面集成了 DLB 加速引擎。对于人工智能 AI,特别引入一个 AR 加速引擎,称之 AMS 加速引擎,AMS 主要做矩阵的运算。


大语言模型算法的基础就是 transform,再往下分可能是 atention、MLP 各种算法。这些算法需要很多变化,要有很多运算。典型算法是向量乘向量的计算,或者是矩阵乘矩阵的运算,大语言模型对算力的要求很高。


接下来回顾英特尔 CPU 尤其是服务器,了解一下算力如何演进。


在了解英特尔算力演进前先了解大语言模型向量乘向量或者矩阵乘矩阵,它们要做的事情都可以往下 breakdown 成 A 乘 B 再加上 C 这样的运算。为了完成乘加的运算,在早期平台比如像第一代 SKYLAKE 平台上需要三条指令去完成这样的运算。在后来的 CPU 上引入了 VNNI,如果数据的精度是 8bit,比较整齐用一条 VNNI 指令就可以完成乘加的运算。第四代引入了 AMX 矩阵运算单元,可以完成一个 A 矩阵乘 B 矩阵得到 C 矩阵。如果运算的 A 矩阵和 B 矩阵数据是 8bit 整形,可以一次性完成 16 行 64 列的 A 矩阵乘 64 行 16 列的矩阵。如果数据精度是 16bit 浮点,可以完成 16 行 32 列乘 32 行 16 列的矩阵相乘。


大语言模型对于硬件资源的另一需求体现在内存带宽上。要进行一次推理需要将所有的模型权重访问一遍,以 LLM 模型为例有 70 个并列参数,这些模型参数通常大于硬件容量,所以模型参数通常放在内存中。每进行一次推理,需要将参数或者模型权重访问一遍,需要很大的内存带宽。


第四代引入了 HBM 支持,但不是第四代所有的芯片都支持,只有 Max 系列的 CPU 上会集成 64GB 的 HBM 内存,再加上系统在 DDR 通道上支持的内存,实现了 1TB 每秒内存带宽的内存区域,兼顾了内存速度和内存容量。


对于内存带宽的扩展,第四代至强 CPU 同时支持 CXL 内存,在分享前先介绍 CXL 总线的一些基础知识。CXL 内存协议分为三个内存子协议:CXLIO、CXL.Cache、CXL.Memory。CXLIO 类似 PCle 总线,CXL.Cache 支持 CXL.Cache 设备,例如 CPU 网卡显卡,只要支持了 CXL.Cache 协议,就可以由硬件来保持网卡 GPU 等之间的一致性。CXL.Memory 类似普通内存。CXL 协议是由众多厂家推出的协议,第四代至强服务器已经开始支持 CXL1.1 设备,可以用 CXL1.1 所支持的 CXL.Memory 进行内存扩展。原有 8 个 DDR 通道可以用 CXL 再扩展 4 个通道,结合 CXL 内存可以将内存带宽做 50% 的提升。


FasterTransformer 项目用于 GPU 推理,xFasterTransformer 主要注重 CPU 平台例如 Llama、ChatGLM 平台大语言模型推理的优化。xFasterTransformer 关注英特尔硬件的加速特性,对于英特尔平台尤其至强平台有特别优化。该项目遵循了 Apache 开源协议,欢迎大家下载试用。


xFasterTransformer 在 2023 年 3 月份开源,开源初就支持 ChatGLM 系列以及 Llama 小模型。数据精度除了 Float 外还支持 BF16、INT8 等混合精度。它支持分布式推理,如果一台服务器算力不够,可以搭建小型集群进行分布式推理。在第四季度对该项目做了更新,支持百度百窗系列的模型推理,支持 Llama2 模型推理,该模型在分布式小集群上进行推理,支持了 8bit 转型的数据精度。在 2024 年 Q1 会做一些优化例如使用 FP16 数据精度、使用 AMX 做优化,也会对 batching 做进一步优化。


xFT 整个软件架构建立的硬件是英特尔各种各样的 xeon 平台,也可能是支持 HBM 的 xeon 等,不同的硬件平台有不同的硬件特性。例如第四代第五代支持 AMX,但是在第一代并不支持 AMX 加速引擎,硬件的适配工作由软件架构的最底层的库进行适配。上图右边 OneCCL 做分布式通讯框架,OeDNN 做计算,IG 库还没有开源,专门针对大语言模型集中运算的特点所作的库。xFT 针对 Transformer 的算法做了一些封装,包括 atention、MLP 等。值得一提的是,这些算法都支持分布式计算,如果使用 atention 算力时间过长,可以使用集群方式将计算分布到多个机器上。xFT 从接口上支持 C++ 和 Python 接口。


xFT有三个特点,上面提到第一个特点是分布式计算,另外 xFT 集成开发基于 C++,保证推理框架的高性能。除此之外 xFT 也有其他的一些优化特点:实现了 Flash Attention 优化,CPU 版本通过 Flash Attention 可以减少内存带宽。多进程通信实现了内存零拷贝的算法,基于 GEMV 算法实现了零拷贝需求。针对 Attention、Normlous 算法,针对模型特点做了一些融合。


上图展示最近公开的性能数据。性能测试平台是在支持 HBM 第四代的 MAX CPU 上进行测试的,衡量性能指标采用 Next Token,推理出的模型首次词的平均时间。两个模型分别是 Llama 2 7B 模型和 Llama 2 13B 模型,从比较常用的 1024 Input token 参数来看,选用 Llama 2 7B 模型的平均 latency 是 59 毫秒,Llama 2 13B 模型输入 1024 尺寸产生的 latency 是 94 毫秒。


精彩视频回放、课件获取:


2023 龙蜥操作系统大会直播回放及技术 PPT上线啦,欢迎点击下方链接观看~

回放链接:https://openanolis.cn/openanolisconference

技术 PPT :关注龙蜥公众号【OpenAnolis 龙蜥】,回复“龙蜥课件”获取。

相关文章
|
并行计算 算法 C++
统一内存统一内存的基本概念和使用
统一内存统一内存的基本概念和使用
2437 0
统一内存统一内存的基本概念和使用
|
人工智能 达摩院 自然语言处理
超好用的开源模型平台,ModelScope阿里达摩院
超好用的开源模型平台,ModelScope阿里达摩院
1237 1
|
存储 开发工具 git
helm v2 源大全
helm v2 源大全
|
10月前
|
人工智能 自然语言处理 搜索推荐
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
518 24
【上篇】-分两篇步骤介绍-如何用topview生成和自定义数字人-关于AI的使用和应用-如何生成数字人-优雅草卓伊凡-如何生成AI数字人
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
1279 3
|
存储 运维 Cloud Native
数据仓库革新:Snowflake在云数据平台中的创新实践
【10月更文挑战第26天】随着大数据时代的到来,数据仓库正经历重大变革。本文探讨了Snowflake在云数据平台中的创新应用,通过弹性扩展、高性能查询、数据安全、多数据源接入和云原生架构等最佳实践,展示了其独特优势,帮助企业提升数据处理和分析效率,保障数据安全,降低运维成本,推动业务快速发展。
601 2
|
存储 大数据 Python
NumPy 内存管理和性能调优
【8月更文第30天】NumPy 是 Python 中用于科学计算的核心库之一,它提供了高效的数组操作功能。然而,随着数据集的增大,如何有效地管理和优化 NumPy 数组的内存使用成为了一个重要的问题。本文将介绍一些技巧,帮助你更好地管理和优化 NumPy 数组的内存使用。
632 0
|
运维 监控 安全
提升运维效率的五大策略
本文将通过分析五个关键策略,探讨如何在运维工作中实现效率的提升。这些策略包括自动化工具的应用、持续集成与持续部署(CI/CD)的实践、有效的监控和日志管理、优化的文档和知识共享以及定期的安全审计。每个策略都提供了具体实施建议和预期效果,帮助运维团队在快节奏的技术环境中保持高效运作。
1184 1
|
传感器 算法 Ubuntu
大疆M2006电机测试文档
本文是关于大疆RoboMaster M2006电机的测试文档,介绍了在Ubuntu20.04环境下通过ROS读取电机反馈信息、控制电机移动,并利用PID控制算法实现速度闭环的测试流程,涵盖了测试材料、接线方法、电机校准、CAN通讯测试以及在ROS中的移植和PID调节的详细步骤和方法。
1329 0
大疆M2006电机测试文档
|
安全 网络安全 数据安全/隐私保护
[flask]使用mTLS双向加密认证http通信
[flask]使用mTLS双向加密认证http通信
350 0

热门文章

最新文章