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

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

3天内不再提示

如何在Arm Ethos-U85上使用ExecuTorch

Arm社区 来源:Arm社区 2025-02-14 14:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:Arm 工程部应用机器学习总监 Robert Elliott、Arm 工程部首席工程师 Fredrik Knutsson、Arm 物联网事业部技术管理总监 Mark Quartermain

在快速发展的机器学习领域,PyTorch 凭借其灵活性和全面的生态系统,已成为模型开发的热门框架。Arm 与 Meta 合作在 ExecuTorch 中引入了对 Arm 平台的支持,进一步简化了模型算法开发过程,实现无缝在边缘侧设备上部署 PyTorch 模型。

ExecuTorch 对 Ethos-U85 的支持

高性能的 Arm Ethos-U85 NPU 可满足在边缘侧日益增长的运行先进人工智能 (AI) 推理工作负载的需求,包括诸如大语言模型等基于 Transformer 的网络。Arm 针对 Ethos-U 提供参考设计,如 Arm Corstone-320 物联网参考设计平台,以加速和简化芯片开发周期。参考设计平台中包含固定虚拟平台 (FVP) 等许多项目,FVP 可仿真整个系统,为 Ethos-U85 平台上进行前沿的嵌入式软件开发和神经网络部署提供支持。

Arm 通过在 Ethos-U85 上支持 ExecuTorch 测试版,为开发者构建物联网边缘侧应用提供了更多支持。开发者可以借助 ExecuTorch,高效地部署原生开发的 PyTorch 模型,基于 Arm 平台构建出智能且响应迅速的物联网解决方案。

随着该软件包的推出,想要创建边缘侧 AI 应用的开发者能够在平台上市前数月就开始模型和应用的软件开发工作。

在 Ethos-U85 上开始使用 ExecuTorch

ExecuTorch GitHub 公共代码仓库中提供了完整的开发环境。其中包含一个集成且经过测试的开发流程和所有必要组件。

三个简单的步骤如下所示:

设置 ExecuTorch

https://pytorch.org/executorch/main/getting-started-setup.html

设置 Arm Build 环境

https://pytorch.org/executorch/main/executorch-arm-delegate-tutorial.html

在 arm_executor_runner 上编译并运行模型

https://pytorch.org/executorch/main/executorch-arm-delegate-tutorial.html#delegated-quantized-workflow

之后就可以在此流程的基础上编译和运行模型,从 Ethos-U85 驱动程序采集周期数信息等运行时行为。

为了让最终用户更轻松地完成此过程,Arm 还向 ExecuTorch 代码仓库贡献了脚本:

设置 ExecuTorch

setup.sh:下载必要的软件

https://github.com/pytorch/executorch/blob/main/examples/arm/setup.sh

run.sh:在 Corstone-320 FVP 上编译并运行模型

https://github.com/pytorch/executorch/blob/main/examples/arm/run.sh

要构建其他模型,可使用提前编译器脚本 aot_arm_compiler.py,它能将 PyTorch 项目代码 (nn.module) 转换为 ExecuTorch 项目代码(.pte flatbuffer 文件)。

脚本链接:

https://github.com/pytorch/executorch/blob/main/examples/arm/aot_arm_compiler.py

要编写使用 ExecuTorch 的自定义应用,可以按照示例 executor_runner 应用中的应用流程进行操作。

示例 executor_runner 应用链接:

https://github.com/pytorch/executorch/tree/main/examples/arm/executor_runner

随着陆续支持更多算子,我们将能够支持更多的 PyTorch 模型。后续添加的更多功能,将通过 pytorch.org 上的 Ethos-U 教程材料进行演示。

Ethos-U 教程:

https://pytorch.org/executorch/main/index.html

部署流程的详细工作原理

利用 ExecuTorch 的可扩展性和 Arm 的张量算子集架构 (TOSA) 的特性,Arm 在 ExecuTorch 中实现了 Ethos-U 支持。Ethos-U 编译器 Vela 已通过 TOSA 前端得到增强,可以为 Ethos-U 系列中的所有产品编译模型。

为了将这些组件整合为一个连贯的工作流程,需要遵循以下步骤:

将 PyTorch 模型转换为可部署的 ExecuTorch 程序(AOT 流程)

将 ExecuTorch 程序编译为可执行文件,以便部署在 Corstone-320 上(运行时流程)

ExecuTorch 的 AOT 流程

此过程首先使用 PyTorch 的dynamo export 功能,将 PyTorch 模型转换为量化的 TOSA 表示。然后,就能利用 Vela 编译 TOSA 前端生成一组 Ethos-U 机器指令(称为命令流)。接着,命令流被捆绑到 Executorch 程序中,由 flatbuffer 文件 (.pte) 表示。该文件中包含了 ExecuTorch 运行时使用 Ethos-U 硬件执行推理所需的所有内容。

c5bf9cb4-ea89-11ef-9310-92fbcf53809c.jpg

ExecuTorch 运行时流程

ExecuTorch 运行时以 C/C++ 编写,可支持多种后端。Arm 对 ExecuTorch 运行时进行了扩展,以包含对 Ethos-U 设备驱动程序的支持。按照此流程操作,将生成一个独立的经过编译的可执行文件。在 Corstone-320 FVP 上部署可执行文件非常简单,只需要在调用 FVP 时使用适当的标志即可。

c5d19e00-ea89-11ef-9310-92fbcf53809c.jpg

Ethos-U85 和 Corstone-320

Ethos-U 系列 NPU 为边缘侧 AI 提供高性能、高能效的解决方案。Ethos-U55(同样受 ExecuTorch 支持)广泛应用于众多 Arm Cortex-M 异构系统,而 Ethos-U65 则将 Ethos-U 系列的适用性扩展到基于 Cortex-A 的系统,并提升了性能。

Ethos-U85 进一步扩展了 Ethos-U 产品线,支持当前以及未来更多使用 Transformer 神经网络架构的边缘侧工作负载。与前代产品相比,Ethos-U85 的性能提升了四倍,能效提高了 20%,在主流神经网络上的利用率高达 85%。

Ethos-U85 的显著特性包括:

配置范围从 128 到 2048 MAC/周期,在 1GHz 下可提供高达 4 TOP/s 的性能。

兼容基于 Cortex-A 和 Cortex-M 的系统。

通过支持 TOSA,对主要的神经网络提供原生支持。

可对主要的神经网络进行全面硬件加速。

完整列表请参阅 Ethos-U85 技术概述

https://developer.arm.com/documentation/102684/0000

未来规划

Arm 会陆续增加新的算子支持,扩展 ExecuTorch 核心 ATen 算子的覆盖范围,并支持更多模型在 Ethos-U 上运行。Arm 将持续专注于提高性能,以确保模型在 Ethos-U 上高效运行。

ExecuTorch 委托框架支持将 Ethos-U 不支持的算子回调到 CPU 上运行,使用参考内核执行。Arm 致力于使用 CMSIS-NN 在 Cortex-M CPU 上实现卓越性能,为回调算子提供更好的支持,并确保在没有 Ethos-U 功能的设备上也能实现良好性能。

上述的软件包和 Corstone-320 FVP 是 Arm 在简化应用开发道路上迈出的又一步,欢迎各位开发者继续探索代码和构建过程,并向 Arm 提供反馈意见。同时,Arm 也致力于支持更多特性和模型,并尽可能充分发挥硬件性能。

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

    关注

    135

    文章

    9499

    浏览量

    388721
  • AI
    AI
    +关注

    关注

    89

    文章

    38095

    浏览量

    296620
  • 开发环境
    +关注

    关注

    1

    文章

    252

    浏览量

    17532
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136233

原文标题:三步轻松上手!在 Arm Ethos-U85 上使用 ExecuTorch

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    何在STM32实现USB主机读写U盘文件

    在项目应用中,经常会有对外交换数据的需求。USB接口读写U盘无疑是一种颇为方便的选择。在这一篇中,我们就来讨论如何在STM32实现USB主机读写U盘文件的方法。
    的头像 发表于 12-13 17:20 1.8w次阅读
    如<b class='flag-5'>何在</b>STM32<b class='flag-5'>上</b>实现USB主机读写<b class='flag-5'>U</b>盘文件

    Arm推动生成式AI落地边缘!全新Ethos-U85 AI加速器支持Transformer 架构,性能提升四倍

    等领先企业均已推出搭载 Ethos-U 的量产芯片。最近,Arm发布Arm Ethos-U85 AI加速器,这款加速器在性能、算力、应用场景方面进一步拓展,着
    的头像 发表于 04-16 09:10 5896次阅读
    <b class='flag-5'>Arm</b>推动生成式AI落地边缘!全新<b class='flag-5'>Ethos-U85</b> AI加速器支持Transformer 架构,性能提升四倍

    介绍一种Arm ML嵌入式评估套件

    是一个开源 Python 工具,可将 TFLite NN 模型编译为可在包含 Arm Ethos-U NPU 的嵌入式系统运行的优化版本。您可以通过运行 $pip install
    发表于 08-12 15:35

    Arm Ethos-U NPU应用程序开发概述

    到嵌入式系统中,并使用两个Arm连接到嵌入式或外部存储器AMBA 5 AXI接口,M0和M1。 •为了优化Ethos-U NPU的性能,AXI接口M0应连接到高速、低延迟存储器,如SRAM。内存用于
    发表于 08-02 06:37

    Arm Ethos-U NPU处理器入门指南

    感谢您使用Arm Ethos-U NPU处理器系列。为您提供最好的使用Arm Ethos-U NPU开发机器学习(ML)应用程序的经验设计我们的工具,使软件工程变得简单高效。此外,
    发表于 08-08 06:17

    ARM正式发布了针对物联网设备的AI芯片设计——Cortex-M55

    此外ARM还发布了一款神经处理单元Ethos-U55,Ethos-U55 NPU旨在加快机器学习,而U55的设计将更加精简,且只能与较新的Cortex-M处理器(如M55、M33、M7
    的头像 发表于 02-13 07:35 3698次阅读

    Arm推出新一代Ethos-U AI加速器及全新物联网参考设计平台

    Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称“Arm”)今日宣布推出 Arm Ethos-U85 神经网络处理器 (NPU),是
    的头像 发表于 04-09 17:02 1510次阅读
    <b class='flag-5'>Arm</b>推出新一代<b class='flag-5'>Ethos-U</b> AI加速器及全新物联网参考设计平台

    Arm Ethos-U85:满足物联网面向AI时代的高性能需求

    随着人工智能 (AI) 不断对我们的日常生活产生越来越大的影响,其推理任务也逐渐从云端迁移到边缘侧和端侧。
    的头像 发表于 04-09 17:04 2142次阅读
    <b class='flag-5'>Arm</b> <b class='flag-5'>Ethos-U85</b>:满足物联网面向AI时代的高性能需求

    Arm发布第三代NPU,适用于工业自动化等场景,性能提升四倍

    Ethos-U85 在能源效率上相比前作提高了 20%,且可兼容常用神经网络以达 85% 的利用率。其设计适配基于 Arm Cortex-M / A 处理器内核的系统,对内存延迟有较强适应性。
    的头像 发表于 04-12 16:13 1598次阅读

    Arm推第三代边缘AI加速器:Arm Ethos-U85

    除了Ethos-U85之外,Arm还推出了全新的物联网参考设计平台Corstone-320。该平台将Arm最高性能的Cortex-M85 CPU、Mali-C55图像信号处理器和
    发表于 04-16 11:09 1290次阅读
    <b class='flag-5'>Arm</b>推第三代边缘AI加速器:<b class='flag-5'>Arm</b> <b class='flag-5'>Ethos-U85</b>

    Arm发布新一代Ethos-U AI加速器 Arm旨在瞄准国产CPU市场

    Arm发布的新一代Ethos-U AI加速器确实在业界引起了广泛关注。
    的头像 发表于 04-18 15:59 1570次阅读

    何在DRA821U使用Linux实现快速引导

    电子发烧友网站提供《如何在DRA821U使用Linux实现快速引导.pdf》资料免费下载
    发表于 09-03 10:11 0次下载
    如<b class='flag-5'>何在</b>DRA821<b class='flag-5'>U</b><b class='flag-5'>上</b>使用Linux实现快速引导

    ArmExecuTorch合作加速端侧生成式AI实现

    Arm 正在与 Meta 公司的 PyTorch 团队携手合作,共同推进新的 ExecuTorch 测试版 (Beta) 上线,旨在为全球数十亿边缘侧设备和数百万开发者提供人工智能 (AI) 和机器学习 (ML) 功能,进而确保 AI 真正的潜力能被最广泛的设备和开发者所
    的头像 发表于 11-15 11:30 1071次阅读

    基于Arm Ethos-U85 NPU部署小语言模型

    随着人工智能 (AI) 的演进,人们对使用小语言模型 (SLM) 在嵌入式设备执行 AI 工作负载的兴趣愈发高涨。
    的头像 发表于 01-20 09:53 946次阅读

    Arm推出全球首个Armv9边缘AI计算平台

    全球首个 Armv9 边缘 AI 计算平台以 Cortex-A320 CPU 和 Ethos-U85 NPU 为核心,专为物联网应用优化,支持运行超 10 亿参数的端侧 AI 模型,已获得包括亚马逊云科技 (AWS)、西门子和瑞萨电子等在内的多家行业领先企业的支持。
    的头像 发表于 02-27 17:08 1229次阅读