英特尔在AI硬件和软件生态上的布局,正好为Meta最新发布的Llama 2模型提供了强有力的支撑——从底层算力到上层优化,一整套方案已经就位,这无疑会加速大语言模型的普及,让更多行业享受到AI带来的红利。
大语言模型(LLM)的魅力在于,它能生成文本、归纳摘要、翻译内容、回答问题,甚至能解数学题、做推理。在所有AI技术里,LLM算是最有可能规模化落地、真正造福社会的方向之一。它不仅能解锁更丰富的创意和洞察,还能持续点燃AI社区的技术热情。
Llama 2的目标很清晰:帮开发者、研究人员和组织把生成式AI的工具和服务做起来。Meta一口气发布了三个规模的版本——70亿、130亿和700亿参数,每个都同时提供预训练和微调两种版本。在安全方面,Meta融合了三项核心技术:安全的有监督微调、安全的目标文本提取、以及安全的人类反馈强化学习(RLHF)。这几招组合下来,安全性有了保障。而且随着模型被更广泛地使用,公众可以在透明、公开的环境下,持续发现并降低生成有害内容的风险。
英特尔推动AI发展的逻辑是“开放+多元”:提供广泛的硬件选择,搭配开放的软件环境。具体到Llama 2这类大模型,英特尔的AI产品组合——包括Habana Gaudi2翻跟斗、第四代至强可扩展处理器、至强CPU Max系列、数据中心GPU Max系列——都能提供极具竞争力的运行平台。更重要的是,这些硬件背后有优化好的开放软件栈,算力挑战有了可行的解法。
在Llama 2发布之际,测试数据已经在手:70亿和130亿参数模型在英特尔AI产品组合上的推理性能。这里的性能指标都是“开箱即用”的软件版本跑出来的,后续软件进一步优化后,成绩还能更好。700亿参数模型也已经支持,更多细节很快会分享。
Habana Gaudi2 深度学习翻跟斗
Habana Gaudi2从一开始就是为高性能、高能效的训练和推理而设计,特别适合Llama和Llama 2这类大语言模型。它自带96GB HBM2E内存,能满足大语言模型对内存的苛求,推理性能自然差不了。软件方面,SynapseAI套件集成了对PyTorch和DeepSpeed的支持,最近还加入了HPU Graphs和DeepSpeed推理能力,专门优化时延敏感型推理。值得一提的是,2023年第三季度计划支持FP8数据类型,届时大语言模型的性能、吞吐量还会再上一个台阶,延迟也会进一步压低。
大语言模型对扩展性要求很高,必须能灵活突破服务器内部和跨节点的网络瓶颈。Gaudi2每颗芯片集成21个100Gbps以太网接口,其中21个专门用来连接服务器内的8颗Gaudi2,这种配置让服务器内外的扩展性能都得到了提升。
在MLPerf基准测试里,Gaudi2已经展示了在大语言模型训练上的实力——用384个翻跟斗训练1750亿参数的GPT-3,成绩亮眼。经过验证的高性能,使得Gaudi2成为Llama和Llama 2训练与推理的高能效选择。
图1显示的是70亿和130亿参数Llama 2模型的推理性能。模型分别在一台Habana Gaudi2设备上运行,设置batch size=1、输出token长度256、输入token长度不定、精度BF16。报告的性能指标是每个token的延迟(不含第一个)。测试使用optimum-habana文本生成脚本运行推理,这个库只需很少的代码改动就能在Gaudi上部署模型。从图1来看,对于128到2000的输入token,70亿参数模型的Gaudi2推理延迟范围是每token 9.0-12.2毫秒,130亿参数模型则是每token 15.5-20.4毫秒。

图1 基于Habana Gaudi2,70亿和130亿参数Llama 2模型的推理性能
英特尔至强可扩展处理器
第四代英特尔至强可扩展处理器是通用计算处理器,但内置了英特尔高级矩阵扩展(AMX)AI加速功能。每个核心都有BF16和INT8的通用矩阵乘翻跟斗,可以加速深度学习训练和推理。而至强CPU Max系列更是每颗CPU提供64GB HBM2E高带宽内存(两颗共128GB),大语言模型工作负载通常受内存带宽限制,这个特性就非常重要了。
针对至强处理器的软件优化已经集成到深度学习框架的默认发行版中,PyTorch、TensorFlow、DeepSpeed都能直接受益。英特尔主导了torch.compile CPU后端的开发和优化——这是PyTorch 2.0的旗舰功能。同时,英特尔PyTorch扩展包(Intel Extension for PyTorch)也在官方发行版之前就提供CPU优化,让用户尽早拿到加速能力。
第四代至强的高内存容量允许在单个插槽内运行低延迟的大语言模型,适用于对话式AI和文本摘要。测试使用BF16和INT8精度,结果展示了单个插槽内执行一个模型时的延迟。英特尔PyTorch扩展包支持SmoothQuant,能保证INT8精度模型的准确度。
考虑到大语言模型应用需要以足够快的速度生成token,我们选择token延迟作为主要性能指标,参考人类快速阅读速度(约每token 100毫秒)。图2、3显示:对于70亿参数的Llama 2 BF16模型和130亿参数的Llama 2 INT8模型,第四代至强单插槽的延迟都低于100毫秒。而凭借更高的HBM2E带宽,至强CPU Max系列在两个模型上都提供了更低的延迟。如果用户想提高吞吐量,可以通过更大的batch size调用AMX翻跟斗。

图2 基于英特尔至强可扩展处理器,70亿参数和130亿参数Llama 2模型(BFloat16)的推理性能

图3 基于英特尔至强可扩展处理器,70亿参数和130亿参数Llama 2模型(INT8)的推理性能
对于70亿和130亿参数的模型,每个第四代至强插槽都能提供低于100毫秒的延迟。用户可以在两个插槽上同时运行两个并行实例,获得更高吞吐量并独立服务客户端。或者,通过英特尔PyTorch扩展包和DeepSpeed CPU,用张量并行方式在两个第四代至强插槽上运行推理,进一步降低延迟或支持更大的模型。
英特尔数据中心GPU Max系列
英特尔数据中心GPU Max系列主打并行计算、科学计算和AI加速。这是英特尔性能最强、密度最高的独立显卡,封装了超过1000亿个晶体管,包含多达128个Xe内核(Xe是英特尔GPU的计算构建模块)。它专为AI和科学计算中数据密集型的计算模型设计,突破性性能来自:408 MB L2缓存(基于独立SRAM技术)、64MB L1缓存、以及高达128GB HBM2E;AI增强型Xe矩阵扩展(XMX)搭载脉动阵列,单台设备中可实现矢量和矩阵功能。
Max系列统一支持oneAPI,这是一个通用、开放、基于标准的编程模型,能释放生产力和性能。oneAPI工具包括高级编译器、库、分析工具和代码迁移工具,可以用SYCL轻松将CUDA代码迁移到开放的C++。
数据中心Max系列GPU通过开源扩展实现软件支持和优化,例如面向PyTorch的英特尔扩展、面向TensorFlow的英特尔扩展、面向DeepSpeed的英特尔扩展。这些扩展与上游框架版本一起使用,就能快速整合到机器学习工作流中。
我们在一个600瓦OAM形态的GPU上评估了Llama 2的70亿和130亿参数模型推理性能。这个GPU封装了两个tile,测试只使用其中一个tile。图4显示:对于输入长度32到2000的token,英特尔数据中心GPU Max系列的一个tile可以为70亿参数模型提供低于20毫秒的单token延迟;130亿参数模型则是29.2-33.8毫秒。因为GPU上有两个tile,用户可以同时并行运行两个独立实例(每个tile一个),获得更高吞吐量并独立服务客户端。

图4 英特尔数据中心GPU Max 1550上的Llama 2的70亿和130亿参数模型的推理性能
英特尔平台上的大语言模型微调
除了推理,英特尔也在积极推进微调加速。通过向Hugging Face Transformers、PEFT、Accelerate和Optimum库提供优化,并在面向Transformers的英特尔扩展中提供参考工作流,这些工作流支持在相关英特尔平台上高效部署典型的大语言模型任务,如文本生成、代码生成、完成和摘要。
