最后更新:2020-05-15 09:44:36 手机定位技术交流文章

“易于使用的开源框架头脑孢子”是由机器之心和华为提升学院联合组织的一系列开放课程。这门课于4月23日正式开始。2000多名学生一起完成了六门课程。在3周内,系统描述了MindSpore的整体架构、自动并行和分布式部署特性、图形引擎、端到端代码调用过程、容器化部署和操作、模型健壮性评估工具和可视化工具使用指南等。
为了帮助大家更好地完成后续学习,我们对这一系列课程的内容进行了编辑和总结,供大家参考。
复习1:课程视频
第一课:MindSpore分布式自动并行训练“链接”
第一课介绍了mindsport的整体架构,MindExpression模块中涉及的自动并行和分布式部署特性,并通过演示练习演示了mindsport的自动并行特性。
第二课:头脑中的石墨烯孢子分析“链接”
第二课介绍了瑞星芯片的特点,MindSpore中的石墨烯是如何适应瑞星来完成整个画面下沉的,以及石墨烯提供的底层调试工具如何帮助开发人员方便地使用它。
第3课:思维孢子代码流分析“链接”
第三节从源代码的角度分析了mindsort的端到端调用过程,并以CPU操作员开发为例展示了mindsort的操作员开发过程。
第4课:K8SMINE孢子操作员介绍“链接”
第四课介绍如何从头开始配置容器环境,学习如何编写自定义K8CRD,完成简单的任务yaml文件编写,并知道如何启动和监控维护任务窗格。
第5课:思维孢子模型稳健性评估工具“链接”
第五课介绍了人工智能模型对抗样本攻击和防御的原理、鲁棒性评估工具和MindSpore模型的特点,并通过一组演示介绍了它的用法。
第6课:心灵孢子可视化工具“链接”的使用指南
第六课介绍了MindSpore可视化工具的主要功能和架构设计,并演示了如何通过演示使用MindInsight跟踪和调试培训信息。
如果您在观看回放过程中有任何问题,您可以关注MindSpore的gitee和github,并随时提出问题。官员们会及时回答他们:
吉蒂:https://gitee.com/mindspore
https://github.com/mindspore-ai
复习2:选择问题和答案
在课程现场直播后,我们布置了几个项目练习作业。在练习过程中,小伙伴们与小组中的讲师进行了大量的讨论和交流。我们还向优秀学生分发了《深度学习和心灵孢子练习》一书。



在每门课程的现场问答环节中,有近40个问题被广泛提及,因此我们再次选择并总结了这些问题,供您在观看视频回放和日常学习时参考。

第一课质量保证
问:细分是平均的吗?如果它被分成五份和四份,会发生什么?
首先,在分割方法中,实际上存在平行分割的约束。例如,它的维度数据和计算资源实际上需要被平均分割,这是基于2的,也就是说,指定分割策略中的数字必须都是2的倍数。此外,正如刚才提到的,如果有一个问题不能平均分配,我们将在框架中实际检查它。如果有一个张量排列模型不能被平均分配,我们将直接报告检查中的错误。
问:你需要什么硬件支持?你自己的笔记本电脑能运行网络吗?
目前,笔记本电脑或配有图形处理器的环境可以通过文件镜像进行简单的测试。至于自动并行的特点,对中央处理器和图形处理器的支持还在不断完善。我们建议用户在上升芯片上使用自动并行。作为普通用户,他们可以关注我们的开源社区,并向MindSpore开发者体验环境申请试用。
问:效率提高了多少?你有比较数据吗
在开源社区中,我们发布了Cifar10数据集的培训性能数据。对于自动并行功能,与行业水平比较的数据仍在测试和收集中。目前公布的性能数据基于mindspore+ rising芯片,并与其他并行模式进行了比较。从刚刚显示的表格可以看出,在大分类数的情况下,自动并行模式的性能与数据并行模式相比有了很大的提高。
问:管道并行性怎么样?
在我们的框架规划图中,我们可以看到提到了流水线并行的概念,这是自动并行的规划方向之一。流水线并行性是我们刚才提到的层间模型并行性的概念,它需要根据层将模型分成多个卡。如果开发人员很难手动实现模型,我们需要考虑性能、内存、通信、培训效果等问题。我们希望通过该框架完成自动将模型按层划分为卡片的目标。
问:数据并行是一个全面的实现吗?
数据并行是通过集体通信在思维孢子中实现的。使用由AllReduce操作完成的梯度聚合部分,BroadCast完成由参数启动的广播操作。

第2课质量保证
问:什么是循环下沉?
循环接收是基于设备上执行的进一步技术,旨在进一步构建主机端和设备端之间的交互数量。通常,我们习惯于为每个步骤返回一个结果。循环下沉是为了控制每隔一段时间返回一个结果的步数。默认配置是返回一个时期的结果。因此,在每个时期,主机端和设备端之间只需要一次数据交互。
问:设备上是否定义了问:融合?
对应于FusionOP的特定操作符由它的操作符实现,它存储在操作符信息库中。融合融合操作在主机端的中央处理器上完成,并且在设备上运行该融合操作。
问:问:侧写只能用于提升吗?
只能在上升时使用。
问:性能分析有操作开始时间吗?
分析是记录操作的开始和结束时间,以便计算操作员的时间消耗。
问:哪些数据可以被转储?
通过配置,网络中存在的任何数据都可以被转储,每个操作符的输入和输出,每个参数的值和梯度都可以被转储。
问:运营商在不同加速器上的调度策略是什么?
在图形准备阶段,操作员引擎分配将根据成本函数进行。在流分配阶段,将充分考虑不同操作符之间并行计算的可能性,并将详细指定每个操作符的执行引擎。
问:问:通用电气与思维孢子中的硬件有互动吗?
是的,通用电气专门负责与Ascend芯片互动。
问:310你不会训练吗?
310只能做推理。思维孢子训练模型固化成pb格式后,可以部署到310芯片上进行推理。
问:如何定制瑞星芯片支持的操作?
张量增强引擎是为支持自定义操作而提供的。递增芯片的操作符需要以cce格式代码编写,并且需要明确指定内存处理操作。它极其复杂。使用该工具,您可以通过简单地调用其python接口来完成运算符的逻辑定义,从而生成可以在Ascend上运行的自定义运算符。

第三课质量保证
问:如何导出Atlas200dk可用模型?
据我所知,如果Atlas 200dk使用Ascend 310芯片,当我们选择GEIR格式导出模型时,系统会导出支持Ascend 310推理的模型,可以满足这位同学提到的导出Atlas 200dk可用模型的要求。
问:问:思维孢子什么时候支持win10?
我很高兴地宣布,MindSpore的中央处理器版本目前支持在win10系统中安装。我的本地环境是带MindSpore的win10系统;安装在上面。如果你想知道在win10系统上MindSpore中央处理器版本的具体安装步骤,你可以参考MindSpore官方网站教程(HTTPS://www.MINDSPORE.cn/tutorial/ZH-cn/master/advanced _ use/MindSpore _中央处理器_ win _ install.html)来尝试。
问:用微软构建培训模型代码有多简单?
除了网络的定义之外,MindSpore还提供了模型类的接口,大多数场景只需要几行代码就可以完成模型训练。当然,我还没有尝试用TF或PyTorch来训练几行代码的模型,但是当我开始联系MindSpore时,我感觉非常简单。
问:移动电话能用于调制解调器吗?
你可以参考心灵运动官方网站教程,它详细展示了用户如何使用模特艺术进行心灵运动模特训练。
问:我能在问:模型艺术中编译和测试中央处理器操作符吗?
目前模型艺术只提供上升910环境,所以它不支持编译测试的中央处理器操作。
问:问:MindSpore对GPU的支持如何?有具体的路线图吗?
目前,MindSpore modelzoo中的一些模型已经支持了图形处理器的训练和推理,其他的模型也在不断的改进。在分布式并行训练中,MindSpore目前支持图形处理器多卡训练。关于具体的路线图,您可以访问mindsport官方网站(https://www.mindspore.cn/docs/zh-CN/master/roadmap.html)和项目发布说明(https://gite . com/mind sport/mind sport/blob/master/release . MD)作为参考。

第4课质量保证
问:它和码头工人相似吗?
Docker是一个容器应用程序引擎。开发人员可以打包他们的应用程序,并依靠一个容器来发布它们。Kubernetes是一个开源的集装箱集群管理系统,可以实现集装箱集群的自动部署、扩展和维护。
事实上,库本内特斯作为一个整体属于容器编排软件。实际上,Docker有自己的容器编排系统,称为Swarm,或者其他管理系统,如Mesos。然而,库本内特已经成为开源容器编排系统中事实上的标准,因为它在整体生态上取得了成功。
问:新版本可以体验吗?更新是什么?
MindSpore的新版本是4月30日发布的0.2.0-alpha版本。它将在同一天提供。您可以在官方网站或我们的公共号码上查看我们的新闻或发布说明。我们介绍的短片也被更新到b站和chattering的官方账号。

第五课质量保证
问:为什么使用符号功能?


问:加入防御算法后,精确度会降低吗?
不一定。防御算法使用对抗训练的方法来生成对抗样本,并将它们添加到原始数据集来一起训练模型。获得的模型参数与原始数据集的参数略有不同。这种差异可能会使测试集的准确性发生变化、降低或提高。
问:增加防守算法如何影响训练时间?
使用和不使用对抗训练的区别在于,对抗训练增加了在正常模型训练过程中生成对抗样本的步骤,因此训练期间增加的计算成本在于生成对抗样本。不同的攻击算法有不同的时间开销。如果将梯度攻击作为一种简单的攻击算法,增加的时间非常小,如果将连续波作为一种更强的攻击方法,时间开销将会更大。攻击算法的具体选择要求用户根据自己的需要,结合时间开销和安全要求,选择合适的攻击算法。
问:增加对抗训练过程对推理时间有什么影响?
它对推理没有影响。训练后,模型与正常模型相同,推理时间与原始模型相同。
问:对抗训练中使用的对抗样本与防守后测试中使用的样本相同吗?
不一样。培训和测试中使用的方法可以相同,也可以不同。
问:和克莱夫汉有什么不同?
明达玛和克莱夫汉斯有着相同的出发点,都是针对样本安全性对模型进行研究。根据所提供的特性,MindArmour做了更全面的工作,包括反样本和检测的生成、模型的防御、抗攻击和防御的评估模块以及通过模糊化对模型进行鲁棒性测试的模块。

第六课质量保证
问:问:动量是SGD吗?
动量法是SGD的一种优化方法。其主要思想是引入一种积累历史梯度的信息动量,以加速SGD。我认为它主要解决了SGD的两个问题,一个是随机梯度法引入的噪声,另一个是SGD在收敛过程中比我们想要的梯度有更大的摆动。
目前,mindspore提供了SGD和动力。
问:和TensorBoard有什么不同?
我认为主要区别如下:
从设计角度来看,TensorBoard主要以插件的形式构建。它的优点是开发方便,功能分离清晰。要开发一个新功能,您可以快速地向张量板添加一个新的选项卡。但是,我认为这种模式的缺点是不断增加个人功能,缺乏整体使用指南来指导用户如何逐步调整网络。MindInsight旨在为用户提供网络调试和调优的方法。可以看出,MindInsight的入口是从培训列表开始的。在点击某个培训后,希望在调试和调优的某个阶段遇到问题时,给用户提供使用哪个函数的明确指导。
就组件而言,我认为MindInsight现在有一些TensorBoard没有的特性,比如可追溯性、数据图表显示等。当然,MindInsight仍处于相对快速的建设和发展阶段,许多新组件将陆续推出。
从生态角度来说,天梭板和天梭流目前主要服务于GPU/TPU,而明视和明孢子需要适应提升芯片。不同的芯片会导致功能差异。例如,Profiling和MindInsight需要考虑训练场景的性能显示,如数据收集。
问:头脑孢子支持动态图形吗?
MindSpore目前支持动态图形。我们称这种执行模式为Pynative。如何使用动态图形模式进行训练和调试可以参考第三讲。MindInsight稍后将发布调试器组件。我们可以使用Pynative模式调试脚本。如果在图形模式的执行过程中出现异常,我们可以使用MindInsight的调试器进行调试。
问:数据来源是否显示所有训练都是相同的数据?
在刚才的解释视频中,我们看到的数据源显示了一条直线,这表明训练任务都使用相同的数据管道过程。如果用户发现训练异常可能是由某个数据增强操作引起的,并改变了数据增强操作,则两次训练之间的差异将反映在数据的可追溯性上。
问:还有其他资料吗?
目前,在Ascend芯片训练或推理中,运行包中的组件可以用于配置文件,但需要使用一些配置项,结果分析需要通过脚本来完成。MindInsight将首先基于Ascend芯片提供易于使用的配置文件功能和结果演示,然后逐步将这些功能移植到图形处理器和中央处理器。
问:问:女教授能和心灵孢子合作吗?
我没有亲自尝试过,但从原理上推断应该是可能的。如果感兴趣的学生可以尝试,我们可以分组讨论。
问:训练中间层的可视化?
如果中间层可视化是指计算图表的中间层信息,可以使用MindInsight中的计算图表可视化组件来查看。您可以单击计算图表,找到感兴趣的图层,并查看节点的名称、类型和其他信息。
如果中间层的可视化是指中间层权重的变化趋势,可以使用HistogramSummary操作符进行记录,并使用MindInsight参数分布图函数进行查看。
如果中间层的可视化意味着您希望在训练过程中看到中间层的计算结果,当操作员与pdb合作返回时,可以直接查看pynative模式等。图形模式可以通过依赖MindInsight后续版本的调试器来查看。调试器可以在执行一个步骤后暂停训练。用户可以在计算图表上找到感兴趣的中间层,然后点击节点查看相应的操作员输出。
问:问:思维洞察目前可以在云上使用吗?
MindInsight作为一个python包,自然支持在云上使用。稍后我们将为云上的场景提供官方支持和解释。
问:我能输出优化后的图形吗?
是的,概要文件中记录的计算图表是MindSpore前端的优化图表。如果想查看更多的阶段图,可以在上下文中打开save_graphs开关,这样就可以得到一些计算图表文件(后缀。pb),您可以在MindInsight中可视化这些计算图表。
问:你能举一个将来装载通用电气图表的例子吗?
目前,加载通用电气图形的功能仍处于试验阶段。当功能成熟时,我们会考虑开源并给出相应的文档。
本文由 在线网速测试 整理编辑,转载请注明出处。