学习华为昇腾AI教材人工智能开发框架部分Day1
当前AI开发框架众多, 每个框架特点不同, 适配与不同的领域和场景。当前大模型领域使用较多的开发框架为 PyTorch。PyTorch是由Meta发布的机器学习计算框架。它的前身是Torch。Torch是一个有大量机器学习算法支持的科学计算框架, 是一个与Numpy类似的张量(Tensor) 操作库, 其特点是特别灵活, 但因其采用了小众的编程语言是Lua, 所以流行度不高, 于是就有了基于Pyt
01人工智能框架
一、AI开发框架的作用
深度学习框架的出现降低了入门的门槛。我们不需要从复杂的神经网络和反向传播算法开始编代码,可以依据需要,使用已有的模型配置参数,而模型的参数自动训练得到。我们也可以在已有模型的基础上增加自定义网络层,或者是在顶端选择自己需要的分类器和优化算法。
模型结构构建完成后, AI框架会在执行前将模型转换为计算图的形式,并对计算图做进一步优化。
二、主流AI开发框架介绍
当前AI开发框架众多, 每个框架特点不同, 适配与不同的领域和场景。
当前大模型领域使用较多的开发框架为 PyTorch。
PyTorch是由Meta发布的机器学习计算框架。 它的前身是Torch。 Torch是一个有大量机器学习算法支持的科学计算框架, 是一个与Numpy类似的张量(Tensor) 操作库, 其特点是特别灵活, 但因其采用了小众的编程语言是Lua, 所以流行度不高, 于是就有了基于Python 的PyTorch。PyTorch 是一个针对深度学习, 并且使用GPU和NPU来优化的tensor library。 是当前的主流深度学习框架之一。
PyTorch特点
Python优先: PyTorch不是简单地在C++框架上绑定 Python。 PyTorch从细粒度上直接支持Python的访问。 可以像使用Numpy或者Scipy那样轻松地使用PyTorch。
动态神经网络: PyTorch默认使用动态计算图, 程序可以在执行时动态构建/调整 计算图。
易于Debug: PyTorch在运行时可以生成动态图, 开发者可以在调试器中停掉解释器并查看某个节点的输出。
丰富的生态系统: PyTorch拥有一个活跃的社区, 提供了大量的文档、 教程、 模型和工具。
TensorFlow
TensorFlow是一个端到端开源机器学习平台, 由Google团队设计, 目前主要版本为 TensorFlow2.X 。
TensorFlow提供多个级别的API, 可以根据需求选择合适的级别。 如可以使用高阶Keras API快速构建和训练模型。
对于大型深度学习学习训练任务, 可以使用Distribution Strategy API(用于跨多个处理单 元进行分布式训练) 在不同的硬件配置上进行分布式训练, 而无需更改模型定义。
TensorFlow生产工具
TensorFlow.js:是一个用于在JavaScript中开发和训练ML模型, 并在浏览器或Node.js上部 署的库。
TensorFlow Lite:是一个用于设备推理的开源深度学习框架。 它可以满足在移动和物联网 设备上部署机器学习模型。
TensorFlow Extended (TFX):是用于部署生产ML管道的端到端平台, 当训练好的模型准备 从研究转移到生产时, 使用TFX创建和管理生产管道。
MindSpore
MindSpore作为新一代深度学习框架, 是源于全产业的最佳实践, 最佳匹配昇腾处理器算 力, 支持终端、 边缘、 云全场景灵活部署, 开创全新的AI编程范式, 降低AI开发门槛。
MindSpore旨在实现易开发、高效执行、全场景覆盖三大目标。
MindSpore可以支持数据并行、模型并行和混合并行训练,具有很强的灵活性。
MindSpore有“自动并行”能力,它通过在庞大的策略空间中进行高效搜索来找到一种快速的 并行策略。
昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。其中易开发表现为API友好,调试难度低;高效执行包括计算效率、 数据预处理效率和分布式训练效率;全场景则指框架同时支持云、边缘以及端侧场景。
MindSpore作为全场景AI框架,所支持的有端(手机与IOT设备)、边(基站与路由设 备)、云(服务器)场景的不同系列硬件,包括昇腾系列产品、英伟达NVIDIA系列产 品、 Arm系列的高通骁龙、华为麒麟的芯片等系列产品。
左边蓝色方框的是MindSpore主体框架,主要提供神经网络在训练、验证相关的基础 API功能,另外还会默认提供自动微分、自动并行等功能。
蓝色方框往下是MindSpore Data模块,可以利用该模块进行数据预处理,包括数据采 样、数据迭代、数据格式转换等不同的数据操作。在训练的过程会遇到很多调试调优 的问题,因此有MindSpore Insight模块对loss曲线、算子执行情况、权重参数变量等调 试调优相关的数据进行可视化,方便用户在训练过程中进行调试调优。
AI安全最简单的方式就是从攻防的视角来看,例如,攻击者在训练阶段掺入恶意数据, 影响AI模型推理能力,于是MindSpore推出了MindSpore Armour模块,为MindSpore提 供AI安全机制。 • 蓝色方框往上的内容跟算法开发相关的用户更加贴近,包括存放大量的AI算法模型库 ModelZoo,提供面向不同领域的开发工具套件MindSpore DevKit,另外还有高阶拓展 库MindSpore Extend,这里面值得一提的就是MindSpore Extend中的科学计算套件 MindSciences , MindSpore首次探索将科学计算与深度学习结合,将数值计算与深度学 习相结合,通过深度学习来支持电磁仿真、药物分子仿真等等。
神经网络模型训练完后,可以导出模型或者加载存放在MindSpore Hub中已经训练好 的模型。接着有MindIR提供端云统一的IR格式,通过统一IR定义了网络的逻辑结构和 算子的属性,将MindIR格式的模型文件 与硬件平台解耦,实现一次训练多次部署。因此如图所示,通过IR把模型导出到不同的模块执行推理。
更多推荐
所有评论(0)