Research Article
EQ-ViT: Algorithm-Hardware Co-Design for Real-Time Vision Transformer Acceleration on Versal ACAP
原文: 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 异构加速器架构
图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 硬件加速的重要进展:
- 端到端加速: 从算法到硬件的完整协同设计
- 实时性能: 0.56 ms 延迟满足 < 1 ms 要求
- 准确率提升: 量化后准确率反而提升 2.4%
- 高能效: 相比 GPU 15x+ 能效提升
- 异构利用: 充分发挥 ACAP FPGA + AIE 特性
对于 AI 硬件设计,EQ-ViT 提供了以下关键启示:
- 异构架构: FPGA + AI 引擎的协同是边缘 AI 的有效路径
- 软硬协同: 算法优化必须考虑硬件约束
- 自动化: 设计空间探索和代码生成降低开发门槛
- 实时性: 确定性延迟是边缘 AI 的关键指标
随着 5G/6G、光学互连和光学 Chiplet 技术的发展,EQ-ViT 的设计原则将在更广泛的低延迟边缘 AI 场景中发挥重要作用。
参考文献
- Dosovitskiy, A., et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR.
- Touvron, H., et al. (2021). Training data-efficient image transformers & distillation through attention. ICML.
- 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.