学习资料
2026 夏季 InfiniTensor 训练营 AI 编译器 1:《AI 编译器概述》
发表于:

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

7 月 15 日,2026 夏季 InfiniTensor 训练营 AI 编译器方向第一课《AI 编译器概述》开讲。
本系列课程围绕 AI 编译器的核心技术、典型系统与前沿进展展开,旨在帮助同学建立从程序表示、编译优化到硬件执行的完整认知框架。

课次 主题 核心内容
01 AI 编译器概述 基本概念、发展背景、关键作用与核心抽象
02 前端优化 硬件无关的图优化技术(以 PyTorch 为例)
03 后端优化 计算调度、内存访问、并行映射与代码生成

AI 的历史与现状

人工智能发展里程碑

  1. 1950 年:艾伦·图灵发表《计算机器与智能》,提出“图灵测试”,将哲学问题转化为可观察的行为问题
  2. 1956 年:达特茅斯会议正式提出“人工智能”术语,被公认为 AI 元年

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

AI 系统技术栈

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

传统编译器 & AI 编译器

传统编译器

  1. GCC 直接适配模式:语言前端 × 硬件后端 = 高耦合、难维护
  2. 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 + 可扩展方言

  1. Dialect 系统:针对不同领域/抽象层次定义专用 IR(线性代数方言、GPU 方言、循环方言等)
  2. 解决重复造轮子:项目只需实现自身 Dialect → 公共 Dialect 的转换,即可复用已有优化 Pass
  3. 两个理解维度
  • 上下:Tensor(值语义/不可变)↔ Buffer/MemRef(可读写内存/副作用)
  • 左右:算什么(数学定义)↔ 如何算(执行结构)

AI 程序抽象——计算图

张量(Tensor)

  1. 本质:对高度同质又非结构化数据的有效多维表示
  2. 元信息:数据类型 + 名称 + 形状 + 关联存储空间
  3. 阶数语义:0 阶 = 标量,1 阶 = 向量,2 阶 = 矩阵,3 阶+ = 批量/通道/序列

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

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

存储布局与 Stride 机制

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

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

切片、偏移、广播

Reshape

计算图(Computational Graph)

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

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

张量推导

  • 一元算子(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 机制与张量推导等核心抽象。

关注与交流