项目背景
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所示。
2.编译部署工具链
对旧版编译部署工具链进行适配与重构,实现对CNN-Transformer模型的适配,重构后的工具链架构如图2所示。

编译部署流程与旧版相似,都以ONNX模型为输入,核心步骤包括:
- 硬件建模与评估:构建行为级模型,生成 RTL 仿真的 Golden Reference。
- 模型编译与调度:解析计算图并生成 MPU、脉动阵列核、向量核与归约核的协同执行指令。
- 验证与测试:经 RTL 级仿真验证通过后,下发至硬件平台进行实测验证。
总结与思考
个人评价:从CNN到Transformer
相较于旧版芯片仅支持 CNN 架构,本迭代版本实现了CNN-Transformer模型的支持。从底层算法选型、量化压缩到自定义指令与编译器开发,本项目帮助我完整学习贯通了DSA软硬件协同设计的全流程。
架构核心的演进:从算力到存储与通信
项目实践印证了体系结构设计中的边际效益递减规律:单纯追求计算单元的峰值算力已不再是唯一解,AI芯片的性能瓶颈正向数据通信、调度与存储转移。在本项目中有以下现象:
- 访存壁垒(Memory Wall):由于 LayerNorm 难以实现类似 BatchNorm 的算子融合,必须依赖片内高频读写以动态计算均值与方差。这种非连续访存带来的数据搬运延迟,其开销已显著超过算子本身的数学计算。
- 通信瓶颈(Communication Bottleneck):在实现 SoftMax 的硬件指数近似时,需依赖向量核与归约核的协同处理。核心间的任务调度与数据同步开销对系统整体性能产生了很大影响。
这表明AI芯片的实际性能上限,将更深层次地受制于存储层级优化与高能效的数据流调度机制。