案例展示

在线课堂

course-cover

【AI编译器】TPU-MLIR环境搭建与使用指南

course-cover

Milk-V Duo开发板实战课

course-cover

大模型理论与实战

course-cover

少林派开发板实战课

course-cover

RISC-V+TPU开发板实战课

course-cover

SE5开发系列课

认证专区

权威认证体系,助力职业发展!
每日签到

+5

周一

+5

今天

+5

周三

+5

周四

+5

周五

+5

周六

+5

周日

积分中心
个人中心
最新课程
course-cover

算法试验盒应用开发

本课程旨在建立一个完整的se5算法试验盒应用的流程以及介绍相关背景知识,通过学习这门课程,可以了解如何使用se5完成一些检测相关的任务。

course-cover

【AI编译器】TPU-MLIR环境搭建与使用指南

TPU-MLIR是专注于AI芯片的TPU编译器,该编译器工程提供了一套完整的工具链,可以实现将多种不同的深度学习框架(PyTorch、ONNX、TFLite和Caffe)下预训练的神经网络模型,通过编译和转换实现转化为可以在算能TPU上高效运算的模型文件bmodel/cvimodel,通过量化为不同精度的bmodel/cvimodel实现在算能硬件TPU上的加速和模型性能的优化,从而实现将各种目标检测、语义分割和目标跟踪等相关模型部署到底层硬件上进行加速。

本节课程主要分为三大部分:

一、实现本地开发环境的搭建和配置,并完成相关Sophon SDKTPU-MLIR编译器核心理论及相关加速接口的学习。

二、完成ONNXTFLiteCaffePyTorch四种深度学习模型样例的转换与量化,以及其他深度学习框架转换中间格式ONNX的方法。

三、带领大家进行实战化移植四个实例算法(检测、识别和跟踪等方向算法)进行编译转换和量化,最终部署到算能1684x张量处理器的TPU芯片上进行性能测试。


本课程将通过实战演示作为驱动,带领大家全面、直观地了解TPU-MLIR编译器的使用,实现快速上手转换和量化不同深度学习模型算法并能够在移植到算能AI芯片TPU上进行部署测试。目前TPU-MLIR的使用已被应用在算能研发的最新一代人工智能芯片BM168X及CV18XX上,搭配上芯片本身的高性能ARM内核以及相应的SDK,能够实现深度学习算法的快速部署。

本课程的学习在模型移植部署上具备以下优势:

1、支持多种深度学习框架

目前直接支持的框架有PyTorch、ONNX、TFLite和Caffe。其他框架的模型需要转换成ONNX模型。如何将其他深度学习架构的网络模型转换成ONNX, 可以参考ONNX官网: https://github.com/onnx/tutorials

2、易操作

通过阅读开发手册及相关部署案例,了解TPU-MLIR的原理和操作步骤,实现模型从零到部署,掌握相关Linux操作命令和模型编译量化命令即可上手实操。

3、量化部署步骤简便

模型转换需要在算能提供的docker内执行, 主要分两步, 一是通过 model_transform.py 将原始模型 转换成mlir文件, 二是通过 model_deploy.py 将mlir文件转换成bmodel格式。bmodel便是可以在算能TPU硬件上运行加速的模型文件格式。

4、适配多架构多模式硬件

量化好的bmodel模型可以运行在PCIe和SOC两种模式上的TPU上进行性能测试

5、资料手册齐全

丰富的教学视频,包含详细的理论讲解与实战操作,充分的实操指导和规范化的代码脚本均开源至课程中,供所有用户进行学习。

SOPHON-SDK开发指南:https://doc.sophgo.com/sdk-docs/v23.05.01/docs_latest_release/docs/SophonSDK_doc/zh/html/index.html

TPU-MLIR快速入门手册:https://doc.sophgo.com/sdk-docs/v23.05.01/docs_latest_release/docs/tpu-mlir/quick_start/html/index.html

示例模型仓库地址:https://github.com/sophon-ai-algo/examples

TPU-MLIR官方仓库地址:https://github.com/sophgo/tpu-mlir

SOPHON-SAIL开发手册:https://doc.sophgo.com/sdk-docs/v23.05.01/docs_latest_release/docs/sophon-sail/docs/zh/html/


课程目录

 

course-cover

AI编译器开发

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

课程目录

 

序号 课程名 课程分类 课程资料
      视频 文档 代码
1.1 AI编译器基础 TPU_MLIR基础
1.2 MLIR基础 TPU_MLIR基础
1.3 MLIR基本结构 TPU_MLIR基础
1.4 MLIR之op定义 TPU_MLIR基础
1.5 TPU_MLIR介绍(一) TPU_MLIR基础
1.6 TPU_MLIR介绍(二) TPU_MLIR基础
1.7 TPU_MLIR介绍(三) TPU_MLIR基础
1.8 量化概述 TPU_MLIR基础
1.9 量化推导 TPU_MLIR基础
1.10  量化校准 TPU_MLIR基础
1.11 量化感知训练(一) TPU_MLIR基础
1.12  量化感知训练(二) TPU_MLIR基础
2.1 Pattern Rewriting TPU_MLIR实战
2.2 Dialect Conversion TPU_MLIR实战
2.3 前端转换 TPU_MLIR实战
2.4 Lowering in TPU_MLIR TPU_MLIR实战
2.5 添加新算子 TPU_MLIR实战
2.6 TPU_MLIR图优化 TPU_MLIR实战
2.7 TPU_MLIR常用操作 TPU_MLIR实战
2.8 TPU原理(一) TPU_MLIR实战
2.9 TPU原理(二) TPU_MLIR实战
2.10  后端算子实现 TPU_MLIR实战
2.11 TPU层优化 TPU_MLIR实战
2.12 bmodel生成 TPU_MLIR实战
2.13 To ONNX format TPU_MLIR实战
2.14 Add a New Operator TPU_MLIR实战
2.15 TPU_MLIR模型适配 TPU_MLIR实战
2.16 Fuse Preprocess TPU_MLIR实战
2.17 精度验证 TPU_MLIR实战

 

为什么选择SOPHON实战培训

advantage-icon

专业技能学习

学习当下聚焦的新技术,掌握理论与实验,提升专业技术能力。
advantage-icon

行业标准的工具和框架

支持PyTorch、Tensorflow、Caffe、PaddlePaddle、ONNX等主流框架,使用符合行业标准的工具及软件。
advantage-icon

在线灵活自主学习

自主调节学习速度,随时随地在线学习,低成本且更有趣的享受名师培训。
advantage-icon

SOPHON AI 技术能力认证

SOPHON AI 技术能力认证可以证明您在相关领域达成了一定学习成果,是您提升个人能力的证明。
advantage-icon

SOPHON.NET云开发环境

提供课程需要的云开发空间,为算法开发、测试提供便捷的云端资源,让算法开发不再拘泥于硬件。
advantage-icon

行业应用案例

学习适用于无人机、机器人、自动驾驶、制造、等行业的深度学习、加速计算应用。

合作伙伴