0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arm KleidiAI助力提升PyTorch上LLM推理性能

Arm社区 来源:Arm社区 2024-12-03 17:05 次阅读

作者:Arm 基础设施事业部软件工程师 Nobel Chowdary Mandepudi

生成式人工智能 (AI) 正在科技领域发挥关键作用,许多企业已经开始将大语言模型 (LLM) 集成到云端和边缘侧的应用中。生成式 AI 的引入也使得许多框架和库得以发展。其中,PyTorch 作为热门的深度学习框架尤为突出,许多企业均会选择其作为开发 AI 应用的库。通过部署 Arm Kleidi 技术,Arm 正在努力优化 PyTorch,以加速在基于 Arm 架构的处理器上运行 LLM 的性能。Arm 通过将 Kleidi 技术直接集成到 PyTorch 中,简化了开发者访问该技术的方式。

在本文中,我们将通过一个演示应用来展示 Arm KleidiAI 在 PyTorch 上运行 LLM 实现的性能提升。该演示应用在基于 Arm Neoverse V2 的亚马逊云科技 (AWS) Graviton4 R8g.4xlarge EC2 实例上运行 Llama 3.1。如果你感兴趣,可以使用以下 Learning Path,自行重现这个演示。

演示应用

我们的演示应用是一个基于 LLM 的聊天机器人,可以回答用户提出的各种问题。该演示使用 Arm 平台上的 PyTorch 框架运行 Meta Llama 3.1 模型,并被设计成一个使用 Streamlit 前端的浏览器应用。Streamlit 将信息提供给 Torchat 框架,后者运行 PyTorch 并作为 LLM 后端。Torchat 输出的信息进入注意力层并生成词元 (token)。这些词元使用 OpenAI 框架流式传输功能发送到前端,并在浏览器应用上显示给用户。该演示的架构下图所示。

ddfecd2a-b151-11ef-93f3-92fbcf53809c.png

图:演示架构

演示应用在 LLM 推理结束后测定并显示以下性能指标:

生成首个词元的用时(秒):对于 LLM 推理,需要快速生成首个词元,以尽量减少延迟并向用户提供即时输出。

解码速度/文本生成(词元/秒):每秒词元数是指生成式 AI 模型生成词元的速率。生成下一个词元的时间最长不超过 100 毫秒,这是交互式聊天机器人的行业标准。这意味着解码速度至少为 10 个词元/秒。这对于提升实时应用的用户体验至关重要。

生成百万词元的成本(美元):根据 AWS 云端 EC2 实例的解码速度和每小时成本,我们可以计算出生成 100 万个词元的成本,这也是一个常用的比较指标。由于每小时成本是固定的,解码速度越快,生成百万词元的成本就越低。

生成提示词的总用时(秒):这是使用所有词元生成提示词所花费的总时间。

生成提示词的总成本(美元):这是根据使用所有词元生成完整提示词的总时间、解码速度和云端机器成本计算得出的。

下图显示了示例响应,可作为使用所示指标验证聊天机器人的示例。生成首个词元的时间短于 1 秒,解码速率为 33 个词元/秒,这两项数据都非常令人满意,并且满足交互式聊天机器人的行业标准。

de70d0e6-b151-11ef-93f3-92fbcf53809c.png

图:包含示例响应和指标的演示

针对 PyTorch 的 KleidiAI 优化

KleidiAI 库为 Arm 平台提供了多项优化。Kleidi 在 Torch ATen 层中提供了一个新算子以加载模型。该层将模型权重以特定格式打包在内存中,使得 KleidiAI GEMM 内核可用来提高性能。同样地,针对模型执行的优化使用了 ATen 层中的另一个算子。该算子对先前打包的模型权重进行 matmul 运算的量化。

在我们的演示中,该模型是从 Meta Hugging Face 库下载的。该模型使用 INT4 内核布局打包在内存中,然后使用针对 PyTorch 优化的 INT4 KleidiAI 内核进行量化。该演示的架构如下图所示。

de9e9436-b151-11ef-93f3-92fbcf53809c.png

图:针对 PyTorch 实现的 KleidiAI 优化

使用我们 Learning Path 中包含的补丁[注],可将这些 KleidiAI 优化应用到 PyTorch、Torchchat 和 Torchao 中。你可以使用这些补丁来查看 Arm 平台上的 PyTorch 为工作负载带来的 LLM 推理性能提升。

注:Arm KleidiAI 的 PyTorch 补丁正在与上游 PyTorch 合并,并将在未来的 PyTorch 官方版本中提供。

性能

为了印证 KleidiAI 的性能优势,我们使用 PyTorch 运行相同的聊天机器人应用,并测定了 KleidiAI 优化前后的每秒生成词元数和生成首个词元的用时,结果如下图所示。

dea73276-b151-11ef-93f3-92fbcf53809c.png

图:性能比较

可以看到,将 KleidiAI 库应用到现有的生成式 AI 技术栈中可以大大提高词元生成速率,并缩短为不同生成式 AI 模型生成首个词元的时间。

结论

对于聊天机器人等实时工作负载来说,在 CPU 上运行 LLM 推理可行且有效。我们在之前《在基于 Arm Neoverse 的 AWS Graviton3 CPU 上实现出色性能》文章中使用 Llama.cpp 演示了这一点。在本文中,我们展示了如何使用 KleidiAI 库为 Arm 平台上的 PyTorch 实现良好的 LLM 推理性能。通过使用搭载 Neoverse V2 核心且基于 AWS Graviton4 的 R8g 实例进行演示,印证了 KleidiAI 为在 Arm 平台上使用 PyTorch 运行 LLM 推理实现了显著的性能提升。开发者现在可以利用 Arm 针对 PyTorch 的 KleidiAI 优化来运行新的或现有的 AI 应用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19192

    浏览量

    229340
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9064

    浏览量

    367038
  • 聊天机器人
    +关注

    关注

    0

    文章

    335

    浏览量

    12297
  • pytorch
    +关注

    关注

    2

    文章

    805

    浏览量

    13162
  • LLM
    LLM
    +关注

    关注

    0

    文章

    279

    浏览量

    310

原文标题:Arm KleidiAI 助力提升 PyTorch 上 LLM 推理性能

文章出处:【微信号:Arm社区,微信公众号:Arm社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    英特尔FPGA 助力Microsoft Azure机器学习提供AI推理性能

    Machine Learning SDK 相集成以供预览。客户可以使用 Azure 大规模部署的英特尔® FPGA(现场可编程逻辑门阵列)技术,为其模型提供行业领先的人工智能 (AI) 推理性能
    的头像 发表于 05-16 17:25 6356次阅读

    NVIDIA扩大AI推理性能领先优势,首次在Arm服务器取得佳绩

    最新MLPerf基准测试表明,NVIDIA已将其在AI推理性能和能效方面的高标准扩展到Arm以及x86计算机。
    发表于 09-23 14:18 2618次阅读
    NVIDIA扩大AI<b class='flag-5'>推理性能</b>领先优势,首次在<b class='flag-5'>Arm</b>服务器<b class='flag-5'>上</b>取得佳绩

    NVIDIA打破AI推理性能记录

     NVIDIA凭借A100进一步扩大了在MLPerf基准测试中的领先优势,实现了比CPU快237倍的AI推理性能助力企业将AI研究转化为生产力。
    发表于 10-22 14:07 799次阅读

    充分利用Arm NN进行GPU推理

    的是要知道它提供的选项来提高推理性能。作为开发人员,您会寻找可以压缩的每一毫秒,尤其是在需要实现实时推理时。让我们看一下Arm NN中可用的优化选项之一,并通过一些实际示例评估它可能产生
    发表于 04-11 17:33

    Arm Neoverse V1的AWS Graviton3在深度学习推理工作负载方面的作用

    实现的 BERT-Large 实时推理性能。越高越好。结论我们的 MLPerf BERT-large 和 Resnet50-v1.5 基准分析表明,Amazon EC2 c7g实例(使用 Arm
    发表于 08-31 15:03

    求助,为什么将不同的权重应用于模型会影响推理性能

    生成两个 IR文件(相同的 .xml 文件,但不同的 .bin 文件) 具有不同重量的类似模型,以不同的 fps (27fps 和 6fps) 运行 更多样化的权重是否会影响 Myriad X 推理性能
    发表于 08-15 07:00

    如何提高YOLOv4模型的推理性能

    使用 PyTorch 对具有非方形图像的 YOLOv4 模型进行了训练。 将 权重转换为 ONNX 文件,然后转换为中间表示 (IR)。 无法确定如何获得更好的推理性能
    发表于 08-15 06:58

    英特尔FPGA为人工智能(AI)提供推理性能

    Azure Machine Learning SDK 相集成以供预览。客户可以使用 Azure 大规模部署的英特尔 FPGA(现场可编程逻辑门阵列)技术,为其模型提供行业领先的人工智能 (AI) 推理性能。 “作为一家整体技术提供商,我们通过与 Microsoft 密切合作为人工智能提供支持。
    发表于 05-20 00:10 3042次阅读

    Xavier的硬件架构特性!Xavier推理性能评测

    Xavier主要用于边缘计算的深度神经网络推理,其支持Caffe、Tensorflow、PyTorch等多种深度学习框架导出的模型。为进一步提高计算效率,还可以使用TensorRT对训练好的模型利用
    的头像 发表于 04-17 16:55 1.9w次阅读
    Xavier的硬件架构特性!Xavier<b class='flag-5'>推理性能</b>评测

    Nvidia 通过开源库提升 LLM 推理性能

    加利福尼亚州圣克拉拉——Nvidia通过一个名为TensorRT LLM的新开源软件库,将其H100、A100和L4 GPU的大型语言模型(LLM)推理性能提高了一倍。 正如对相同硬件一轮又一轮改进
    的头像 发表于 10-23 16:10 622次阅读

    用上这个工具包,大模型推理性能加速达40倍

    作者: 英特尔公司 沈海豪、罗屿、孟恒宇、董波、林俊 编者按: 只需不到9行代码, 就能在CPU实现出色的LLM推理性能。 英特尔  Extension for Transformer 创新
    的头像 发表于 12-01 20:40 1114次阅读
    用上这个工具包,大模型<b class='flag-5'>推理性能</b>加速达40倍

    自然语言处理应用LLM推理优化综述

    当前,业界在将传统优化技术引入 LLM 推理的同时,同时也在探索从大模型自回归解码特点出发,通过调整推理过程和引入新的模型结构来进一步提升推理性能
    发表于 04-10 11:48 565次阅读
    自然语言处理应用<b class='flag-5'>LLM</b><b class='flag-5'>推理</b>优化综述

    魔搭社区借助NVIDIA TensorRT-LLM提升LLM推理效率

    “魔搭社区是中国最具影响力的模型开源社区,致力给开发者提供模型即服务的体验。魔搭社区利用NVIDIA TensorRT-LLM,大大提高了大语言模型的推理性能,方便了模型应用部署,提高了大模型产业应用效率,更大规模地释放大模型的应用价值。”
    的头像 发表于 08-23 15:48 404次阅读

    开箱即用,AISBench测试展示英特尔至强处理器的卓越推理性能

    近期,第五代英特尔®至强®可扩展处理器通过了中国电子技术标准化研究院组织的人工智能服务器系统性能测试(AISBench)。英特尔成为首批通过AISBench大语言模型(LLM推理性能测试的企业
    的头像 发表于 09-06 15:33 291次阅读
    开箱即用,AISBench测试展示英特尔至强处理器的卓越<b class='flag-5'>推理性能</b>

    Arm成功将Arm KleidiAI软件库集成到腾讯自研的Angel 机器学习框架

    KleidiAI 技术融入腾讯混元自研的 Angel 机器学习框架。这一合作旨在提高移动端人工智能 (AI) 服务的推理性能和效率,为用户提供卓越
    的头像 发表于 11-24 15:33 568次阅读