InfoQ|从硬件到算法框架,华为AI生态战略解读( 二 )


在最终拿到量化以后的 Int8 模型后 , 可以通过 ATC 部署到昇腾处理器上 , 即把昇腾处理器的 Int8 能力发挥出来 。 通过 ATC 的编译或者部署的过程 , 把量化、反量化融合成一个重量化的优化过程 , 使得你的业务在昇腾处理器上能达到更好的性能 。
Part2:初识 TBE 算子开发
InfoQ|从硬件到算法框架,华为AI生态战略解读
本文插图

TBE 是华为基于昇腾 AI 处理器自定义算子的开发工具 , 是针对自研 NPU 的一个自定义开发工具 。 主要功能有三个 , 最基础的就是为需要使用扩展算子的开发者提供便利 , 比如在将网络去转成达芬奇上运行的一个模型时 , 中间会遇到我们不知道的算子 , 这个时候就可以用 TBE 算子工具来开发 。
针对高级开发者来说还会有两个应用场景 , 第一个是开发者用自己开发的算子来替代华为已提供的算子 , 针对不同网络做一些定制的优化 。 第二修改现有算子的逻辑 , 使其更满足于自己的需求 。
InfoQ|从硬件到算法框架,华为AI生态战略解读
本文插图

那一个完整的算子开发流程是什么样的呢 , 首先是分析阶段 , 需要确定分析算子的作用是什么 , 更适合哪种方式来开发的算子 , 是采用 DSL 还是采用 TIK 。 在分析之后使用华为提供的开发工具 , 上面可以创建算子工程 , 算子工程开发完之后 , 去实现算子 , 这里面包括四部分 , 算子的代码、插件相关的代码、算子实现完之后的验证过程 , 怎么确保我写的算子功能正确的测试过程 。 在测试完成之后 , 还需要把算子集成到网络里面 , 进行网络集成验证的过程 。 总的来说算子开发包括三部分 , 一部分是算子文件的实现 , 一部分是单算子的测试验证 , 最后一部分是网络集成的测试验证 。
华为针对算子开发提供了一站式的算子开发环境 Mindstudio , 大家可以在昇腾社区进行试用 。 在算法开发的板块里面还提供了论坛 , 供大家提问 , 同时还有算子开发的一些相关的课程 , 入门课程跟高阶课程都有 , 感兴趣的可以去看看 。
AI 生态系统—算法框架
Part1:基于全场景 AI 计算框架 MindSpore 进行模型开发实践
MindSpore 是一个支持端边云独立的或者按需协同进行开发的分布式架构 , 在华为的 AI 架构中属于计算框架层 。 MindSpore 主要是提供一个全场景统一的 API , 开发者们可以使用 MindSpore 来构建自己的网络 。
InfoQ|从硬件到算法框架,华为AI生态战略解读
本文插图

MindSpore 的亮点有自动微分、自动并行 , 自动调优等 , 助力开发者更加便捷的开发 。 这三个功能主要是为了增强 MindSpore 的应用性 , 让开发者使用 MindSpore 进行模型开发时可减少大量工作量 。 除此之外 , MindSpore 的图 / 算子编译加速以及神经网络的并行执行都使模型训练更加高效 。
MindSpore 已于 3 月开源 , 诸多特性正不断增强 , 如差分隐私、二阶优化、PyTorch 一键转化等等 , 如果想要了解更多可以登录 MindSpore 官网 , 官网上有很多详细讲解的视频 , 感兴趣的朋友可自行去学习 。
写在最后
【InfoQ|从硬件到算法框架,华为AI生态战略解读】华为自 18 年发布昇腾系列产品正式宣布入局 AI , 到现在昇腾 AI 生态系统初步成型 , 华为在这短短两年内就能在 AI 领域闯出自己的一片领域着实令人惊叹 。 目前来看 AI 行业还没有一个开发生态形成绝对主导之势 , 按照目前华为的发展趋势来看 , 相信假以时日 , 华为构建的 AI 生态一定会从众多生态中脱颖而出!


推荐阅读