LIama 2在英特尔三大平台上表现如何?

英特尔广泛的AI硬件组合及开放的软件环境,为Meta发布的Llama 2模型提供了极具竞争力的选择,进一步助力大语言模型的普及,推动AI发展惠及各行各业。

大语言模型(LLM)在生成文本、总结和翻译内容、回答问题、参与对话以及执行复杂任务(如解决数学问题或推理)方面表现出的卓越能力,使其成为最有希望规模化造福社会的AI技术之一。大语言模型有望解锁更丰富的创意和洞察,并激发AI社区推进技术发展的热情。

Llama 2旨在帮助开发者、研究人员和组织构建基于生成式AI的工具和体验。Meta发布了多个Llama 2的预训练和微调版本,拥有70亿、130亿和700亿三种参数。通过Llama 2,Meta在公司的各个微调模型中采用了三项以安全为导向的核心技术:安全的有监督微调、安全的目标文本提取以及安全的人类反馈强化学习(RLHF)。这些技术相结合,使Meta得以提高安全性能。随着越来越广泛的使用,人们将能够以透明、公开的方式不断识别并降低生成有害内容的风险。

英特尔致力于通过提供广泛的硬件选择和开放的软件环境,推动AI的发展与普及。英特尔提供了一系列AI解决方案,为AI社区开发和运行Llama 2等模型提供了极具竞争力和极具吸引力的选择。英特尔丰富的AI硬件产品组合与优化开放的软件相结合,为应对算力挑战提供了可行的方案。

英特尔提供了满足模型的开发和部署的AI优化软件。开放生态系统是英特尔得天独厚的战略优势,在AI领域亦是如此。我们致力于培育一个充满活力的开放生态系统来推动AI创新,其安全、可追溯、负责任以及遵循道德,这对整个行业至关重要。此次发布的大模型进一步彰显了我们的核心价值观——开放,为开发人员提供了一个值得信赖的选择。Llama 2模型的发布是我们行业向开放式AI发展转型迈出的重要一步,即以公开透明的方式推动创新并助力其蓬勃发展。

英特尔软件与先进技术副总裁兼人工智能和分析部门总经理,李炜

英特尔软件与先进技术副总裁兼执行战略部总经理,Melissa Evers

在Llama 2发布之际,我们很高兴地分享70亿和130亿参数模型的初始推理性能测试结果。这些模型在英特尔AI产品组合上运行,包括Habana Gaudi 2深度学习加速器、第四代英特尔至强可扩展处理器、英特尔至强CPU Max系列和英特尔数据中心GPU Max系列。我们在本文中分享的性能指标是我们当前软件提供的“开箱即用”的性能,并有望在未来的软件中进一步提升。我们还支持700亿参数模型,并将很快分享最新相关信息。

Habana Gaudi2 深度学习加速器

Habana Gaudi2旨在为用户提供高性能、高能效的训练与推理,尤其适用于诸如Llama和Llama 2的大语言模型。Gaudi2加速器具备96GB HBM2E的内存容量,可满足大语言模型的内存需求并提高推理性能。Gaudi2配备Haban SynapseAI软件套件,该套件集成了对PyTorch和DeepSpeed的支持,以用于大语言模型的训练和推理。此外,SynapseAI近期开始支持HPU GraphsDeepSpeed推理,专门针对时延敏感度高的推理应用。Gaudi2还将进行进一步的软件优化,包括计划在2023年第三季度支持FP8数据类型。此优化预计将在执行大语言模型时大幅提高性能、吞吐量,并有效降低延迟。

大语言模型的性能需要灵活敏捷的可扩展性,来突破服务器内以及跨节点间的网络瓶颈。每张Gaudi2芯片集成了21个100Gbps以太网接口,21个接口专用于连接服务器内的8颗Gaudi2,该网络配置有助于提升服务器内外的扩展性能。

在近期发布的MLPerf基准测试中,Gaudi2在大语言模型上展现了出色的训练性能,包括在384个Gaudi2加速器上训练1750亿参数的GPT-3模型所展现的结果。Gaudi2经过验证的高性能使其成为Llama和Llama 2模型训练和推理的高能效解决方案。

图1显示了70亿参数和130亿参数Llama 2模型的推理性能。模型分别在一台Habana Gaudi2设备上运行,batch size=1,输出token长度256,输入token长度不定,使用BF16精度。报告的性能指标为每个token的延迟(不含第一个)。该测试使用optimum-habana文本生成脚本在Llama模型上运行推理。optimum-habana库能够帮助简化在Gaudi加速器上部署此类模型的流程,仅需极少的代码更改即可实现。如图1所示,对于128至2000输入token,在70亿参数模型上Gaudi2的推理延迟范围为每token 9.0-12.2毫秒,而对于130亿参数模型,范围为每token 15.5-20.4毫秒1

图1 基于Habana Gaudi2,70亿和130亿参数Llama 2模型的推理性能

若想访问Gaudi2,可按照此处在英特尔开发者云平台上注册一个实例,或联系超微(Supermicro)了解Gaudi2服务器基础设施。

英特尔至强可扩展处理器

第四代英特尔至强可扩展处理器是一款通用计算处理器,具有英特尔高级矩阵扩展(英特尔AMX)的AI加速功能。具体而言,该处理器的每个核心内置了BF16和INT8通用矩阵乘(GEMM)加速器,以加速深度学习训练和推理工作负载。此外,英特尔至强 CPU Max系列, 每颗CPU 提供64GB的高带宽内存(HBM2E), 两颗共128GB,由于大语言模型的工作负载通常受到内存带宽的限制,因此,该性能对于大模型来说极为重要。

目前,针对英特尔至强处理器的软件优化已升级到深度学习框架中,并可用于PyTorch*、TensorFlow*、DeepSpeed*和其它AI库的默认发行版。英特尔主导了torch.compile CPU后端的开发和优化,这是PyTorch 2.0的旗舰功能。与此同时,英特尔还提供英特尔PyTorch扩展包*(Intel Extension for PyTorch*),旨在PyTorch官方发行版之前,尽早、及时地为客户提供英特尔CPU的优化。

第四代英特尔至强可扩展处理器拥有更高的内存容量,支持在单个插槽内实现适用于对话式AI和文本摘要应用的、低延迟的大语言模型执行。对于BF16和INT8,该结果展示了单个插槽内执行1个模型时的延迟。英特尔PyTorch扩展包*支持SmoothQuant,以确保INT8精度模型具有良好的准确度。

考虑到大语言模型应用需要以足够快的速度生成token,以满足读者较快的阅读速度,我们选择token延迟,即生成每个token所需的时间作为主要的性能指标,并以快速人类读者的阅读速度(约为每个token 100毫秒)作为参考。如图2、3所示,对于70亿参数的Llama2 BF16模型和130亿参数的Llama 2 INT8模型,第四代英特尔至强单插槽的延迟均低于100毫秒。

得益于更高的HBM2E带宽,英特尔至强CPU Max系列为以上两个模型提供了更低的延迟。而凭借英特尔AMX加速器,用户可以通过更高的批量尺寸(batch size)来提高吞吐量。

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

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

对于70亿和130亿参数的模型,每个第四代至强插槽可提供低于100毫秒的延迟。用户可以分别在两个插槽上同时运行两个并行实例,从而获得更高的吞吐量,并独立地服务客户端。亦或者,用户可以通过英特尔PyTorch扩展包*和DeepSpeed* CPU,使用张量并行的方式在两个第四代至强插槽上运行推理,从而进一步降低延迟或支持更大的模型。

关于在至强平台上运行大语言模型和Llama 2,开发者可以点击此处了解更多详细信息。第四代英特尔至强可扩展处理器的云实例可在AWS和Microsoft Azure上预览,目前已在谷歌云平台和阿里云全面上线。英特尔将持续在PyTorch*和DeepSpeed*进行软件优化,以进一步加速Llama 2和其它大语言模型。

英特尔 数据中心GPU Max系列

英特尔数据中心GPU Max系列提供并行计算、科学计算和适用于科学计算的AI加速。作为英特尔性能最为出色、密度最高的独立显卡,英特尔数据中心GPU Max系列产品中封装超过1000亿个晶体管,并包含多达128个Xe内核,Xe是英特尔GPU的计算构建模块。

英特尔数据中心GPU Max系列旨在为AI和科学计算中使用的数据密集型计算模型提供突破性的性能,包括:

  • 408 MB基于独立SRAM技术的L2缓存、64MB L1缓存以及高达128GB的高带宽内存(HBM2E)。
  • AI增强型的Xe英特尔矩阵扩展(英特尔 XMX)搭载脉动阵列,在单台设备中可实现矢量和矩阵功能。

英特尔Max系列产品统一支持oneAPI,并基于此实现通用、开放、基于标准的编程模型,释放生产力和性能。英特尔oneAPI工具包括高级编译器、库、分析工具和代码迁移工具,可使用SYCL轻松将CUDA代码迁移到开放的C++。

英特尔数据中心Max系列GPU通过当今框架的开源扩展来实现软件支持和优化,例如面向PyTorch*的英特尔扩展、面向TensorFlow*的英特尔扩展和面向DeepSpeed*的英特尔扩展。通过将这些扩展与上游框架版本一起使用,用户将能够在机器学习工作流中实现快速整合。

我们在一个600瓦OAM形态的GPU上评估了Llama 2的70亿参数模型和Llama 2的130亿参数模型推理性能,这个GPU上封装了两个tile,而我们只使用其中一个tile来运行推理。图4显示,对于输入长度为32到2000的token,英特尔数据中心GPU Max系列的一个tile可以为70亿参数模型的推理提供低于20毫秒的单token延迟,130亿参数模型的单token延迟为29.2-33.8毫秒3。因为该GPU上封装了两个tile,用户可以同时并行运行两个独立的实例,每个tile上运行一个,以获得更高的吞吐量并独立地服务客户端。

图4英特尔数据中心GPU Max 1550上的Llama 2的70亿和130亿参数模型的推理性能

关于在英特尔GPU平台上运行大语言模型和Llama 2,可以点击此处获取详细信息。目前英特尔开发者云平台上已发布英特尔GPU Max云实例测试版

英特尔平台上的大语言模型微调

除了推理之外,英特尔一直在积极地推进微调加速,通过向Hugging Face TransformersPEFTAccelerateOptimum 库提供优化,并在面向Transformers的英特尔扩展中提供参考工作流。这些工作流支持在相关英特尔平台上高效地部署典型的大语言模型任务,如文本生成、代码生成、完成和摘要。

总结

上述内容介绍了在英特尔AI硬件产品组合上运行Llama 2的70亿和130亿参数模型推理性能的初始评估,包括Habana Gaudi2深度学习加速器、第四代英特尔至强可扩展处理器、英特尔至强 CPU Max系列和英特尔数据中心GPU Max系列。我们将继续通过软件发布提供优化,后续会再分享更多关于大语言模型和更大的Llama 2模型的评估。

参考资料

Intel / intel-extension-for-pytorch:一个用于扩展官方PyTorch的PyTorch软件包,可以轻松地获取英特尔平台的性能(github.com)

使用英特尔神经压缩器进行模型压缩:huggingface/optimum-habana:在Habana Gaudi 处理器(HPU)上轻松地极速训练🤗 Transformers(github.com)

面向英特尔 数据中心GPU Max系列的开发工具

Meta Llama2论文:https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/

Meta Llama2博客:https://ai.meta.com/llama/

产品和性能信息1 Habana Gaudi2深度学习加速器:所有测量使用了一台HLS2 Gaudi2服务器上的Habana SynapseAI 1.10版和optimum-habana 1.6版,该服务器具有八个Habana Gaudi2 HL-225H Mezzanine卡和两个英特尔至强白金8380 CPU@2.30GHz以及1TB系统内存