1.效率提升大大提高了动态图下分布式训练的效率。在深度学习中,当数据集和参数的规模越来越大时,训练所需的时间和硬件资源也会相应增加,最终会成为制约训练的瓶颈。分布式并行训练可以降低对内存和计算性能等硬件的需求,是一种重要的训练优化方法。目前的MindSpore动态图模式已经支持数据并行。通过按batch维度划分数据,将数据分布到各个计算单元进行模型训练,从而缩短训练时间。基于ResNet50v1.5+ImageNet数据集测试,在升腾计算硬件平台上,MindSpore动态图模式的分布式性能可以达到PyTorch典型分布式场景的1.6倍,静态图模式的分布式性能也可以达到TensorFlow的典型是分布式场景的2倍。PyNative快速入门:https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/debug_in_pynative_mode.html数据预处理加速Dvpp数据是机器学习的基础。在网络推理场景中,我们需要针对不同的数据进行数据预处理,过滤出核心信息,放入我们训练好的模型中进行推理和预测。在实际应用场景中,我们经常需要对大量的原始数据进行推理,比如实时视频流。因此,我们在升腾推理平台中引入了Dvpp模块,以加速网络推理数据的预处理过程。Dvpp数据预处理模块提供C++接口,提供图像解码、缩放、居中、标准化等功能。在Dvpp模块的设计中,考虑到整体的易用性,其功能与MindData现有的CPU算子有重叠。我们统一它的API,通过推理执行接口设置运行设备来区分它。用户可以根据自己的硬件设备环境选择最佳的执行算子。Dvpp数据预处理流程如下图所示:我们在升腾推理服务器上测试了Dvpp系列算子的性能优势。该服务器有128个主频为2.6GHz的CPU内核和128Gb的RAM。实验中我们选择了yoloV3网络,同时从coco2017推理数据集中选取了40504张图像进行推理,最终得到模型输入大小为[416,416]的图像。我们分别使用Dvpp算子和CPU算子进行数据预处理,得到如下性能对比:可以看出,Dvpp系列算子在处理大量数据时相比CPU算子具有明显的性能优势。本次实验共处理了40504张图片。性能FPS提高了129%。查看教程:https://www.mindspore.cn/tutorial/inference/zh-CN/r1.2/multi_platform_inference_ascend_310_mindir.html#ascend-3102.创新分子模拟库(SPONGE),来自社区分子动力学工作组MindSpore版SPONGE是由北京大学深圳湾实验室高益勤课题组与社区分子动力学工作组(MMWG)华为MindSpore团队共同开发的分子模拟库。具有高性能和模块化的特点。为什么要开发SPONGE?分子动力学模拟是一种利用牛顿定律近似描述微观原子和分子尺度演化的计算机模拟方法。既可用于基础科学研究,也可用于工业实际应用。在基础科学领域,分子动力学的方法有助于研究人员从微观层面研究体系的物理化学性质。在工业生产中,它可以利用大规模计算的力量来辅助药物分子的设计和蛋白质靶点的寻找[1,2]。由于模拟时间和空间尺度的限制,传统分子动力学软件的应用范围相对有限。研究人员也在不断开发新的力场模型[3,4]、采样方法[5,6]并尝试结合新兴的人工智能[7,8],进一步拓展分子动力学模拟的适用领域。因此,新一代分子动力学软件需要提上日程。它应该是模块化的,并支持科学家有效地创建和构建可以验证其理论模型的结构。同时,还需要兼顾传统仿真方法的效率,兼容其在传统领域的使用。另外,要实现分子模拟+机器学习的自然融合,还应该有嵌入人工智能框架的形式。SPONGE正是基于这些理念而打造的一款全新的、完全自主的分子模拟软件。相较于传统的分子模拟软件结合SITS方法对生物分子进行增强采样[9],SPONGE原生支持SITS并优化了计算过程,使得使用SITS方法模拟生物系统更加高效。对于极化体系,传统的分子模拟结合定量计算来解决电荷漂浮等问题[10]。即使使用机器学习来减少计算量,也会有大量时间浪费在程序数据传输的问题上。然而,SPONGE使用模块化支持与内存上的机器学习程序直接通信,大大减少了整体计算时间。图1:结合SITS等方法,可以进行Na[CpG]、Lys生物分子模拟图2:机器学习+分子模拟方法可以更快更准确地模拟极化体系,图为[C1MIm]Cl离子液体模拟MindSpore+SPONGE基于MindSpore自动并行和图计算融合的特点,SPONGE可以高效完成传统的分子模拟过程。SPONGE利用了MindSpore的自动微分特性,可以将神经网络等AI方法与传统的分子模拟相结合。SPONGE模块化设计结构图带有MindSpore1.2的开源SPONGE具有以下优点:1.全模块化分子模拟。分子模拟算法的模块化构建方便了领域研究人员快速实现理论和算法,也为外部开发者贡献子模块提供了友好的开源社区环境。2、传统分子模拟与MindSpore相结合的人工智能算法全流程实现。在MindSpore中,研究人员可以轻松地将AI方法应用于分子模拟。全操作化的SPONGE将与MindSpore进一步结合,成为新一代端到端的可微分分子模拟软件,实现人工智能与分子模拟的自然融合。教程文档:https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/hpc_sponge.htmlMindSpore+SPONGE展望短期展望:在后续版本更新中,理论验证的会增加一个另有MetaITS模块、有限元计算模块等功能。这些模块将帮助SPONGE更好地进行与相变和金属表面相关的模拟。同时,MindSpore版本的SPONGE各模块逐步支持自动微分和自动并行,为对接机器学习解决方案提供更友好的支持。远期展望:扩展SPONGE的各种特色模块,使其能够描述大多数微观系统,并具有较高的计算和采样效率。针对特定的行业需求,如药物筛选或晶型预测,将基于SPONGE衍生出完整的基于流程的计算解决方案,满足大规模并行计算的需求。在MindSpore框架下,SPONGE具有元优化功能,力场拟合更精准、更快速。量子机器学习(MindQuantum),来自社区量子力学工作组MindQuantum是结合MindSpore和HiQ开发的量子机器学习框架,支持各种量子神经网络的训练和推理。得益于华为HiQ团队的量子计算模拟器和MindSpore的高性能自动微分能力,MindQuantum可以高效处理量子机器学习、量子化学模拟和量子优化,性能达到业界TOP1(Benchmark)。教师和学生为快速设计和验证量子机器学习算法提供了一个高效的平台。MindQuantumvsTFQuantum/PaddleQuantum性能对比查看教程:https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/parameterized_quantum_circuit.html多跳知识推理问答(TPRR)TPRR是华为泊松实验室和华为MindSpore团队提出的解决开放域多跳问题的通用模型。与传统问答只需要从单个文档中检索答案相比,多跳知识推理问答需要从多个支持文档中获取最终答案,并返回从问题到答案的推理链。TPRR基于MindSpore的混合精度特性,可以高效完成多跳问答推理过程。全路径建模:TPRR模型基于对多跳问题推理链各个环节的所有推理路径进行条件概率建模,从“全局视角”进行知识推理。动态样本选择:TPRR模型采用动态样本建模的方法,通过更强的比较学习来提高模型的多跳问答能力。算法流程图如下:TPRR模型在国际权威多跳问答榜HotpotQA评测中名列前茅。清单如下:查看教程:https://www.mindspore.cn/tutorial/inference/zh-CN/r1.2/nlp_tprr.html3.易用性一键模型迁移(MindConverter)脚本迁移工具(MindConverter)旨在帮助算法工程师将现有的基于三方框架的模型快速迁移到MindSpore生态中。该工具根据用户提供的TensorFlowPB或ONNX模型文件,通过分析模型的ComputationalGraph,生成可读性强的MindSporePython模型定义脚本(.py)和对应的模型权重(.ckpt)。一键迁移:通过MindConverterCLI命令,可以将模型迁移到MindSpore下的模型定义脚本和对应的权重文件,节省模型重新训练和模型定义脚本开发的时间;在子映射的情况下,迁移后的脚本可以直接用于推理,实现100%的迁移率;支持模型列表:目前该工具支持迁移计算机视觉领域的典型模型,自然语言处理BERT预训练模型脚本和权重,详细模型列表见README。BERT模型定义迁移结果展示(部分代码):查看教程:https://www.mindspore.cn/tutorial/training/zh-CN/r1.2/advanced_use/migrate_3rd_scripts_mindconverter.html?highlight=mindconverter4.ReliabilityTherobustness评估工具帮助OCR服务达到第一个AIC4健壮性标准。MindSpore鲁棒性测试工具MindArmour需要提供基于黑白盒对抗样本(20+方法)和自然扰动(10+方法)等技术的高效鲁棒性。性能评估方案,帮助客户评估模型的稳健性,识别模型漏洞。OCR是指利用光学设备进行图像采集和文字识别,降低人工成本,快速提高工作效率;如果攻击者通过待识别的文字做出人眼无法察觉的改动,但模型无法正确识别或处理,那么就会导致OCR服务对文字识别的准确率下降,而用户不知道问题背后的原因。评估团队使用MindArmour对OCR服务的鲁棒性进行了评估,发现OCR服务中的部分模型对自然干扰和对抗样本的防御能力较差。攻击算法下准确率小于66%;并引导模型开发团队利用对抗样本检测、数据增强训练等技术,使模型对恶意样本的识别准确率达到95+%,提高了模型的鲁棒性和OCR服务性。AIC4标准链接:https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/CloudComputing/AIC4/AI-Cloud-Service-Compliance-Criteria-Catalogue_AIC4.html
