英特尔通过软硬件为LIama 2大模型提供加速,持续发力推动AI发展

英特尔丰富的AI硬件产品组合与优化开放的软件相结合,为应对算力挑战提供了可行的方案。

英特尔广泛的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® Gaudi®2 深度学习加速器

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

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

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

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

英特尔通过软硬件为LIama 2大模型提供加速,持续发力推动AI发展

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

若想访问Gaudi®2,可按照此处(https://developer.habana.ai/intel-developer-cloud/)在英特尔开发者云平台上注册一个实例,或联系超微(Supermicro)了解Gaudi®2服务器基础设施。

英特尔® 至强® 可扩展处理器

第四代英特尔® 至强® 可扩展处理器是一款通用计算处理器,具有英特尔® 高级矩阵扩展(英特尔® 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毫秒2。

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

英特尔通过软硬件为LIama 2大模型提供加速,持续发力推动AI发展

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

英特尔通过软硬件为LIama 2大模型提供加速,持续发力推动AI发展

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

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

关于在至强平台上运行大语言模型和Llama 2,开发者可以点击此处(https://intel.github.io/intel-extension-for-pytorch/llm/cpu/)了解更多详细信息。第四代英特尔至强可扩展处理器的云实例可在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上运行一个,以获得更高的吞吐量并独立地服务客户端。

英特尔通过软硬件为LIama 2大模型提供加速,持续发力推动AI发展

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

关于在英特尔GPU平台上运行大语言模型和Llama 2,可以点击此处(https://intel.github.io/intel-extension-for-pytorch/llm/xpu/)获取详细信息。目前英特尔开发者云平台上已发布英特尔GPU Max云实例测试版。

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

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

总结

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

文章转载自:知IN

参考资料

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® Gaudi®2深度学习加速器:所有测量使用了一台HLS2 Gaudi®2服务器上的Habana SynapseAI 1.10版和optimum-habana 1.6版,该服务器具有八个Habana Gaudi®2 HL-225H Mezzanine卡和两个英特尔® 至强® 白金8380 CPU@2.30GHz以及1TB系统内存。2023年7月进行测量。

2 第四代英特尔® 至强® 可扩展处理器

· 第四代英特尔® 至强® 8480:第四代英特尔至强白金8480+2插槽系统,112核/224线程,启用睿频,启用超线程,内存:16x32GB DDR5 4800MT/s,存储:953.9GB;操作系统:CentOS Stream 8;内核:5.15.0-spr.bkc.pc.16.4.24.x86_64;批处理大小:1;在1个插槽上测量:1;PyTorch nightly build0711;Intel® Extensions for PyTorch* tag v2.1.0.dev+cpu.llm;模型:Llama 2 70亿和Llama 2 130亿参数;数据集LAMBADA;令牌长度:32/128/1024/2016(in),32(out);Beam Width 4;精度:BF16和INT8;英特尔在2023年7月12日测试。

· 英特尔® 至强® Max 9480:英特尔®至强® Max 9480 2插槽系统,112核/224线程,启用睿频,启用超线程,内存:16x64GB DDR5 4800MT/s;8x16GB HBM2 3200 MT/s,存储:1.8TB;操作系统:CentOS Stream 8;内核:5.19.0-0812.intel_next.1.x86_64+server;批处理大小:1;在1个插槽上测量;PyTorch nightly build0711;Intel® Extensions for PyTorch* llm_feature_branch;模型:Llama 2 70亿和Llama 2 130亿参数,数据集LAMBADA;令牌长度:32/128/1024/2016(in),32(out);Beam Width 4;精度:BF16和INT8;英特尔在2023年7月12日测试。

3 英特尔®数据中心GPU Max系列:1节点,2个英特尔® 至强® 白金8480+,56核,启用超线程,启用睿频,NUMA 2,总内存1024GB(16x64GB DDR5 4800 MT/s [4800 MT/s]),BIOS:SE5C7411.86B.9525.D19.2303151347,微代码0x2b0001b0,1个用于10GBASE-T的以太网控制器X710,1个1.8T WDC WDS200T2B0B,1个931.5G英特尔SSDPELKX010T8,Ubuntu 22.04.2 LTS,5.15.0-76-generic,4个英特尔®数据中心GPU Max 1550(仅使用单个OAM GPU卡的一个区块测量),IFWI PVC 2_1.23166,agama驱动程序:agama-ci-devel-627.7,英特尔®oneAPI基础工具包2023.1,PyTorch* 2.0.1 + Intel® Extension for PyTorch* v2.0.110+xpu(dev/LLM分支),AMC固件版本:6.5.0.0,模型:Meta AI Llama 2 70亿和Llama 2 130亿参数,数据集LAMBADA;令牌长度:32/128/1024/2016(in),32(out);Greedy搜索;精度FP16;英特尔在2023年7月7日测试。

4 性能因用途、配置和其它因素而异。更多信息请见www.Intel.com/PerformanceIndex。

英特尔、英特尔标识、以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。

© 英特尔公司版权所有。

* 文中涉及的其它名称及商标属于各自所有者资产

— 完 —

版权所有,未经授权不得以任何形式转载及使用,违者必究。