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

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

3天内不再提示

Armv9架构中SME和SME2的关键用例

Arm社区 来源:Arm社区 作者:Arm社区 2024-09-03 11:36 次阅读

Arm 为在各类技术领域运行无处不在的人工智能 (AI) 奠定了坚实的技术基础。这得益于我们行业领先的架构可在全球数十亿台多样化设备上支持各种计算工作负载。

Arm 始终专注于快速地进行架构演进,确保我们领先的生态系统能够适应未来的技术趋势和不断变化的计算需求。虽然 AI 的迅猛崛起似乎是最近才出现的现象,但过去二十多年来,Arm 一直致力于为 AI 创新奠定基础,先是在 Armv7 架构中引入了高级单指令多数据 (SIMD) 扩展,初探机器学习 (ML) 工作负载,再是如今的 Armv9 架构,我们在 Arm CPU 上集成了用于加速和保护如大语言模型 (LLM) 等先进的生成式 AI 工作负载的特性。

可伸缩矩阵扩展 (SME) 就是其中的一项创新特性,旨在满足当今 AI 和 ML 工作负载日益增长的复杂性和功耗需求。除了加速当今的 AI 发展之外,SME 还为 Arm 架构提供了灵活性,便于管理不断发展的生成式 AI 工作负载。

可伸缩矩阵扩展及其特性

SME 是 Armv9-A 架构中引入的指令集架构 (ISA) 扩展,可加速 AI 和 ML 工作负载,并为 Arm CPU 上运行的 AI 和 ML 应用提供更高的性能、能效和灵活性。具体而言是通过以下特性实现的:

显著提升 Arm CPU 上的矩阵和矢量处理吞吐量和效率;

通过引入外积指令,减少内存带宽压力,尽可能地复用寄存器中加载的数据;

扩展压缩用户数据,在不增加内存负载带宽的情况下提高输入元素的吞吐量;

支持多种存储和计算数据类型,使其成为适用于当前和未来多种用例的灵活解决方案;

允许在实现中选择介于 128 至 2048 位的 Streaming Vector Length (SVL),从而实现 SVL^2 的矩阵-矩阵乘法吞吐量。

SME2 在 SME 的基础上增加了多矢量指令,允许在矩阵和矢量运算中复用架构状态 (ZA Array),并具有更高吞吐量的矢量处理能力。这有助于通过压缩 AI 格式来减少内存带宽并节省功耗,从而实现矢量和矩阵加速的平衡。SME2 还能够灵活地动态去量化,并解压缩 2 位和 4 位权重,以节省内存带宽。在生成式 AI 工作负载日益复杂和耗电加剧的背景下,这些特性非常重要,同时也彰显了 Arm 致力于应对 AI 无止尽的能源需求。

SME 和 SME2 的关键用例

SME 可加速如生成式 AI 和经典 ML 网络,以及计算机视觉 (CV) 等各种类型的 AI 和 ML 工作负载。具体的实现途径是 SME 能够处理矩阵乘矩阵、矩阵乘矢量和多个矢量乘矢量运算,以及 ML 执行过程中所需的前处理和后处理阶段。我们预计,SME 将有益于不同市场的各种 AI 用例,包括:

结合了 ML 和经典 CV/DSP 方法的应用,例如电影摄影、媒体处理、驾驶员监控、数字化座舱、音频处理、先进驾驶辅助系统 (ADAS) L2+ 和实时语音助手等。

利用小语言模型和 LLM 的用例,包括聊天机器人、对话摘要和虚拟助手等。

矢量处理、矩阵处理和量化

要了解 SME 的工作原理,有必要解释一下它所支持的不同 AI 处理技术,以及 SME 和 Armv9 架构为每种技术带来的好处。其中包括:

矢量处理

矩阵处理

矩阵乘法

量化

矢量处理

在 AI 和 ML 语境中,矢量代表数值和数据点的一维数组,通常用于对神经网络中的特征、输入或权重进行编码。矢量处理常用于现代 AI 框架和库,例如 TensorFlow 和 PyTorch 等。利用此方法,AI 算法可以高效应对复杂计算,更快地处理大型数据集,从而缩短训练时间,提高性能。SME 包含矢量指令,可并行计算多个值,而不是按顺序处理每个值,从多方面大大加快了 AI 计算。

矩阵处理

矩阵是数值和数据点的二维数组,在包括 ML 和深度学习在内的各种 AI 技术中发挥着至关重要的作用。通过 SME 进行矩阵处理需要对这些矩阵进行运算,以提高基于 AI 的核心工作负载的性能和效率,包括线性代数运算(如矩阵乘法)和神经网络。

矩阵乘法

矩阵乘法是 AI 和 ML 工作负载以及科学模拟和计算机视觉等其他计算工作负载的重要组成部分。矩阵-矩阵乘法运算对 CPU 上的 AI 加速越来越重要,并显著受益于 SME。Arm 架构随时间推移不断演进,通过引入新特性提高了这些运算的性能和效率。例如:

Armv7 增加了高级 SIMD 扩展,也称为 Arm Neon 指令。

Armv8.4-A 支持 8 位整数点积指令。

Armv8.6-A 支持各种数据类型的矢量内整数和浮点矩阵乘法指令,包括新的 BFloat16 数据类型。

Armv9-A 包括可伸缩矢量扩展 2 (SVE2),用于数字信号处理器 (DSP)、媒体和通用矢量化。

Armv9.2-A 引入了 SME。

量化

量化涉及降低数值的精度,通常是从浮点表示法转换为定点表示法。SME 使用该过程来减少 AI 和 ML 模型的内存带宽、占用空间以及计算复杂性,进而提高其效率,这对计算密集型生成式 AI 工作负载非常重要。这意味着它们可以部署在资源受限的设备上,如智能手机、移动设备、嵌入式系统物联网设备等。

Arm 架构长期致力支持 AI 特性

过去二十年来,Arm 一直致力于在架构上添加 AI 特性、规范和指令。2003 年首次发布的 Armv7 架构增加了高级 SIMD 扩展,也称为 Arm Neon 指令。Neon 将寄存器视为由相同数据类型的元素组成的一维矢量,指令可同时对多个元素进行操作。随后 Armv8 架构增加了一系列 AI 的规范和指令,包括点积指令、矢量内矩阵乘法指令和 BFloat16 支持。它还改进了高级 SIMD 扩展,将矢量寄存器的数量增加了一倍,并增加了浮点支持。所有这些改进和新增特性的目的都是用于加速 AI 和 ML 性能,以应对不断发展的 AI 工作负载。除了 SVE2、SME 和新的 SME2 之外,Armv9 架构还集成包含了所有这些特性、规范和指令。

SME 的核心优势

Armv9 架构上的 SME 显著提高了 Arm CPU 对现有 AI 和 ML 工作负载的处理能力,从而在各种 AI 驱动的设备和应用中带来速度更快、响应更灵敏的用户体验。它还能加速一系列使用矩阵运算的应用,如 DSP、科学计算、增强现实 (AR)、虚拟现实 (VR) 和图像处理等等,AI 和 ML 在所有这些应用中都扮演着日益重要的角色。

与能够以多种不同数据格式运行各种神经网络的 Arm CPU 类似,SME 也提供了灵活性,旨在满足不断发展的 AI 和 ML 工作负载日益复杂的要求。这将确保 Arm 架构在快速发展的 AI 时代及未来仍适用于至关重要的计算工作负载。展望未来,我们将继续在指令集中添加更多 AI 功能,以助益 Arm 领先的生态系统,让我们的合作伙伴能够为其 AI 解决方案提供更高的性能、创新特性和可扩展性。

基于 AI 的 Arm 架构创新

SME 体现了 Arm 在架构方面的不断创新。随着 AI 的不断发展壮大,SME 将确保 Arm CPU 能够高效地处理新的高能耗生成式 AI 工作负载,从而在数十亿台 Arm 技术驱动的设备上提供更好的 AI 体验。这将夯实 Arm 持续作为全球 AI 基石的地位。

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

    关注

    134

    文章

    9084

    浏览量

    367383
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10854

    浏览量

    211578
  • AI
    AI
    +关注

    关注

    87

    文章

    30728

    浏览量

    268886
  • SME
    SME
    +关注

    关注

    0

    文章

    8

    浏览量

    7044

原文标题:Armv9 SME 赋能 AI 创新

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

收藏 人收藏

    评论

    相关推荐

    Arm下一代指令架构Armv9”已经问世

    表示,安全性增强是最重要的关键。Arm在Armv8.3之后的阶段扩展中专注于安全性,并被视为迈向Armv9的一步。 Arm的指令集架构的发展对于当前的IT行业至关重要。这是因为高性能C
    的头像 发表于 11-13 11:55 4.4w次阅读

    十年来最大技术革新!Arm发布Armv9架构!不受美国EAR约束,华为可获授权!

    电子发烧友网报道(文/黄晶晶)当地时间3月30日,Arm宣布正式推出Armv9架构,以应对全球对无处不在的专业化处理的需求,这种处理具有越来越强大的安全性和人工智能(AI)能力。Armv9是ARM
    的头像 发表于 03-31 16:57 6858次阅读

    安谋科技:十年磨一剑的Armv9架构,下半年将有终端面市

    第九届EEVIA年度中国电子ICT媒体论坛暨2021产业和技术展望研讨会上表示,基于Armv9架构的处理器终端将于今年下半年面市。   Armv9架构特色  
    的头像 发表于 08-11 08:01 3826次阅读

    基于ARMv7架构的Cortex系列

    基于ARMv7架构的Cortex系列由ARM公司在2006年推出,Cortex系列的推出满足人们对性能日渐复杂的设计要求,根据不同需求,Cortex系列共三个不同的子系列...
    发表于 08-09 06:37

    armv8架构Arch32切换到Arch64是如何运作的

    各位大神,armv8架构,如果Arch32要去切换到Arch64,是如何运作的?状态会清空吗?
    发表于 06-06 16:13

    浅析Armv9-A构架上的可伸缩矩阵扩展(SME)

    Armv9-A构架扩展的早期技术细节,这个扩展就是可伸缩矩阵扩展(Scalable Matrix Extension, SME)。SME是一序列增强CPU构架对矩阵运算支持的最新更新。这次公开
    发表于 08-05 15:02

    重磅!Arm正式推出Armv9架构

    当地时间3月30日,Arm宣布正式推出Armv9架构,以应对全球对无处不在的专业化处理的需求,这种处理具有越来越强大的安全性和人工智能(AI)能力。Armv9是ARM公司十年来的最大技术革新。上一代
    发表于 03-31 09:43 2637次阅读
    重磅!Arm正式推出<b class='flag-5'>Armv9</b><b class='flag-5'>架构</b>

    浅谈ARM发布Armv9的三大改进

    英国芯片设计公司Arm周二发布了Armv9,这是其在2011年发布Armv8之后十年来首次推出新的芯片架构。Arm表示,与以前的架构相比,Armv9
    的头像 发表于 04-01 15:17 2341次阅读

    Arm公司正式发布了该公司的新一代Armv9架构的首个细节

    今天,作为Arm的Vision Day活动的一部分,该公司正式发布了该公司的新一代Armv9架构的首个细节,为Arm未来十年内成为下一个3000亿芯片的计算平台奠定了基础。
    的头像 发表于 04-13 14:45 2750次阅读
    Arm公司正式发布了该公司的新一代<b class='flag-5'>Armv9</b><b class='flag-5'>架构</b>的首个细节

    浅谈Armv9的三个技术特性及引发的市场竞争力

    十年转瞬,Armv9架构终于露出庐山真面目,适用于Arm全系列芯片的Armv9架构,这次的升级瞄准的则是日益强大的安全、人工智能(AI)和无处不在的专用处理的需求。
    的头像 发表于 04-15 18:08 3754次阅读

    ARMv9架构能否解决中国“缺芯”之急?

    近日,ARM正式宣布推出ARMv9架构。据ARM官方称,这是10年来最重要的创新,是未来3000亿ARM芯片的基础。
    发表于 05-02 17:06 2407次阅读

    Arm推出三款基于Armv9架构的全新CPU内核

    从全面升级到Armv9架构,到公布Neoverse V1和N2平台技术细节,再到推出三款基于Armv9架构的全新CPU内核,短短两个月时间里
    的头像 发表于 06-12 09:11 4225次阅读

    Armv8架构Armv9架构的区别分析

    新的Armv9兼容CPU所承诺的最大的新功能可能是开发人员和用户可以立即看到的——SVE2作为NEON的后继产品。
    发表于 03-10 14:02 4801次阅读

    移动端芯片性能提升,Armv9架构新升级引发关注

    “数码博主”5月17日的最新爆料指出,联发科积极推进Armv9新一代IP BLACKHAWK“黑鹰”的架构设计,预计天玑9400芯片将采用这一架构,有望以“全大核”设计再度领跑移动SoC CPU性能榜单。
    的头像 发表于 05-17 16:51 1008次阅读

    Armv9 CPUSVE2的实际

    随着每一代新产品的推出,Arm CPU 都会实现代际性能提升,并引入架构改进,以满足不断演进的计算工作负载的需求。本文将重点介绍三个,以展示 Armv9 CPU 的
    的头像 发表于 10-21 09:54 365次阅读
    <b class='flag-5'>Armv9</b> CPU<b class='flag-5'>中</b>SVE<b class='flag-5'>2</b>的实际<b class='flag-5'>用</b><b class='flag-5'>例</b>