AAAI 2023 | 打破NAS瓶颈,新方法AIO-P跨任务预测架构性能

简介: AAAI 2023 | 打破NAS瓶颈,新方法AIO-P跨任务预测架构性能


海思加拿大研究院和阿尔伯塔大学联合推出了一个基于预训练和知识注入的神经网络性能预测框架。

神经网络的性能评估 (精度、召回率、PSNR 等) 需要大量的资源和时间,是神经网络结构搜索(NAS)的主要瓶颈。早期的 NAS 方法需要大量的资源来从零训练每一个搜索到的新结构。近几年来,网络性能预测器作为一种高效的性能评估方法正在引起更多关注。


然而,当前的预测器在使用范围上受限,因为它们只能建模来自特定搜索空间的网络结构,并且只能预测新结构在特定任务上的性能。例如,训练样本只包含分类网络以及它们的精度,这样训练出来的预测器只能用于评估新网络结构在图像分类任务上的性能


为了打破这一边界,使预测器能够预测某一网络结构在多种任务上的性能,跨任务跨数据泛化能力,华海思加拿大研究院和阿尔伯塔大学联合推出了一个基于预训练和知识注入的神经网络性能预测框架。该框架可快速评估不同结构和种类的网络在分类、检测、分割等多种不同类型 CV 任务上的性能,以用于神经网络结构搜索。研究论文已被 AAAI 2023 接收。




AIO-P(All-in-One Predictors)方法旨在将神经预测器的范围扩展到分类之外的计算机视觉任务。AIO-P 利用 K-Adapter 技术将任务相关的知识注入预测器模型,同时设计了一个基于 FLOPs(浮点操作数)的标签缩放机制来适应不同的性能指标和分布。AIO-P 使用了一种独特的伪标记方案来训练 K-Adapters,仅需几分钟即可生成新的训练样本。实验结果表明,AIO-P 展示出了强大的性能预测能力,在几个计算机视觉任务上都取得了出色的 MAE 和 SRCC 结果。此外,AIO-P 可以直接迁移并预测从未见过的网络结构的性能,可以与 NAS 配合,在保证性能不降低的前提下优化现有网络的计算量。


方法介绍


AIO-P 是一种可泛化于多任务的通用网络性能预测器。AIO-P 通过预测器预训练和特定领域知识注入实现了跨任务和跨搜索空间的性能预测能力。AIO-P 利用 K-Adapter 技术将任务相关的知识注入预测器,同时依赖于通用的计算图(CG)格式表示一个网络结构,最终使其能够支持来自不同搜索空间和任务的网络,如下图 1 所示。


图 1. AIO-P 是如何表示用于不同任务的网路结构的

此外,伪标记机制的运用使 AIO-P 能够快速生成新的训练样本用以训练 K-Adapters。为了弥合不同任务上性能度量范围之间的差距,AIO-P 提出了一种基于 FLOPs 的标签缩放方法,实现了跨任务性能建模。广泛的实验结果表明,AIO-P 能够在各种不同的 CV 任务上进行准确的性能预测,如姿态估计和分割,无需训练样本或仅需少量微调。此外,AIO-P 可以正确地对从未见过的网络结构进行性能排序,与搜索算法结合后用于优化华为面部识别网络,保持其性能不变并将 FLOPs 降低超过 13.5%。该论文已被 AAAI-23 接收并且代码已经在 GitHub 上开源。


计算机视觉网络通常由执行特征提取的 “主干” 和使用提取到的特征进行预测的 “头部” 组成。“主干” 的结构通常是基于某一种已知的网络结构设计的 (ResNet, Inception, MobileNet, ViT, UNet),而 “头部” 是针对给定任务,如分类、姿态估计、分割等而设计的。传统的 NAS 方案会根据 “主干” 的结构手动定制搜索空间,比如已知 “主干” 是 MobileNetV3,那么搜索空间可能包含 MBConv Block 数目,每个 MBConv 的参数 (kernel size, expansion),通道数等。然而这种定制的搜索空间不具备通用性,假如有另一个 “主干” 是基于 ResNet 设计的,则无法通过现有的 NAS 框架优化它,而是需要重新设计搜索空间。


为了解决这一问题,AIO-P 选择了从计算图层面来表示不同的网络结构,实现了对任何网络结构的统一表示。具体如图 2 所示,计算图格式允许 AIO-P 将头部和主干编码在一起来表示整网结构。这也使得 AIO-P 可以预测来自不同搜索空间(如 MobileNets 和 ResNets)的网络在各种任务上的性能。


图 2. MobileNetV3 中的 Squeeze-and-Excite 模块在计算图层面的表示


AIO-P 中提出的预测器结构从单个 GNN 回归模型开始(图 3,绿色块),它可以预测图像分类网络的性能。为了在它的基础上加入其他 CV 任务的知识,例如检测或分割,该研究将一个 K-Adapter(图 3,橙色块)附加到原始回归模型上。K-Adapter 在新任务的样本上进行训练,而原模型权重则被冻结。因此,该研究单独训练多个 K-Adapter(图 4)来加入来自多个任务的知识。


图 3. 拥有一个 K-Adapter 的 AIO-P 预测器


图 4. 拥有多个 K-Adapter 的 AIO-P 预测器


为了进一步降低训练每个 K-Adapter 的开销,该研究提出了一种巧妙的伪标签技术。这一技术使用 Latent 采样的方案来训练能共享于不同任务间的 “头部” 模型。共享头部训练之后可以与搜索空间中的任何网络主干配对,并在 10-15 分钟内进行微调以生成伪标签(图 5)。


图 5. 训练能共享于不同任务间的 “头部” 模型


经实验证明,使用共享头部获得的伪标签与通过从零开始训练一个网络一天或更长时间获得的实际性能呈正相关,有时排序相关度系数超过 0.5 (Spearman correlation)。



除此之外,不同的任务会有不同的性能指标。这些性能指标通常有自己特定的分布区间,例如,使用了某一特定主干的分类网络在 ImageNet 上分类准确率可能约为 75%,而在 MS-COCO 物体检测任务上的 mAP 可能为 30-35%。为了考虑这些不同的区间,该研究基于标准化理念提出了一种从正态分布中理解网络性能的方法。通俗的说,如果预测值为 0,则该网络性能为平均值;如果 > 0,则为较优网络;<0 对应于较差性能,无论任务、数据集或指标,如下图 6 所示。


图 6. 如何标准化网络性能


网络的 FLOPs 与模型大小,输入数据相关,并且通常与性能呈正相关趋势。该研究使用 FLOPs 转换来增强 AIO-P 从中学习的标签。



实验及结果


该研究首先在人体姿态估计和物体检测任务上上训练 AIO-P,然后用它预测多种任务上网络结构的性能,包括姿态估计(LSP 和 MPII),检测(OD),实例分割(IS),语义分割(SS)和全景分割(PS)。即使在零样本直接迁移的情况下,使用 AIO-P 对来自于 Once-for-All(OFA)搜索空间(ProxylessNAS,MobileNetV3 和 ResNet-50)的网络在这些任务上的性能进行预测,最终预测结果达到了低于 1.0%的 MAE 和超过 0.5 的排序相关度。



此外,该研究也使用 AIO-P 预测了 TensorFlow-Slim 开源模型库中的网络的性能(例如 DeepLab 语义分割模型,ResNets,Inception nets,MobileNets 和 EfficientNets),这些网络结构可能未曾在 AIO-P 的训练样本中出现。



AIO-P 通过利用 FLOPs 转换,在 3 个 DeepLab 语义分割模型库上能够实现几乎完美的 SRCC,同时在所有 4 个分类模型库上获得正的 SRCC,以及在 EfficientNet 模型上实现 SRCC=1.0。



最后,AIO-P 的核心动机是能够将其与搜索算法配对,并将其用于优化任意网络结构,可以是独立的,不属于任何搜索空间或已知模型库的结构,甚至可以是一个用于从未训练过的任务的结构。该研究使用 AIO-P 和随机变异搜索算法来优化华为手机上使用的人脸识别(FR)模型,结果显示 AIO-P 能够在降低模型计算量 FLOPs 超过 13.5%的同时保持性能(精度(Pr)和召回率(Rc))。


感兴趣的读者可以阅读论文原文,了解更多研究细节。

相关实践学习
函数计算部署PuLID for FLUX人像写真实现智能换颜效果
只需一张图片,生成程序员专属写真!本次实验在函数计算中内置PuLID for FLUX,您可以通过函数计算+Serverless应用中心一键部署Flux模型,快速体验超写实图像生成的魅力。
相关文章
|
4月前
|
存储 调度 C++
16 倍性能提升,成本降低 98%! 解读 SLS 向量索引架构升级改造
大规模数据如何进行语义检索? 当前 SLS 已经支持一站式的语义检索功能,能够用于 RAG、Memory、语义聚类、多模态数据等各种场景的应用。本文分享了 SLS 在语义检索功能上,对模型推理和部署、构建流水线等流程的优化,最终带给用户更高性能和更低成本的针对大规模数据的语义索引功能。
461 46
|
6月前
|
存储 数据挖掘 BI
2-5 倍性能提升,30% 成本降低,阿里云 SelectDB 存算分离架构助力波司登集团实现降本增效
波司登集团升级大数据架构,采用阿里云数据库 SelectDB 版,实现资源隔离与弹性扩缩容,查询性能提升 2-5 倍,总体成本降低 30% 以上,效率提升 30%,助力销售旺季高效运营。
446 9
|
8月前
|
人工智能 API 数据安全/隐私保护
Apifox 与 Apipost 的 API 文档引擎对比:底层架构、性能与可扩展性分析
深入探索市场上两大主流API工具——Apifox和Apipost的文档能力时,发现了令人惊讶的差距。这不仅仅是功能多寡的问题,更关乎开发效率与团队协作的质变。
|
9月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
8月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
508 102
|
11月前
|
SQL 缓存 分布式计算
vivo 湖仓架构的性能提升之旅
聚焦 vivo 大数据多维分析面临的挑战、StarRocks 落地方案及应用收益。 在 **即席分析** 场景,StarRocks 使用占比达 70%,查询速度提升 3 倍,P50 耗时从 63.77 秒缩短至 22.30 秒,查询成功率接近 98%。 在 **敏捷 BI** 领域,StarRocks 已完成 25% 切换,月均查询成功数超 25 万,P90 查询时长缩短至 5 秒,相比 Presto 提升 75%。 在 **研发工具平台** 方面,StarRocks 支持准实时数据查询,数据可见性缩短至 3 分钟,查询加速使 P95 延迟降至 400 毫秒,开发效率提升 30%。
vivo 湖仓架构的性能提升之旅
|
5月前
|
存储 JSON 数据处理
ClkLog埋点与用户行为分析系统:架构升级与性能全面提升
随着越来越多企业在实际业务中使用 ClkLog,数据规模和分析需求也不断提升,部分用户日活已经超过10万,为了顺应这一趋势,ClkLog 秉持 “开放透明、持续演进”的理念,推出了迄今为止最重要的一次性能优化升级。新版本在大规模数据处理与复杂查询场景中,性能表现实现了跨越式提升。经过多轮研发与严格测试,新版本现已正式上线:在原有付费版 1.0 的基础上架构全面升级,并同步发布全新的 2.0 版本。为用户带来更强的性能与更广的适用场景。
|
4月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。