当前位置:首页 » 《随便一记》 » 正文

Qualcomm AI Hub-Profiling介绍

20 人参与  2024年04月11日 10:57  分类 : 《随便一记》  评论

点击全文阅读


文章介绍

        Qualcomm® AI Hub能够帮助开发者能够快速的针对AI模型进行验证,优化以及部署到设备端。通过Qualcomm AI Hub上的Profile任务能够收集到在AI模型再不同的物理设备上运行所需的资源,基于这些关键指标,可以判断出目标的机器是否能够提供AI模型运行需要资源,目前机器的推理时间是否能够达标。本文主要介绍Qualcomm AI Hub的Profile任务收集的关键指标,以及这些指标的意义。

概述

Profile的任务主要收集目标模型四个不同时间段所需要的资源。

模型编译时Compilation –  模型在物理设备上编译时候所需要的相关资源。模型第一次加载时(First App Load ),操作系统可能会进一步运行时优化,这些优化针对执行模型推理的硬件平台。例如,Qualcomm® Hexagon™ Processor的神经网络处理器(NPU),模型第一次加载时候会对模型做预处理和缓存,为下来的模型推理准备。模型后续加载时(Subsequent App Load) ,从第二次以及后续模型加载,利用之前缓存优化过的模型,可以减少硬件开销。模型推理时Inference – 模型加载完成后,Hub执行推理。Profiling 任务准备随机数据,并在一个紧密的循环中多次执行模型推理。

如下图所示,这个Yolov8在Snapdragon® 8 Gen 2 | SM8550上Profiling的结果

如上图所示,每一个阶段的Profiling有两个关键的指标Time和Memory 下来阐述下这两个指标的意义。

Time 耗时

First App Load-Time 模型首次加载完成后的时间Subsequent App Load 模型多次迭代加载过程所需的时间,成本仅包括对推理框架的调用成本和少量开销Inference-Time   推理时间是纯推理耗时。每个只生成一次输入,并在多次迭代中重复使用。Hub记录观察到的最短时间

Memory 内存

      有很多方法可以描述应用程序的内存使用情况。然而,大多数开发人员从操作系统的角度解读他们的应用程序的内存时候。这决定了应用程序是被kill掉还是被要求回收内存。Hub提供的是内存使用区间而不是单个数字,为什么我们认为提供内存区间比单个数字更有指标的意义呢?

     参考我们的文档How it works — qai-hub documentation 里面阐述了虚拟内存基本工作原理,这也是为什么我们认为统计内存使用范围更有意义

Peak vs Increase

      用于完成任务的内存通常会超过结果的大小。考虑一个场景,我们正在编译一个模型;假设编译器中没有内存泄漏,将设备上的模型转换为已编译的模型将需要一定的内存,从而在磁盘上留下工件,而在内存中没有对象。如果编译器占用了40 MB,我们可以说它的峰值(Peak)使用量是40 MB,但内存使用量的稳态增长(Increase)是0字节。

 表1:大型CNN模型的内存指标。

Stage

Peak

Increase

Compilation

162.7 - 163.4 MB

0.0 - 0.7 MB

First App Load

1.7 - 2.8 MB

0.6 - 1.7 MB

Subsequent App Load

1.8 - 2.5 MB

0.8 - 1.6 MB

Inference

629.6 - 630.6 MB

378.7 - 379.6 MB

所以在Profiling结果中,我们展示了峰值范围,它突出了您的模型对内存压力的最重要贡献,内存压力可能会导致操作系统终止您的应用程序。我们的AI-Hub 的Python客户端库中提供了这些和所有其他度量。完整的内存和时序度量如表2所示。

      表2:ProfileJob.download_profile的结果execution_summary中返回的度量。

Key

Type

Units

compile_memory_increase_range

(int, int)

Bytes

compile_memory_peak_range

(int, int)

Bytes

first_load_memory_increase_range

(int, int)

Bytes

first_load_memory_peak_range

(int, int)

Bytes

warm_load_memory_increase_range

(int, int)

Bytes

warm_load_memory_peak_range

(int, int)

Bytes

inference_memory_increase_range

(int, int)

Bytes

inference_memory_peak_range

(int, int)

Bytes

compile_time

int

Microseconds

first_load_time

int

Microseconds

warm_load_time

int

Microseconds

estimated_inference_time

int

Microseconds

 作者:高通工程师,戴忠忠(Zhongzhong Dai)


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/93599.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 他的干妹妹怀孕后,我闪婚了文集(林诺陆深)全书免费_(林诺陆深)他的干妹妹怀孕后,我闪婚了文集后续(林诺陆深)
  • 江先生,你要听话列表列表_江先生,你要听话列表(许清欢江砚舟)
  • 一抹斜阳相思泪后续+必读夏知微陆远川完本_一抹斜阳相思泪后续+必读(夏知微陆远川)
  • 「不当假少爷后,我娶了首富当老婆」免费试读_萧寒沈凌薇章节多结局预体验‌
  • 全书浏览我死后,数万网友对我进行审判火爆(董天华尹瑶)_我死后,数万网友对我进行审判火爆(董天华尹瑶)全书结局
  • 纨绔恶少抽盲盒选妻子,我换嫁绝嗣总裁后他发疯求原谅+免费+后续列表_纨绔恶少抽盲盒选妻子,我换嫁绝嗣总裁后他发疯求原谅+免费+后续(阮玉绵)
  • 完结文晚云为落日溺亡++后续列表_完结文晚云为落日溺亡++后续(裴念舒)
  • [修仙:我在云疆养仙蚕]章节多结局预体验‌_「林珂」小说无删减版在线阅读
  • 全书浏览我死后,数万网友对我进行审判++番外(董天华尹瑶)_我死后,数万网友对我进行审判++番外(董天华尹瑶)全书结局
  • 被兄弟俩接连当工具人后,我杀疯了后续+(贺云舟)全书免费_(贺云舟)被兄弟俩接连当工具人后,我杀疯了后续+后续(贺云舟)
  • [发现装穷老公的真面目后,我迎来美好人生]反转剧情碎片化试读_傅思瀚方知晓晓晓完结
  • 完结文未婚夫求我放过他,换掉联姻对象后他却傻眼了。列表_完结文未婚夫求我放过他,换掉联姻对象后他却傻眼了。(傅深)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1