原文: EQ-ViT: Algorithm-Hardware Co-Design for End-to-End Acceleration of Real-Time Vision Transformer Inference on Versal ACAP Architecture 会议: ESWEEK 2024 作者: Peiyan Dong, Jinming Zhuang, et al. 核心贡献: 算法-硬件协同设计实现实时 ViT 推理加速


摘要

Vision Transformers (ViTs) 在计算机视觉领域取得了显著进展,但将其部署到实时决策场景(< 1 ms)仍具挑战性。现有计算平台如 CPU、GPU 或基于 FPGA 的解决方案难以满足这一确定性低延迟实时要求,即使使用量化后的 ViT 模型。

本文提出 EQ-ViT,一个端到端加速框架,通过新颖的算法和架构协同设计特性,在 AMD Versal 自适应计算加速平台 (ACAP) 上实现实时 ViT 加速。


1. 问题定义:实时 ViT 推理的挑战

1.1 低延迟实时应用需求

在实时决策场景中,ViT 推理需要满足严格的延迟要求:

“在自动驾驶场景中,以 120 km/h 的速度行驶时,1 ms 的延迟对应车辆与静止物体之间 3 cm 的距离,或两辆移动车辆之间 6 cm 的距离。”

应用场景:

  • 自动驾驶: 确定性低延迟 (< 1 ms) 是生命安全关键系统的一等设计公民
  • 无线接入网络 (RAN): 5G 标准下传输时间间隔为 1 ms 或更短
  • AR/VR: 人类预期事件的视觉反应时间仅约 1 ms
  • 云服务: Microsoft Bing Search、Azure Cloud、Google Cloud 的深度学习推理都有个位数毫秒延迟预算

1.2 现有方案的局限

平台 DeiT-T (FP32) DeiT-T (INT8) 问题
AMD U250 FPGA 50.3 ms 7.3 ms 远超实时要求
Nvidia A10G GPU 2.21 ms 1.78 ms 接近但仍 > 1 ms
EQ-ViT (ACAP) - 0.56 ms ✅ 满足要求

核心问题:

  • FPGA 受限于有限的计算资源
  • GPU 难以实现确定性低延迟
  • 现有量化方法往往导致准确率损失

2. EQ-ViT 架构设计

2.1 硬件规格对比

硬件 工艺 FP32 INT8 片外带宽 片上内存 TDP
AMD FPGA U250 16nm 1.2T 6.95T 77 GB/s 53 MB 225W
Nvidia A10G 8nm 35T 140T 600 GB/s 14 MB 300W
Jetson AGX Orin 8nm 5.3T 85T 204 GB/s 6 MB 60W
AMD ACAP VCK190 7nm 6.4T 102T 25 GB/s 33 MB <180W

2.2 EQ-ViT 异构加速器架构

E2E 延迟对比 图1: DeiT-T (FP32, INT8, batch=6) 的端到端延迟对比 - HeatViT (U250 FPGA), TensorRT (A10G GPU), CHARM (ACAP VCK190), EQ-ViT (ACAP VCK190)

EQ-ViT 架构充分利用 ACAP 的异构特性:

┌─────────────────────────────────────────────────────────────┐
│                    EQ-ViT 异构架构                           │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌─────────────────┐    ┌─────────────────┐                │
│  │   FPGA 逻辑     │    │   AIE 向量核心   │                │
│  │  (可编程逻辑)    │◄──►│  (AI 引擎)      │                │
│  │                 │    │                 │                │
│  │ • Softmax/GELU  │    │ • 矩阵乘法      │                │
│  │ • 数据重排      │    │ • 卷积运算      │                │
│  │ • 控制逻辑      │    │ • 向量运算      │                │
│  └─────────────────┘    └─────────────────┘                │
│           │                      │                          │
│           └──────────┬───────────┘                          │
│                      │                                      │
│           ┌──────────┴───────────┐                         │
│           │   高带宽 NoC 互连     │                         │
│           │  (片上网络)           │                         │
│           └───────────────────────┘                         │
│                                                              │
│  特点:                                                      │
│  • 多空间加速器提高 AIE 核心利用率                          │
│  • 细粒度流水线重叠 FPGA 和 AIE 执行时间                    │
│                                                              │
└─────────────────────────────────────────────────────────────┘

3. EQ-ViT 算法创新

3.1 量化感知训练策略

EQ-ViT 算法 是一种全面的量化感知训练策略:

“将权值和激活都量化为 8-bit 整数,目标是提高准确率而非在量化过程中妥协。”

关键创新:

  • 全量化: 权值和激活都量化为 INT8
  • 非线性函数量化: Softmax 和 GELU 也进行量化以实现高效硬件实现
  • 准确率提升: 相比 FP32 基线提升 2.4%

3.2 算法-硬件协同设计

组件 算法优化 硬件实现
Softmax 量化近似 FPGA 查找表
GELU 分段线性近似 AIE 向量单元
LayerNorm INT8 量化 FPGA 流水线
Attention 稀疏性利用 AIE 矩阵单元

4. 实验结果

4.1 端到端延迟对比

延迟对比 图2: DeiT-T INT8 在 batch=6 时的端到端推理延迟对比 - TensorRT (A10G GPU) vs EQ-ViT (ACAP VCK190)

EQ-ViT 延迟: 0.56 ms

4.2 性能提升

对比平台 速度提升 能效提升
Intel Xeon 8375C vCPU 315.0x 62.2x
Nvidia A10G GPU 3.39x 15.33x
Nvidia A100 GPU 3.38x 12.82x
Jetson AGX Orin 14.92x 13.31x
AMD ZCU102 FPGA 59.5x 13.5x
AMD U250 FPGA 13.1x 21.9x

4.3 准确率对比

模型 FP32 基线 INT8 量化 EQ-ViT INT8 提升
DeiT-T 72.2% 70.1% 72.6% +2.4%
DeiT-S 79.8% 77.9% 80.2% +2.3%
DeiT-B 81.8% 80.1% 82.1% +2.0%

5. 为什么对 AI 硬件重要

5.1 异构计算的新范式

EQ-ViT 展示了如何有效利用异构 SoC 架构:

传统方法:

  • FPGA 或 GPU 单独使用
  • 难以平衡灵活性和性能

EQ-ViT 方法:

  • FPGA 处理控制逻辑和非线性函数
  • AIE 处理计算密集型矩阵运算
  • 细粒度流水线重叠执行

5.2 算法-硬件协同设计的价值

方面 传统分离设计 EQ-ViT 协同设计
延迟 1.78 ms (GPU) 0.56 ms
准确率 量化损失 量化增益
能效 基准 15x+ 提升
确定性 难以保证 硬实时保证

5.3 对边缘 AI 的启示

EQ-ViT 的设计原则适用于其他边缘 AI 场景:

  • 低延迟: < 1 ms 的确定性响应
  • 高能效: 每瓦性能优化
  • 可扩展: 支持多种 ViT 模型
  • 易部署: 自动化框架降低开发门槛

6. 局限与未来方向

6.1 当前局限

  • 平台特定: 当前主要针对 AMD Versal ACAP
  • 模型范围: 主要评估 DeiT 系列模型
  • 批量大小: 主要针对小批量 (batch=1-6)

6.2 未来方向

扩展性:

  • 支持更大规模的 ViT 模型 (ViT-L, ViT-H)
  • 扩展到其他 Transformer 变体 (Swin, DETR)
  • 多模态模型支持

通用性:

  • 迁移到 FPGA 和 GPU 平台
  • 支持其他异构架构
  • 云端部署优化

7. 总结

EQ-ViT 代表了 Vision Transformer 硬件加速的重要进展:

  1. 端到端加速: 从算法到硬件的完整协同设计
  2. 实时性能: 0.56 ms 延迟满足 < 1 ms 要求
  3. 准确率提升: 量化后准确率反而提升 2.4%
  4. 高能效: 相比 GPU 15x+ 能效提升
  5. 异构利用: 充分发挥 ACAP FPGA + AIE 特性

对于 AI 硬件设计,EQ-ViT 提供了以下关键启示:

  • 异构架构: FPGA + AI 引擎的协同是边缘 AI 的有效路径
  • 软硬协同: 算法优化必须考虑硬件约束
  • 自动化: 设计空间探索和代码生成降低开发门槛
  • 实时性: 确定性延迟是边缘 AI 的关键指标

随着 5G/6G、光学互连和光学 Chiplet 技术的发展,EQ-ViT 的设计原则将在更广泛的低延迟边缘 AI 场景中发挥重要作用。


参考文献

  1. Dosovitskiy, A., et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR.
  2. Touvron, H., et al. (2021). Training data-efficient image transformers & distillation through attention. ICML.
  3. Dong, P., et al. (2024). EQ-ViT: Algorithm-Hardware Co-Design for End-to-End Acceleration of Real-Time Vision Transformer Inference on Versal ACAP Architecture. ESWEEK.