一、为什么AI越强大,硬件越混乱?

当模型规模指数级增长,硬件生态却陷入碎片化困境:GPU、NPU、TPU、FPGA... 每种设备都有自己的语言、内存模型和调度机制。

不同厂商的硬件具有不同的指令集、内存结构和优化策略,而模型本身也在结构、精度、计算模式上差异巨大。这种“多样性 × 多样性”的组合爆炸,使得直接部署和高效运行变得异常复杂。

“主板”不是物理电路板,而是软件定义的智能算力操作系统
它要解决的根本矛盾是:如何让千姿百态的AI模型在五花八门的硬件上“即插即用”?

因此,业界正在积极构建一种类似于“主板”的统一抽象层或调度框架,其核心目标是:

  • 屏蔽底层硬件差异:通过统一的设备发现、内存管理、任务提交接口,动态加载厂商特定的后端驱动
  • 实现模型与算力的自动适配:例如通过模板规则或策略配置框架,灵活地将模型的不同部分调度到最适合的计算单元上
  • 提升算力利用率与部署效率:将原本孤立的异构资源池化,形成可统一调度的“算力网络”

这种“主板”在软件层面可能体现为异构AI算力操作平台统一推理框架,如华为的 CANN、NVIDIA 的 Triton、Apache TVM、MLIR 等,它们试图在硬件与模型之间架起一座桥梁,实现“一次开发,随处高效运行”的愿景。

这需要一套全新的中间层架构,实现三重解耦:

  • 模型与硬件解耦
  • 算法与芯片解耦
  • 任务与资源解耦

二、三层架构:如何让模型与硬件自由对话?

参考当前业界实践与研究(如TVM、MLIR、Triton、华为CANN、阿里PAI灵骏等),这类“主板”可以清晰地划分为三层架构,每层包含若干关键组件与核心技术。


2.1 整体分层架构(三层模型)

2.1.1. 应用/模型层(Model Abstraction Layer)

目标:对上屏蔽模型多样性,提供统一接口。
  • 核心组件

    • 模型表示与解析器:支持ONNX、PyTorch、TensorFlow等主流框架模型的导入与标准化。
    • 计算图抽象(如Relay in TVM, TorchDynamo in PyTorch):将模型转化为中间计算图(IR),便于后续优化。
    • 算子库(Operator Library):提供标准算子(如Conv、MatMul、Attention)的语义定义,不绑定具体硬件。
  • 关键技术

    • 图级优化:算子融合(Fusion)、常量折叠、死代码消除。
    • 动态Shape支持:应对大模型推理中变长输入的挑战。
例如,TVM的Relay层专注于计算图的全局优化,如算子融合与常量折叠 。

2.1.2. 编译与运行时层(Compilation & Runtime Layer)——“主板”的核心

目标:实现模型到异构硬件的高效映射与执行。
  • 核心组件

    • 统一中间表示(IR)系统:如MLIR的多级IR、TVM的TIR(Tensor IR)。
    • 调度器(Scheduler):决定如何将计算任务映射到特定硬件(如GPU线程块、NPU张量核)。
    • 代码生成器(Codegen):生成目标硬件的可执行代码(CUDA、OpenCL、LLVM IR、二进制Blob)。
    • 统一运行时(Unified Runtime):管理设备内存、任务提交、同步与错误处理。
  • 关键技术

    • 自动调度(Auto-scheduling):如Ansor(TVM)、AutoTVM,通过搜索最优调度策略。
    • 多后端支持:同一套IR可编译到NVIDIA GPU、AMD GPU、华为昇腾、寒武纪MLU、ARM CPU等。
    • 动态编译与JIT:在运行时根据输入Shape或硬件状态生成最优代码。
MLIR通过模块化IR实现跨平台通用优化,而Triton则专注于GPU原生深度优化 。TVM与MLIR代表了两种不同的设计范式:前者是端到端编译器,后者是构建编译器的框架 。

2.1.3. 资源管理层(Resource Management Layer)

目标:对下屏蔽硬件异构性,实现资源池化与调度。
  • 核心组件

    • 硬件抽象层(HAL):统一设备发现、内存分配、任务队列接口。
    • 资源虚拟化与切分:如GPU MIG切分、显存超分、算力切片。
    • 集群调度器:支持多租户、优先级队列、弹性扩缩容(如Kubernetes + Volcano)。
    • 统一通信库:如NCCL、HCCL、自研集合通信库,解决跨芯片通信问题 。
  • 关键技术

    • 异构资源统一调度:将CPU、GPU、NPU等视为统一资源池进行分配 。
    • 软件定义算力:通过虚拟化形成AI算力虚拟资源池,支持细粒度切分 。
    • 三层抽象架构:统一算子、统一内存、统一跨芯通信 。
一些平台采用“中心节点 + N个边缘节点”架构,实现异地多活的集群协同管理 。

2.2 按功能分类(两类视角)

分类维度类型代表系统
按抽象粒度编译器型(聚焦单模型到单设备)TVM、Triton、MLIR
平台型(聚焦集群资源调度与多租户)华为CANN、阿里灵骏、品高BingoAI、NVIDIA Triton Inference Server
按设计哲学通用跨平台(强调可移植性)MLIR、OpenCL、TVM
硬件深度优化(强调极致性能)Triton(GPU)、厂商私有编译器(如Ascend C)

2.3 “主板”的本质

这个“主板”实质上是一个软件定义的智能算力操作系统,它通过三层架构(模型抽象 → 编译运行时 → 资源管理)和统一中间表示(如MLIR)技术,实现了:

  • 向上:让千姿百态的模型“即插即用”;
  • 向下:让异构算力“即插即管”;
  • 向内:通过自动优化与调度,实现性能与效率的平衡。

三、通用还是特化?根据场景的权衡

不同类型的“主板”(即异构AI算力统一调度与编译平台)因其设计目标、抽象粒度和优化重点不同,适用于差异化的应用场景和用户需求。结合当前主流技术栈,可将其划分为三类典型“主板”,并对应不同场景:


3.1 通用跨平台编译型“主板”

代表系统:Apache TVM、MLIR
核心特点:强调可移植性硬件无关性,支持从CPU到各类AI加速器的广泛后端。

适用场景:

  • 国产芯片适配与生态构建:如在昇腾、寒武纪、沐曦GPU等非CUDA生态芯片上部署主流模型,TVM通过自定义代码生成器(Codegen)实现“一次编写,多端部署”。
  • 边缘/端侧推理:资源受限设备(如ARM CPU、NPU)需要轻量级、可裁剪的运行时,TVM的微内核(microTVM)支持嵌入式部署。
  • 科研与算法快速验证:研究人员希望在多种硬件上对比模型性能,而无需重写底层代码。

典型需求:

  • 支持ONNX/TensorFlow/PyTorch等多框架模型导入;
  • 能自动优化算子性能(如AutoTVM、Ansor);
  • 对动态Shape、稀疏计算等新特性有良好支持。
例如,沐曦GPU通过TVM构建软件栈,使能主流AI框架在其硬件上高效运行。

3.2 高性能专用优化型“主板”

代表系统:NVIDIA Triton Inference Server、TensorRT、Triton(编译器)
核心特点:深度绑定特定硬件(尤其是NVIDIA GPU),追求极致推理性能生产级稳定性

适用场景:

  • 大规模在线推理服务:如对话式AI、推荐系统、AIGC生成服务,需高吞吐、低延迟、多模型并发。
  • 模型服务化(Model-as-a-Service):支持模型热更新、版本管理、A/B测试,无需重启服务。
  • 多模型流水线集成:如语音识别 → NLP理解 → 语音合成的端到端Pipeline,Triton原生支持多模型编排。

典型需求:

  • 支持动态批处理(Dynamic Batching)、并发模型执行;
  • 与Kubernetes、Prometheus等云原生生态无缝集成;
  • 提供完善的监控、日志、指标暴露能力。
Triton在生产环境中支持模型实时更新,特别适合需要持续迭代的AI服务。

3.3 厂商垂直整合型“主板”

代表系统:华为CANN、寒武纪MagicMind、百度XPU Stack
核心特点:软硬协同设计,深度绑定自家芯片,提供从驱动、算子库到调度器的全栈优化。

适用场景:

  • 信创/国产化替代项目:政府、金融、能源等行业要求使用国产AI芯片,需完整替代CUDA生态。
  • 大规模训练与推理一体化集群:如华为昇腾集群,通过CANN统一管理数千张NPU,提供CNCL通信库、CNNL算子库等组件。
  • 高安全、高可控环境:对供应链安全有严格要求的场景,需封闭但高效的软硬件栈。

典型需求:

  • 提供类CUDA的编程接口(如Ascend C),降低迁移成本;
  • 支持大模型分布式训练(如3D并行);
  • 与厂商云平台(如华为云ModelArts)深度集成。
华为CANN为昇腾芯片提供统一编程平台,其算子库和通信库与CUDA生态差异较大,但实现了全栈自主可控。

3.5 选型建议

需求特征推荐“主板”类型
多硬件支持、国产芯片适配TVM / MLIR
高性能GPU推理、云原生部署Triton Inference Server
极致性能、绑定NVIDIA生态Triton(编译器)+ TensorRT
全栈国产化、信创项目华为CANN、寒武纪MagicMind等厂商方案
边缘/端侧轻量化部署microTVM、TFLite + TVM后端

正如行业实践所示,MLIR与Triton代表了AI编译器的两种范式:前者重通用性与异构协同,后者重GPU原生性能。选择哪种“主板”,本质上是在可移植性、性能、生态成熟度与可控性之间做权衡。

标签:ai

你的评论