项目背景

Transformer模型在视觉任务中展现出卓越的全局建模能力,但在边缘端部署时面临严峻挑战:

  • 位置编码开销:为弥补自注意力的置换不变性需引入位置编码,带来了额外的参数存储与复杂的非线性计算负担。
  • 计算与访存瓶颈:全局交互与高维稠密前馈网络导致计算与参数量激增,严重制约边缘设备的存储、并行算力与能效比。

CNN-Transformer混合架构实现了两者结构优势的有效互补:利用CNN固有的局部感受野与平移不变性隐式提取空间特征,替代传统位置编码并消除其衍生开销;在此基础上,融合Transformer进行全局空间建模,在保障长距离依赖提取的同时削减冗余计算。

本项目基于旧版视觉芯片(本科毕设)进行架构演进,实现CNN-Transformer模型的高效支持并修复旧版芯片的设计缺陷。


技术方案概览

  • 算法设计与优化:部署MobileViT与EfficientViT等混合骨干网络,适配分类、检测与跟踪等多任务头;通过QAT量化实现模型压缩。
  • 硬件架构改进:将累加器与等效Bias位宽升级至INT32,消除初代芯片的溢出与截断隐患;重构脉动阵列核心,实现(标准/逐点/深度)卷积与矩阵乘法(Strassen/转置)的可重构兼容;增设归约核并协同向量核,实现LayerNorm与SoftMax等非线性算子的流水化定点计算。
  • 软件工具链重构:实现硬件感知的QAT量化(对LayerNorm/SoftMax施加量化参数约束);升级配套编译部署工具链,完善新增算子的建模与融合调度。

个人贡献

  • 实现在硬件计算精度约束下的Softmax、LayerNorm的量化,降低软硬件之间的Mismatch

  • 引入MQBench实现QAT量化,解决旧版工具链中因PTQ量化误差大导致的精度下降问题

  • 重构工具链的硬件建模、模型解析、算子融合与指令生成模块,实现算法到底层硬件的端到端编译部署

详细技术实现

💡 提示:点击对应模块可展开阅读。

1.算法设计与 QAT 量化压缩

基于端侧部署的算力与精度评估,选取MobileViT与EfficientViT作为基准部署模型:

  • MobileViT 结合了倒残差块与Transformer块,并通过 unfold/fold 机制实现特征图与序列的转换,涵盖了混合架构的核心算子。
  • EfficientViT 剔除了高耗能的非线性运算,采用线性复杂度注意力机制,是端侧高效部署的典范。

引入MQBench框架重构量化流程,依托其计算图扫描与伪量化节点自动插入功能实现QAT量化,成功克服旧版工具链PTQ量化工具带来的严重精度退化问题。在骨干网络之上挂载多任务头,实现分类、检测与跟踪的端到端推理,效果如图1所示。


图 1 所实现的CNN-Transformer模型及其在不同任务下的推理示例
2.编译部署工具链

对旧版编译部署工具链进行适配与重构,实现对CNN-Transformer模型的适配,重构后的工具链架构如图2所示。

图2
图 2 新版编译部署工具链架构

编译部署流程与旧版相似,都以ONNX模型为输入,核心步骤包括:

  • 硬件建模与评估:构建行为级模型,生成 RTL 仿真的 Golden Reference。
  • 模型编译与调度:解析计算图并生成 MPU、脉动阵列核、向量核与归约核的协同执行指令。
  • 验证与测试:经 RTL 级仿真验证通过后,下发至硬件平台进行实测验证。

总结与思考

个人评价:从CNN到Transformer

相较于旧版芯片仅支持 CNN 架构,本迭代版本实现了CNN-Transformer模型的支持。从底层算法选型、量化压缩到自定义指令与编译器开发,本项目帮助我完整学习贯通了DSA软硬件协同设计的全流程。

架构核心的演进:从算力到存储与通信

项目实践印证了体系结构设计中的边际效益递减规律:单纯追求计算单元的峰值算力已不再是唯一解,AI芯片的性能瓶颈正向数据通信、调度与存储转移。在本项目中有以下现象:

  • 访存壁垒(Memory Wall):由于 LayerNorm 难以实现类似 BatchNorm 的算子融合,必须依赖片内高频读写以动态计算均值与方差。这种非连续访存带来的数据搬运延迟,其开销已显著超过算子本身的数学计算。
  • 通信瓶颈(Communication Bottleneck):在实现 SoftMax 的硬件指数近似时,需依赖向量核与归约核的协同处理。核心间的任务调度与数据同步开销对系统整体性能产生了很大影响。

这表明AI芯片的实际性能上限,将更深层次地受制于存储层级优化与高能效的数据流调度机制。