×

签到

分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

MLU370— MagicMind编程技术直播课【FAQ合集】 三叶虫2022-11-22 16:25:48 回复 查看 技术答疑
MLU370— MagicMind编程技术直播课【FAQ合集】
分享到:

直播课简介:

Cambricon MagicMind编程技术实战——基于MagicMindYolov5推理实战

重点介绍MagicMind与MLU370软硬件平台、yolov5网络结构简要梳理,并且现场演练使用MagicMind进行yolov5的模型转换、量化与推理实践技术。

回看链接:

【MLU370系列开发实战直播课】Cambricon MagicMind编程技术实战_哔哩哔哩_bilibili

其余两节直播链接:

【MLU370系列开发实战直播课】Cambricon Pytorch应用实战_哔哩哔哩_bilibili

【MLU370系列开发实战直播课】BANG编程最佳实践系列——BANG 3.0 编程优化_哔哩哔哩_bilibili

MagicMind编程技术【FAQ合集】

Q1: MagicMind对硬件有要求吗?

A1: 硬件平台需要部署寒武纪MLU370系列AI计算卡。

370系列加速卡提供MLU370-S4(半高半长单槽位)、MLU370-X4(全高全长单槽位)、MLU370-X8(全高全长双槽位)三种型号。

具体介绍可查看官网:https://www.cambricon.com/index.php?m=content&c=index&a=lists&catid=360

硬件文档查看:

MLU370-S4 智能加速卡产品手册 — MLU370-S4 智能加速卡产品手册 1.0.0 文档 (cambricon.com)

MLU370-X4 智能加速卡产品手册 — MLU370-X4 智能加速卡产品手册 1.0.0 文档 (cambricon.com)

MLU370-X8 智能加速卡产品手册 — MLU370-X8 智能加速卡产品手册 1.0.0 文档 (cambricon.com)

 

目前,可在寒武纪社区首页的右下角悬浮小窗口申请试用,欢迎广大开发者们选用!

点击这里直达寒武纪开发者社区:首页寒武纪开发者社区 (cambricon.com)

 

Q2: 可以不直接从文件而是二进制数据读取模型吗?

A2: 可以直接使用build_model生成的模型进行推理;budild_model生成的模型可以序列化到文件或者内存,或从文件内存反序列化,主要满足跨平台部署需求。

 

Q3: 请问MLU370+MagicMind如何实现多卡并行运行呢?

A3: 通过创建dev =mm.Device(), 指定dev.id=* ,并激活dev.active().ok()方式对于模型部署在多张卡上并行运行。

 

Q4: 加强的最小化量化噪声算法是啥?

A4: EQNM加强的最小量化噪声算法是寒武纪自研的一种量化统计算法计算方式。是对输入数据的量化部分数据的度量和对输入数据的截断部分数据的度量。通过将输入数据根据量化操作分成两类来评估量化差异,可以更准确地表征量化对数据有效信息的影响,从而有利

于对量化参数的优化,以提供更高的量化推理精度。

更多有关eqnm的使用方法请参考寒武纪Magcmind用户手册 6.混合精度章节。关于eqnm量化原理等介绍请参专利链接

 

Q5: CUDA上的模型如何高效移植到寒武纪MLU上?

A5: 本节视频实践教程就是具体讲解CUDA模型如何移植到MLU板卡上,点击链接观看:【MLU370系列开发实战直播课】Cambricon MagicMind编程技术实战_哔哩哔哩_bilibili

按照以上教程中的流程及步骤即可

 

Q6: MagicMind后续会考虑支持MLU2系列板卡吗?

A6: 暂时没有考虑。

 

Q7: 请问BANG C 和 BANG Py二者在功能上有什么区别吗?

A7: 没有区别,BANGPy是为了更多使用python的开发者更便捷地去学习而专门开发出来的

 

Q8: MagicMind支持QAT吗?

A8:支持

 

Q9: MagicMind支持ptq吗?

A9:支持

 

Q10: MagicMind只支持pytorch模型吗?

A10: 除了pytorch模型以外,还支持TensorFlowCaffe, Onnx以及paddle paddle模型。

 

Q11: GPU训练好的模型,能用寒武纪MagicMind 加速吗?

A12: 可以,模型转换生成MagicMind相应的配置即可

 

Q13: MagicMind是否支持yolov7?                                                                     

A13: 支持,yolov5的移植流程和yolov7是一样的,可以参考本篇实践教程

【MLU370系列开发实战直播课】Cambricon MagicMind编程技术实战_哔哩哔哩_bilibili

 

Q14:请问cbs是什么含义?

A14: CONV+BN+SiLU的简称,具体查看下图网络结构:

image.png


Q15: 什么是量化?为什么要做量化?模型量化后检测精度会有损失吗?

A15: 量化本质是数据映射,把高精度表示的数据表示范围映射到低精度上,降低运算量、节省运算资源,加快运行效率;目的是在可接受的精度损失范围内提升性能;量化会使得推理精度降低,但通过量化校准,可以解决在降低运算量、节省运算资源的同时,仍然能够实现一定的量化推理精度的技术问题。

 

Q16: Qint8和int8有什么区别?

A16: Qint8并不是真实的int8,是由高精度,例如float32映射到int8的数据类型

 

Q17: 使用MagicMind进行推理性能一定比不使用MagicMind更强吗?

A17: Magicmind在生成模型时会有不同级别的优化功能,有助于提升网络的运行效率。

 

Q18: YOLOV5 6.0版本的S模型训练得到的文件可以在6.1版本的V5S下在270或370使用吗?

A18: 不管是6.0还是6.1都是可以在寒武纪MagicMind运行的

 

Q19:量化的精度损失一般是多少?

A19: 没有固定的结论,这与具体的量化图片选取的数量以及量化方式都有一定的关系

 

Q20: MagicMind支持python3.8吗?

A20: 支持

 

Q21: 使用MagicMind是否会存在负优化?

A21: 不会存在负优化。

 

Q22: GPU卡必须要做量化吗?

A22: 不一定,建议在MagicMind上使用量化,也可以不做量化,直接使用float32进行推理

 

Q23: 寒武纪现在有完整的适用于MM的yolov5的demo吗?

A23: 有完整的demo,寒武纪社区在线课程中有教学视频,并且,最近开放的gitee平台也有很多已经适配好的模型,可以帮助开发者们实现一键运行,点击链接直达gitee:modelzoo: Cambricon Modelzoo (gitee.com)

 

Q24: 使用MagicMind编译模型的性能具体怎么样?

A24: 不同的网络性能不一样,需具体问题具体分析。举例,在生成magicmind模型时除了量化功能外会有多种优化功能的参数配置,可通过设置是否开启优化参数来对比性能差异。

 

Q25: MagicMind能否在MLU220或者270上运行?

A25: MagicMind不能在MLU2系列上运行,其支持370系列以及后续的板卡系列

 

Q26: 模型中如果有MagicMind不支持的算子怎么办?如有还能用MagicMind完成推理吗?

A26: 可以完成推理。MagicMind支持多后端,即CPU后端和MLU后端,当遇到MM不支持的算子时,会自动将算子放入CPU后端中

 

Q27: 怎样才能使用到MagicMind?必须要先购买板卡吗?

A27: 不一定需要,可以先在寒武纪社区首页申请试用:首页 – 寒武纪开发者社区 (cambricon.com) 点击首页右下角的“申请试用”按钮填写需求即可,审核通过后通过试用平台就可以使用到MagicMind了

 

Q28: C++和Python的hpi性能有差异吗?

A28: 一般来说没有性能差异但是C++可以通过一些多线程pipeline优化来提升整体性能

 

Q29: MagicMind默认的线程是1线程吗?

A29: mm_run工具运行magicmind模型时默认是1线程,可以通过--threads参数改变线程数。在实际推理业务中线程数需要用户自己设置。

 

Q30: MagicMind的0.13和0.14都支持python3.7和3.8吗?

A30: 目前支持3.7,后续可以支持3.8

 

Q31: 寒武纪硬件平台支持虚拟化吗?

A31: 支持

 

Q32: 量化数据集应该怎样选择?

A32: 量化的数据集没有固定的方式或选取的数据限制,通常根据经验判断,更多选取总测试集的10%或30%的数据


版权所有 © 2022 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭