2026 夏季 InfiniTensor 训练营 AI 编译器 1:《AI 编译器概述》

7 月 15 日,2026 夏季 InfiniTensor 训练营 AI 编译器方向第一课《AI 编译器概述》开讲。
本系列课程围绕 AI 编译器的核心技术、典型系统与前沿进展展开,旨在帮助同学建立从程序表示、编译优化到硬件执行的完整认知框架。
| 课次 | 主题 | 核心内容 |
|---|---|---|
| 01 | AI 编译器概述 | 基本概念、发展背景、关键作用与核心抽象 |
| 02 | 前端优化 | 硬件无关的图优化技术(以 PyTorch 为例) |
| 03 | 后端优化 | 计算调度、内存访问、并行映射与代码生成 |
AI 的历史与现状
人工智能发展里程碑
- 1950 年:艾伦·图灵发表《计算机器与智能》,提出“图灵测试”,将哲学问题转化为可观察的行为问题
- 1956 年:达特茅斯会议正式提出“人工智能”术语,被公认为 AI 元年

- 两次高潮与低谷:
- 初春阶段(1956-1960s):符号主义/连接主义兴起 → 算力不足导致第一次低谷
- 专家系统时代(1970s-1980s):规则编码带来商业价值 → 维护成本高、泛化差导致第二次低谷
- 机器学习时代(1990s-2000s):SVM、AdaBoost 涌现,深蓝击败象棋冠军
- 深度学习爆发(2010s至今):大数据+算力革命,深层神经网络有效训练成为可能

AI 系统技术栈

- 应用层:CV / NLP / 搜索推荐 / 大模型应用
- 开发框架层:AI 框架(PyTorch/TensorFlow)+ 推理引擎(TensorRT/MagicMind)
- 编程与编译层:AI 编译器所在层级,负责模型到硬件代码的转换与优化
- AI 芯片层:硬件接口、驱动程序、计算库、计算资源
传统编译器 & AI 编译器
传统编译器

- GCC 直接适配模式:语言前端 × 硬件后端 = 高耦合、难维护
- LLVM 范式革新:引入通用 IR 解耦前后端,Pass 流水线式优化
- 前端:词法/语法/语义分析 → 生成硬件无关 IR
- 优化器:死代码消除、循环展开、常量折叠等 Pass
- 后端:指令选择、寄存器分配、指令调度 → 机器码
AI 编译器
1. 为什么需要 AI 编译器?

| 维度 | 传统编译器 | AI 编译器 |
|---|---|---|
| 计算抽象 | 标量/数组/指针 | 张量 + 计算图(数据流) |
| 硬件适配 | 通用 CPU 为主 | GPU/NPU/TPU 等异构加速器 |
| 场景区分 | 无训练/推理之分 | 训练(自动微分/动态图)vs 推理(低延迟/算子融合/量化) |
2. AI 编译器的定义与六大目标:

- 性能优化:降低训练/推理耗时,提高吞吐
- 资源利用:最大化 CPU/GPU/NPU 利用率与能效比
- 模型压缩:量化、剪枝适配移动端/嵌入式
- 硬件兼容:跨 x86/ARM/GPU/NPU 代码生成
- 梯度计算:自动生成反向传播代码,支持动态图微分
- 并行计算:数据并行/模型并行/流水并行
传统编译器 vs. AI 编译器:

多层 IR 设计思想
- High-Level IR (Graph IR):捕获全局数据依赖与控制关系,用于硬件无关的图级优化(代数简化、算子融合、死代码消除等)
- Low-Level IR:暴露循环/内存/线程映射细节,用于算子内部优化与硬件相关代码生成

主流 AI 编译器:TVM 与 MLIR
TVM:计算与调度分离
1. 工作流程七步法:

① 模型导入(PyTorch/TF/ONNX)
② 转换为高级模型,执行图级优化
③ 降级为张量表达式 TE(定义“算什么”)
④ 自动调优(AutoTVM/AutoScheduler 搜索最佳 Schedule)
⑤ 确定最优计算+调度配置
⑥ 降级为 TIR(底层中间表示),后端优化
⑦ 代码生成(CUDA/OpenCL/机器指令)
2. 核心理念:
计算语义(TE)与执行策略(Schedule)解耦,通过自动搜索替代人工规则
MLIR:分层 IR + 可扩展方言

- Dialect 系统:针对不同领域/抽象层次定义专用 IR(线性代数方言、GPU 方言、循环方言等)
- 解决重复造轮子:项目只需实现自身 Dialect → 公共 Dialect 的转换,即可复用已有优化 Pass
- 两个理解维度:
- 上下:Tensor(值语义/不可变)↔ Buffer/MemRef(可读写内存/副作用)
- 左右:算什么(数学定义)↔ 如何算(执行结构)
AI 程序抽象——计算图
张量(Tensor)
- 本质:对高度同质又非结构化数据的有效多维表示
- 元信息:数据类型 + 名称 + 形状 + 关联存储空间
- 阶数语义:0 阶 = 标量,1 阶 = 向量,2 阶 = 矩阵,3 阶+ = 批量/通道/序列

- 数据布局:NCHW vs NHWC 直接影响算子解释与内存访问效率

- 高阶示例:KV Cache 五维张量
[nblk, 2, nkvh, seq, dh],每个维度具有明确模型语义

存储布局与 Stride 机制
- 核心思想:逻辑形状与物理存储解耦
- Stride(步长):沿某维度前进一个位置时,底层存储跨过的元素数

- 零拷贝变换:转置仅需交换 shape 和 stride,无需移动数据(非连续视图)
- 常见变换:切片(stride 变化)、偏移(offset)、广播(stride = 0 实现逻辑扩展)、Reshape(重新解释维度结构)


计算图(Computational Graph)

- 三要素:拓扑(DAG 依赖关系)+ 张量(数据载体)+ 算子(计算操作)
- 标准格式:ONNX(开放神经网络交换格式),可用 Netron 可视化

- 图变换三类:
- 张量推导:由输入推导输出的形状与数据类型(类比类型推导)
- 图优化:改变拓扑的优化(常量折叠、冗余消除、算子融合)
- 核函数选择和优化:不改变拓扑,为算子匹配最优内核实现

张量推导

- 一元算子(NEG):输出形状/类型 = 输入
- 二元算子(ADD):需处理广播规则(末尾对齐、1 可扩展、缺维补 1)
- 属性依赖(CAST):输出类型由
to属性决定,非简单继承 - 复杂推导(GATHER):输出形状取决于数据张量 + 索引张量 + axis 属性
- 元信息与数据互转:
Shape:元信息 → 普通数据Reshape:普通数据 → 元信息- ⚠️ 使形状在计算图内部流动,增加推导复杂性

加入训练营
📺完整课程内容,请观看直播或查看课程回放:
InfiniTensor 官网: https://www.infinitensor.com
B站直播: InfiniTensor 官方直播间
视频号直播: InfiniTensor 视频号预约
答疑交流: 训练营官方社群⬇️

Description
2026 夏季 InfiniTensor 训练营《AI 编译器概述》系统讲解了 AI 编译器核心技术,涵盖 AI 发展史、现代 AI 系统架构、传统编译器与 AI 编译器差异、TVM 与 MLIR 设计思想,以及张量、计算图、Stride 机制与张量推导等核心抽象。
关注与交流

