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

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

3天内不再提示

PowerVR上的LLM加速:LLM性能解析

颖脉Imgtec 2025-12-10 08:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Alex Pim,Imagination 软件架构Fellow

Imagination,我们致力于加速大语言模型在日常设备上的运行。在本系列关于大语言模型性能与加速的两篇博客的首篇中,我们将介绍关键性能指标:首次生成Token时间(TTFT)与Token间延迟(ITL)。在下一篇文章中,我们将分享如何在Imagination GPU上实现高效的Llama.cpp推理。

若您看过谷歌的“AI概览”或体验过Word里的词汇预测功能,那便是LLM在发挥作用。它们基于Transformer网络构建,而Transformer使用注意力机制(attention)来聚焦输入中最相关的部分——就像你在观看一场足球比赛时,会本能地盯着带球的球员,而不是场上另外21位球员。LLM的神奇之处在于,通过对概率的建模,它们能够捕捉到某种程度上的人类思维模式,因此在各种应用中都具有巨大的价值。

挑战在于这一切都需要强大的计算能力。LLM依赖大规模矩阵运算,这类运算要求高但高度并行——换言之,正是GPU的完美用武之地。

阅读白皮书《AI处理器的真正本质》可了解GPU为何能完美胜任高度并行任务。

正因如此,包括基于PowerVR架构的Imagination GPU在内的图形处理器,在提升模型运行速度与效率方面发挥着关键作用——尤其在功耗与性能至关重要的移动及边缘设备领域。


加速大语言模型推理

大语言模型(LLMs)通过提取先前Token的上下文窗口来生成文本,并预测序列中的下一个Token。当首次提交提示时,模型必须处理上下文窗口中的所有Token,这可能需要大量计算资源。模型生成的每个新Token都会附加到上下文窗口中的先前Token之后:这是一种自回归模型。

ff3f76be-d55f-11f0-8ce9-92fbcf53809c.png

随着每个新生成的token,推理速度将逐渐变慢。

为提升效率,框架常采用键值缓存机制,将先前处理过的token的中间结果存储其中。这种方法避免了冗余计算,显著加速了推理过程,使大语言模型即使在普通硬件上也能实际应用。同时,当新token生成时,该机制能使执行时间保持近似恒定。

ff4e02f6-d55f-11f0-8ce9-92fbcf53809c.png

由于KV缓存机制,大语言模型通常以两种截然不同的模式运行:

预填充模式:模型处理整个token序列并初始化缓存。该阶段涉及大规模矩阵乘法运算,通常受限于GPU的计算吞吐量。

解码模式:复用缓存结果生成后续token。由于跳过前期计算,该模式速度显著提升。其依赖矩阵-向量乘法运算,通常受限于GPU内存带宽(用于流式传输权重和激活值)。

两种模式在用户体验和硬件资源消耗方面存在差异,因此应分别采用专属性能指标进行评估。


LLM性能指标

讨论LLM部署性能时,主要涉及两项指标:

首次token生成时间(TTFT)——预填充模式下执行计算任务所需时间

Token间延迟(ITL)——解码模式下执行计算任务所需时间


首次生成token时间(Time to First Token)

TTFT指标指大语言模型生成首个输出token所需的时间,此时模型必须已处理完全部用户输入提示(即预填充阶段完成)。

“首次生成Token的时间(Time to First Token)在大语言模型应用于汽车场景或交互式应用中通常非常重要;因为人类已经习惯了以自己的说话速度被‘听见’。如果一个数字助手或应用程序的响应速度达不到人与人交流时的反应速度,那么用户的整体‘体验’就会开始下降。”

试想若在谷歌搜索时输入问题却需等待数十秒才能获得答案——这在当今标准下相当令人沮丧(尽管我们中有些人曾经历过从磁带加载电脑游戏的漫长等待)。

因此无论是数据中心部署还是边缘计算场景,GPU供应商面临的核心挑战在于:即使在功耗受限或网络延迟高的环境下,仍需为用户提供迅捷的首次响应。

具体而言,大型语言模型(如Llama-3.2-3b)要生成输入查询的首个token,需处理大量矩阵乘法运算(下表所示),其中参数N代表用户输入token数量(此例为13)。以用户提示词“建站只需10步:”为例:

M: 1024, K: 3072, N: 13

M: 128, K: 32, N: 13

M: 3072, K: 3072, N: 13

M: 3072, K: 8192, N: 13

M: 32, K: 128, N: 13

M: 8192, K: 3072, N: 13

表1 - LLAMA-3.2-3B型号典型GEMM M、K和N尺寸

llama.cpp中的矩阵乘法运算执行如下矩阵乘法:

CT= A * BT

这意味着矩阵C (NxM)的计算方式为A(M*K) * B(N*K)。值得注意的是,C和B均为转置矩阵,这意味着转置矩阵的元素相对于原始矩阵沿对角线方向进行了交换。

在LLM预填充阶段所需的矩阵乘法运算中,存在若干较大维度的矩阵操作——这正是PowerVR GPU大显身手的环节!这些矩阵乘法运算具有独立性且交互需求极低,与GPU的SIMT架构所具备的超大规模并行特性高度契合。

模型生成首个输出token前需执行多次上述矩阵乘法迭代,而矩阵运算耗时直接决定了用户等待模型开始输出所需的时间。


Token间延迟(Inter-Token Latency)

衡量大语言模型性能的第二个指标是“Token间延迟(Inter-Token Latency)”,其含义非常直接:即模型生成一个新Token所需的时间,或者说模型在逐个生成输出时,两个Token之间的间隔时间。

这个过程与处理用户输入提示(prompt)的过程略有不同,因为它涉及的是矩阵-向量(matrix-vector)乘法,而不是矩阵-矩阵(matrix-matrix)乘法;并且由于上一节提到的K-V缓存技术,这一阶段的计算强度大幅降低。

在生成(或解码)阶段,数学操作是一系列矩阵-向量乘法,其中M、K、N中的N始终为1,而上一轮生成的Token(对应的向量)会作为单一输入向量,进入下一层的一组矩阵-向量乘法中。

加速矩阵-向量乘法可以在GPU上实现,但由于其计算量相对较低,在GPU上反而容易受到内存带宽的限制,这也是为什么LLM的decode阶段通常可以在内存带宽限制较小的CPU上执行。

普遍认为,在LLM的解码阶段,GPU较难发挥显著优势;然而,如果部署芯片(SoC)的主CPU负载较高,将解码阶段卸载到GPU仍然具有价值。

M: 128, K: 32, N: 1

M: 1024, K: 3072, N: 1

M: 3072, K: 3072, N: 1

M: 3072, K: 8192, N: 1

M: 32, K: 128, N: 1

M: 8192, K: 3072, N: 1

表2 - LLAMA-3.2-3B模型典型GEMV计算


结语

至此,我们关于在PowerVR GPU等边缘设备上加速大型语言模型推理的两篇博客系列已完成第一部分。我们介绍了“首次生成token时间”和“Token间延迟”的概念,以及它们如何应用于大语言模型计算的两个主要阶段。

在第二部分中,我们将剖析Imagination公司为适配PowerVR GPU架构对Llama.cpp应用程序所做的代码修改——涵盖Vulkan接口与默认OpenCL实现两种方案。最后将重点分析我们自主优化的OpenCL内核,这些内核专为释放PowerVR GPU的高利用率而设计,在采用F16量化权重格式时,能显著提升矩阵乘矩阵与矩阵-向量乘法运算的性能表现。

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

    关注

    89

    文章

    38162

    浏览量

    296847
  • powervr
    +关注

    关注

    0

    文章

    99

    浏览量

    31505
  • LLM
    LLM
    +关注

    关注

    1

    文章

    341

    浏览量

    1258
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    对比解码在LLM的应用

    为了改进LLM的推理能力,University of California联合Meta AI实验室提出将Contrastive Decoding应用于多种任务的LLM方法。实验表明,所提方法能有效改进LLM的推理能力。让我们走进
    发表于 09-21 11:37 1136次阅读
    对比解码在<b class='flag-5'>LLM</b><b class='flag-5'>上</b>的应用

    低比特量化技术如何帮助LLM提升性能

    针对大语言模型 (LLM) 在部署过程中的性能需求,低比特量化技术一直是优化效果最佳的方案之一,本文将探讨低比特量化技术如何帮助 LLM 提升性能,以及新版 OpenVINO 对于低比
    的头像 发表于 12-08 15:26 2189次阅读
    低比特量化技术如何帮助<b class='flag-5'>LLM</b>提升<b class='flag-5'>性能</b>

    Arm KleidiAI助力提升PyTorchLLM推理性能

    热门的深度学习框架尤为突出,许多企业均会选择其作为开发 AI 应用的库。通过部署 Arm Kleidi 技术,Arm 正在努力优化 PyTorch,以加速在基于 Arm 架构的处理器运行 LLM
    的头像 发表于 12-03 17:05 1948次阅读
    Arm KleidiAI助力提升PyTorch<b class='flag-5'>上</b><b class='flag-5'>LLM</b>推理<b class='flag-5'>性能</b>

    如何在魔搭社区使用TensorRT-LLM加速优化Qwen3系列模型推理部署

    TensorRT-LLM 作为 NVIDIA 专为 LLM 推理部署加速优化的开源库,可帮助开发者快速利用最新 LLM 完成应用原型验证与产品部署。
    的头像 发表于 07-04 14:38 1760次阅读

    无法在OVMS运行来自Meta的大型语言模型 (LLM),为什么?

    无法在 OVMS 运行来自 Meta 的大型语言模型 (LLM),例如 LLaMa2。 从 OVMS GitHub* 存储库运行 llama_chat Python* Demo 时遇到错误。
    发表于 03-05 08:07

    LLM性能的主要因素

    现在是2023年5月,截止目前,网络已经开源了众多的LLM,如何用较低的成本,判断LLM的基础性能,选到适合自己任务的LLM,成为一个关键
    的头像 发表于 05-22 15:26 2553次阅读
    <b class='flag-5'>LLM</b><b class='flag-5'>性能</b>的主要因素

    深度解读各种人工智能加速器和GPULLM性能特征

    在不同的硬件平台上评估LLM对于理解传统和非传统体系结构的能力和局限性至关重要。先前的工作已经在超级计算机上研究了LLM,并使用传统的深度学习基准来提供对其能力的详细评估与分析。
    发表于 10-25 11:49 1530次阅读
    深度解读各种人工智能<b class='flag-5'>加速</b>器和GPU<b class='flag-5'>上</b>的<b class='flag-5'>LLM</b><b class='flag-5'>性能</b>特征

    LLM推理加速新范式!推测解码(Speculative Decoding)最新综述

    这个问题随着LLM规模的增大愈发严重。并且,如下左图所示,目前LLM常用的自回归解码(autoregressive decoding)在每个解码步只能生成一个token。这导致GPU计算资源利用率
    的头像 发表于 01-29 15:54 5850次阅读
    <b class='flag-5'>LLM</b>推理<b class='flag-5'>加速</b>新范式!推测解码(Speculative Decoding)最新综述

    100%在树莓派上执行的LLM项目

    ChatGPT的人性口语化回复相信许多人已体验过,也因此掀起一波大型语言模型(Large Language Model, LLM)热潮,LLM即ChatGPT背后的主运作技术,但LLM运作需要庞大运算力,因此目前多是在云端(Cl
    的头像 发表于 02-29 16:29 2369次阅读
    100%在树莓派上执行的<b class='flag-5'>LLM</b>项目

    什么是LLMLLM的工作原理和结构

    随着人工智能技术的飞速发展,大型语言模型(Large Language Model,简称LLM)逐渐成为自然语言处理(NLP)领域的研究热点。LLM以其强大的文本生成、理解和推理能力,在文本
    的头像 发表于 07-02 11:45 1.8w次阅读

    LLM模型的应用领域

    在本文中,我们将深入探讨LLM(Large Language Model,大型语言模型)的应用领域。LLM是一种基于深度学习的人工智能技术,它能够理解和生成自然语言文本。近年来,随着计算能力的提高
    的头像 发表于 07-09 09:52 1835次阅读

    LLM大模型推理加速的关键技术

    LLM(大型语言模型)大模型推理加速是当前人工智能领域的一个研究热点,旨在提高模型在处理复杂任务时的效率和响应速度。以下是对LLM大模型推理加速关键技术的详细探讨,内容将涵盖模型压缩、
    的头像 发表于 07-24 11:38 2791次阅读

    什么是LLMLLM在自然语言处理中的应用

    所未有的精度和效率处理和生成自然语言。 LLM的基本原理 LLM基于深度学习技术,尤其是变换器(Transformer)架构。变换器模型因其自注意力(Self-Attention)机制而闻名,这种机制使得模型能够捕捉文本中的长距离依赖关系。
    的头像 发表于 11-19 15:32 4485次阅读

    小白学大模型:构建LLM的关键步骤

    随着大规模语言模型(LLM)在性能、成本和应用前景的快速发展,越来越多的团队开始探索如何自主训练LLM模型。然而,是否从零开始训练一个LLM
    的头像 发表于 01-09 12:12 1557次阅读
    小白学大模型:构建<b class='flag-5'>LLM</b>的关键步骤

    LM Studio使用NVIDIA技术加速LLM性能

    随着 AI 使用场景不断扩展(从文档摘要到定制化软件代理),开发者和技术爱好者正在寻求以更 快、更灵活的方式来运行大语言模型(LLM)。
    的头像 发表于 06-06 15:14 798次阅读
    LM Studio使用NVIDIA技术<b class='flag-5'>加速</b><b class='flag-5'>LLM</b><b class='flag-5'>性能</b>