2022/10/31 10:53:00
有两种方法可以优化AI模型: 本地的和全局的。本地是优化模型的一个运算符或一组运算符,全局优化是指对整个计算图端到端进行优化。 AI模型优化利器:算子融合和循环拼接#现在有一些标准的局部优化技术可以提高模型的速度,以下是四种常用的技术,其中大多数技术可以使计算并行或减少处理器上的内存访问。 向量化: 给定一个循环或嵌套循环,并且不是一次执行一个项目,而是使用硬件原语对内存中连续的多个元素进行操作。 并行化: 给定一个输入数组(或 n 维数组) ,将其划分为不同的、独立的工作块,并分别对每个工作块执行操作。 循环平铺: 改变循环中的数据访问顺序,以利用硬件的内存布局和缓存。这种优化依赖于硬件, ...
2022/10/31 10:52:55
AI 模型训练好之后最终还是要投入生产环境,这时候就会发现编译器几乎是绕不开的话题,尤其是在边缘设备部署 AI 模型时,模型能否发挥优势还要取决于它所运行的硬件,了解模型在不同硬件加速器上的编译和优化变得非常重要。 理想情况下,编译器无需算法工程师来操心,但是现在的编译器远没有那么智能。随着 AI 应用在边缘的落地,AI 编译器的开发也越来越多,以弥补 AI 模型和算力硬件之间的差距-MLIR ,TVM,XLA,PyTorch Glow,cuDNN 等。 PyTorch 创始人 Soumith Chintala 认为,随着深度学习的成熟应用,大公司之间的竞争将会变为编译器的竞争,了解编译原理可 ...
2022/10/31 10:32:08
本文介绍TPU-MLIR的开发方向,包括主要目标、计划等等 主要目标# 保持定期同步最新的llvm-project 持续维护高质量、易测试和文档化的功能模块 支持深度学习框架:ONNX、TFLite、Caffe 持续支持各种各样的神经网络模型,比如resnet、yolo、ssd、bert等等 持续跟踪最新的MLIR编译器技术,并有效的应用到本工程中 支持各种各样的处理器类型,特别是算能的TPU处理器,包括BM1684X、BM1684、CV18XX、Athena2等等 保证充分发挥处理器的性能,以及高精度,特别是INT8量化模型 支持各种有利于开发的便捷工具,方便调试或提升开发效率 开发计划【 ...
2022/09/28 13:46:27
TPU-MLIR 开源 AI 编译器的视频教程,已经同步更新 B 站、知乎、CSDN 等平台,旨在通过一系列的课程让观众一步步深入了解 AI 编译器的原理及开发。 视频分享主要基于算能的开源工具链 TPU-MLIR 展开,内容会涵盖 MLIR 基本语法以及编译器中各类优化操作的实现细节,如图优化,int8 量化,算子切分和地址分配等。 AI 编译器主要功能:简化网络搭建、提升网络性能#计算机中的传统编译器,可以将各种高级语言例如 C++、Python 等编程语言转为统一的计算机可理解的低级语言,本质上 AI 编译器与传统编译器很相似,只不过要转换的对象变为了各种深度学习框架构建和训练出来的网络 ...
2022/09/19 11:28:51
近日,TPU-MLIR 开源编译器团队迎来了新鲜血液,经过层层选拔,来自海内外知名高校的 5 位新同学最终入围,他们将与核心开发者一起优化 TPU-MLIR。 TPU-MLIR 的开发也在紧锣密鼓地开展,近期更新了 Caffe 框架支持、算子优化等方面的内容: 添加更为复杂的算子,例如 LSTM; 部分算子的优化以及支持更多情况,例如 Add 和 Mul 算子的广播(broadcast)操作; 之前 TPU-MLIR 主要是支持 int8 量化,现在 FP16/ BFP16 量化也在逐渐完善; Caffe 框架的支持进度:目前已经支持 ResNet 和 MobileNet; TP ...