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

日期:2024-12-20 20:54 浏览:

作者:Arm 基本设备奇迹部软件工程师 Nobel Chowdary Mandepudi本文援用地点:天生式人工智能 (AI) 正在科技范畴施展要害感化,很多企业曾经开端将年夜言语模子 集成到云端跟边沿侧的利用中。天生式 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,自行重现这个演示。 (Link: https://learn.arm.com/learning-paths/servers-and-cloud-computing/pytorch-llama)演示利用咱们的演示利用是一个基于 LLM 的谈天呆板人,能够答复用户提出的种种成绩。该演示应用 Arm 平台上的 PyTorch 框架运转 Meta Llama 3.1 模子,并被计划成一个应用 Streamlit 前真个阅读器利用。Streamlit 将信息供给给 Torchat 框架,后者运转 PyTorch 并作为 LLM 后端。Torchat 输出的信息进入留神力层并天生词元 (token)。这些词元应用 OpenAI 框架流式传输功效发送到前端,并在阅读器利用上表现给用户。该演示的架构下图所示。图:演示架构演示利用在 LLM 推理停止后测定并表现以下机能指标:天生首个词元的用时(秒) :对 LLM 推理,须要疾速天生首个词元,以只管增加耽误并向用户供给即时输出。解码速率/文本天生(词元/秒) :每秒词元数是指天生式 AI 模子天生词元的速度。天生下一个词元的时光最长不超越 100 毫秒,这是交互式谈天呆板人的行业尺度。这象征着解码速率至少为 10 个词元/秒。这对晋升及时利用的用户休会至关主要。天生百万词元的本钱(美元) :依据 AWS 云端 EC2 实例的解码速率跟每小时本钱,咱们能够盘算诞生成 100 万个词元的本钱,这也是一个常用的比拟指标。因为每小时本钱是牢固的,解码速率越快,天生百万词元的本钱就越低。天生提醒词的总用时(秒) :这是应用全部词元天生提醒词所破费的总时光。天生提醒词的总本钱(美元) :这是依据应用全部词元天生完全提醒词的总时光、解码速率跟云端呆板本钱盘算得出的。下图表现了示例呼应,可作为应用所示指标验证谈天呆板人的示例。天生首个词元的时光短于 1 秒,解码速度为 33 个词元/秒,这两项数据都十分令人满足,而且满意交互式谈天呆板人的行业尺度。图:包括示例呼应跟指标的演示针对 PyTorch 的 KleidiAI 优化KleidiAI 库为 Arm 平台供给了多项优化。Kleidi 在 Torch ATen 层中供给了一个新算子以加载模子。该层将模子权重以特定格局打包在内存中,使得 KleidiAI GEMM 内核可用来进步机能。同样地,针对模子履行的优化应用了 ATen 层中的另一个算子。该算子对先前打包的模子权重停止 matmul 运算的量化。在咱们的演示中,该模子是从 Meta Hugging Face 库下载的。该模子应用 INT4 内核规划打包在内存中,而后应用针对 PyTorch 优化的 INT4 KleidiAI 内核停止量化。该演示的架构如下图所示。图:针对 PyTorch 实现的 KleidiAI 优化应用咱们 Learning Path 中包括的补丁 [注] ,可将这些 KleidiAI 优化利用到 PyTorch、Torchchat 跟 Torchao 中。你能够应用这些补丁来检查 Arm 平台上的 PyTorch 为任务负载带来的 LLM 推感性能晋升。注: Arm KleidiAI 的 PyTorch 补丁正在与上游 PyTorch 兼并,并将在将来的 PyTorch 官方版本中供给。机能为了印证 KleidiAI 的机能上风,咱们应用 PyTorch 运转雷同的谈天呆板人利用,并测定了 KleidiAI 优化前后的每秒天生词元数跟天生首个词元的用时,成果如下图所示。图:机能比拟能够看到,将 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 利用。   申明:新浪网独家稿件,未经受权制止转载。 -->

0
首页
电话
短信
联系