NV Hackthon 阿里安全 AI 平台路线安排
技术路线
quake 编译器整体架构
目前安全部使用的 AI 平台 quake 包含编译器组件,编译器整体架构如 Figure 1 所示。主要
组件分为 4 部分。
前端:解析器(parser)/生成器(writer)
用于对接前端框架,解析器对原始计算图进行解析得到中间描述(IR),生成器用于根据中
间描述生成匹配 inference 环境的计算图(注,inference 环境可以是 Tensorflow,Pytorch
等深度学习框架,也可以是 TensorRT,TVM 等部署引擎)
优化层:变形器(transformer)/剪枝器(pruner)/量化器
(quantizer)
用于优化模型,优化方式包括典型的节点融合,张量折叠,子图剪枝等,也包括针对后端平
台进行的变换,例如针对 TRT 进行 l2normalization/layer normalization/group normalization
等层的拆分映射;剪枝量化用于有损压缩,需要配合训练使用,此次比赛不涉及,不展开说
明。
后端:编译器(compiler)
用于针对硬件要求进行模型参数和数据的准备,并针对硬件进行模型微调。借助生成器进行
代码生成并构建出引擎。在生成引擎的基础上,还可以将引擎镶嵌回前端(例如 tensorflow
的模型生成 TRT 引擎之后,在使用 tf 的 plugin 算子包裹引擎,构建 tensorflow 计算图)完
成引擎和算法的无缝衔接。
自动优化(gym)
高级主题,用于结合强化学习/进化算法/搜索算法等进行自动模型优化,比赛中不涉及,不
展开说明。
评论0