课程介绍

AI编译器作为框架与硬件之间的桥梁,可实现一次代码开发、各种算力芯片复用的目标。近日,算能也对外开源了其自研的 TPU 编译工具— TPU-MLIR(Multi-Level Intermediate Representation)。TPU-MLIR 是一款主打 AI 芯片的 TPU 编译器开源工程。工程提供了完整的工具链,将预先训练好的各类框架下的神经网络,在其中进行转化,最终转化为能在 TPU 中高效运算的 二进制文件bmodel,以实现更高效的推理。本课程以实战为驱动,带领大家直观地了解、实战、掌握算能智能 AI 芯片的 TPU 编译器框架。

目前TPU-MLIR工程已被应用在算能研发的最新一代人工智能芯片BM1684X 上,搭配上芯片本身的高性能ARM内核以及相应的SDK,能够实现深度学习算法的快速部署。课程内容会涵盖 MLIR 基本语法以及编译器中各类优化操作的实现细节,如图优化,int8 量化,算子切分和地址分配等。

TPU-MLIR相对其他编译工具,有以下几个优势

1、简单、便捷

通过阅读开发手册与工程中已包含的样例,用户可以了解模型转化流程与原理,快速上手。并且,TPU-MLIR基于当前主流的编译器工具库MLIR进行设计,用户也可以通过它来学习MLIR的应用。 该工程已经提供了一套完备的工具链,用户可以直接通过现有接口快速地完成模型的转化工作,不用自己适配不同的网络

2、通用

目前TPU-MLIR已经支持TFLite以及onnx格式,这两种格式的模型可以直接转化为TPU可用的bmodel。如果不是这两种格式呢?实际上onnx提供了一套转换工具,可以将现在市面上主流深度学习框架编写的模型转为onnx格式,然后就能继续转为bmodel了

3、精度与效率并存

模型转换的过程中有时会产生精度损失,TPU-MLIR支持INT8对称和非对称量化,在大幅提高性能的同时又结合原始开发企业的Calibration与Tune等技术保证了模型的高精度。不仅如此,TPU- MLIR中还运用了大量图优化和算子切分优化技术,以保证模型的高效运行。

4、实现极致性价比,打造下一代AI编译器

为了支持 GPU 计算,神经网络模型里面的算子需要开发一个GPU版本;为适配 TPU ,每个算子都应该开发一个 TPU 版本。此外,有些场景需要适配同种算力芯片的不同型号的产品,每次都要手动编译,这将是非常耗时的。AI 编译器旨在解决上述问题。TPU- MLIR 的一系列自动优化工具可以节省大量手动优化时间,使在 CPU 上开发的模型能够顺利、免费地移植到 TPU 中,以获得最佳性能和价格比。

5、资料齐全

课程包括中英文视频教学、文档指导、代码脚本等,详尽丰富 丰富的视频资料 详尽的应用指导 清晰的代码脚本 TPU-MLIR站在MLIR巨人的肩膀上打造,现在整个工程的所有代码都已开源,向所有用户免费开放。

代码下载链接:https://github.com/sophgo/tpu-mlir

TPU-MLIR开发参考手册:https://tpumlir.org/docs/developer_manual/01_introduction.html

介绍整体设计思路的论文:https://arxiv.org/abs/2210.15016

视频教程:https://space.bilibili.com/1829795304/channel/collectiondetail?sid=734875

课程章节 (17节课)

1_ TPU-MLIR简介
开始学习
1.1 AI编译器是啥?
开始学习
1.2 TPU-MLIR简介
开始学习
2_ TPU-MLIR实战
开始学习
2.1 MLIR语法介绍(上)
开始学习
2.2 MLIR语法介绍(中)
开始学习
2.3 MLIR语法介绍(下)
开始学习
2.4 前端转换
开始学习
2.5 MLIR- Dialect Conversion
开始学习
2.6 Lowering in TPU-MLIR
开始学习
2.7 量化概述
开始学习
2.8 量化推导
开始学习
2.9 量化校准
开始学习
2.10 量化感知训练
开始学习
2.11 精度验证
开始学习
2.12 Pattern Rewriting
开始学习
2.13 TPU-MLIR模型适配
开始学习
2.14 TPU-MLIR图优化
开始学习
2.15 To ONNX format
开始学习

课程目标

学生在完成本课程的学习后将能够掌握以下能力:

  • 深入理解 AI 编译器的原理及开发
  • 了解 AI 编译器如何提升 TPU 的运算效能
  • 掌握算能TPU芯片BM1684架构以及平台的使用方法、交叉编译环境搭建与使用
  • 熟悉多种模型的转换与部署使用
  • 学会使用算能 TPU- MLIR开源编译器进行模型编译、量化及调优

课程对象

具有一定的人工智能和 Python 开发基础的 AI 开发爱好者或开源社区开发人员。用户可以在使用本课程的同时参与本项目的改进,跟算能一起打造站在时代前沿的人工智能编译器!

课程推荐

course-cover

少林派开发板实战课

本课程介绍了少林派的硬件电路设计以及外设资源使用操作方法,并且提供了AI的硬件加速接口使用教程和一些基础AI实例

“少林派”是基于BM1684的约20TOPS算力开发平台,同时基于Mini-PCIe硬件可扩展性好,生态丰富,可连接的外设多样。

可扩展性:“少林派”核心板的Mini-PCIe可以转成WiFi、4G、蓝牙、GPIO、M2接口、USB、RJ45、SATA、SFP、HDMI、CAN等多种接口。

可连接的外设多样:“少林派”核心板的可以扩展便携屏幕、键盘、鼠标、摄像头、耳机、VR等各种设备。用户可以在“少林派”上DIY一个全场景的Linux工作站,尽情实践你的各种AI实验。

课程特点

1. 内容资料丰富齐全,开发板硬件设计、外设接口说明、开发板升级流程、样例代码脚本。

2. 学习路线科学合理,通过开发板的介绍和基础例程使用来了解学习开发板,再通过内部系统架构和代码的学习来深入理解开发细节,最后引出实战项目,让开发板物尽其用,也共用户自行开发时作为参考。

3. 实战项目丰富,课程提供有许多实战代码样例的使用及功能展示,只需修改、组合就能完成不同功能的实现。

代码下载链接:https://github.com/sophgo/sophpi-shaolin

课程目录

 

备注:模型转换部分可以参考SE5开发系列课

course-cover

RISC-V+TPU开发板实战课

本课程介绍了华山派的硬件电路设计以及外设资源使用操作方法,并且提供了AI的硬件加速接口使用教程和一些基础AI实例

华山派 -- CV1812H开发板,是算能和生态伙伴硬件十万个为什么联合推出的开源生态开发板,为广大使用者提供基于RISC-V的开源开发环境,以视觉、AI场景开发为核心实现功能,芯片更集成第二代全自研深度学习张量处理器(TPU),全自研智能图像处理引擎(Smart ISP),硬件级别高度安全资料保护架构(Security),语音处理引擎及H.264/265智能编解码技术,同时还有配套的多媒体软件平台和IVE硬件加速接口,使AI部署与执行更加高效、快速、便捷。主流的深度学习框架,比如Caffe,Pytorch,ONNX ,MXNet和TensorFlow(Lite) 框架的主流网络可以轻松的移植到平台上。

课程特点

  1. 内容资料丰富齐全,开发板硬件设计、sdk使用文档、平台开发指南、样例代码脚本
  2. 学习路线科学合理,通过开发板的介绍和基础例程使用来了解学习开发板,再通过内部系统架构和代码的学习来深入理解开发细节,最后引出实战项目,让开发板物尽其用,也共用户自行开发时作为参考
  3. 适用不同受众人群,对于想要快速使用开发功能的用户,课程提供有许多代码样例的使用及功能展示,只需修改、组合就能完成不同功能的实现;而对于相关行业的热爱者或开发者,课程也提供了详细的sdk开发使用指南和代码样例分析文档,有助于用户深入了解
  4. 课程相关长期维护,未来我们将推出更多开发课程,与广大开发者技术交流、共同成长。

课程内容

华山派开发板配套开源代码链接:https://github.com/sophgo/sophpi-huashan.git

华山派开发板购买链接:https://www.hw100k.com/coursedetail?id=173

course-cover

SE5开发系列课

深度神经网络模型能很快地被训练、测试,然后被产业界部署从而有效完成现实世界中的任务,在小体积、低功耗的 AI 边缘计算平台上部署这类系统很受产业界欢迎。本课程以实践驱动的方式带领大家直观学习、实战和掌握深度神经网络的知识和技术。

SOPHON AI微服务器SE5是一款高性能、低功耗边缘计算产品,搭载算能自主研发的第三代TPU芯片BM1684,INT8算力高达17.6TOPS,支持32路全高清视频硬件解码与2路编码,本课程带你快速玩转功能强大的SE5服务器,通过本课程的学习你即能理解AI的基本知识,又能掌握AI基本应用。

课程特点

1、一站式服务

所有SE5应用遇到的常见问题都可以在这里找到答案

  • 提供AI微服务器全栈式的解决方案
  • 开发过程步步拆解,详尽清晰
  • 支持所有的主流框架,产品易用

2、体系化教学

从环境搭建到应用开发,从模型转化到产品部署,镜像实战环境

  • 环境是如何搭建的?
  • 模型是如何编译的?
  • 应用是如何开发的?
  • 场景是如何部署的?

3、资料齐全

课程包括视频教学、文档指导、代码脚本等,详尽丰富

  • 丰富的视频资料
  • 详尽的应用指导
  • 清晰的代码脚本

代码下载链接:https://github.com/sophon-ai-algo/examples

4、免费的云开发资源

可以在线免费申请使用SE5-16微服务器云测试空间

  • SE5-16微服务器云测试空间可进行在线开发、测试,支持用户数据保留与导出
  • SE5-16微服务器云测试空间内资源性能与物理机环境一致

云平台申请地址:https://account.sophgo.com/sign_in?service=https://cloud.sophgo.com&locale=zh-CN

云平台使用说明:https://cloud.sophgo.com/tpu.pdf

课程概览

课程目录