lightweight-neural-architecture-search
阿里达摩院开源的零开销神经网络架构搜索框架,基于信息熵/梯度指标评估架构,无需训练即可预测精度,搜索成本降至 CPU 分钟级
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
阿里达摩院开源的零开销神经网络架构搜索框架,基于信息熵/梯度指标评估架构,无需训练即可预测精度,搜索成本降至 CPU 分钟级
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:TinyNAS 整体架构图,展示了从搜索空间定义到最终部署的全流程。
想象一下,你正在为一款边缘设备(如智能摄像头、无人机上的嵌入式芯片)设计一个图像分类模型。这类设备算力极为有限——可能是只有 0.5W 功耗的 ARM Cortex-M4 处理器,运行完整的 ResNet-50 根本不现实。传统做法是依靠人类专家反复试错:调整层数、通道数、卷积核大小,然后训练评估,再调整,再训练……一个周期往往需要数百 GPU 小时。TinyNAS 解决的就是这个问题:不给网络喂真实数据做训练,而是用一个免费的指标直接预测网络的最终精度,将 NAS 的搜索成本从 GPU-days 级别降到 CPU-minutes 级别。
TinyNAS 由阿里巴巴达摩院(DAMO Academy)数据分析与智能实验室的 TinyML 团队开发和维护。该团队长期专注于极轻量级深度学习模型的研发,成果覆盖了 CVPR、ICCV、ICML、NeurIPS、ICLR、MLSys 等顶级 AI 会议的论文。项目最早于 2022 年 4 月开源,版本号 2.0.0,至今仍保持活跃更新(最近一次更新在 2026 年 6 月)。除了 GitHub,项目还在阿里云 ModelScope(魔搭社区)上提供了在线 Demo,降低了国内用户的试用门槛。
DeepMAD(Deep Mathematical Architecture Design)是 TinyNAS 的核心模块,其核心思想是:一个卷积神经网络的表达能力,可以通过其输出的特征图的信息熵来衡量,而无需实际训练网络。具体来说,DeepMAD 提出了一个叫做 GradNorm Score 的指标:计算网络各层输出梯度矩阵的奇异值分布熵。直觉很直观:训练良好的网络,其梯度分布应该具有较高的信息含量(高熵),而退化网络的梯度分布则趋于退化(低熵)。实验表明,GradNorm Score 与 ImageNet 上真实训练后的 Top-1 精度高度相关(Spearman 相关系数 > 0.9)。
Zen-NAS 是 TinyNAS 家族中最早开源的方法,比 DeepMAD 早两年出现。它通过分析网络初始化阶段(随机权重)的梯度流特性,来预测网络训练后的性能。Zen-NAS 提出了 Zen Score,核心思想是:网络的 trainability 与其权重初始化状态密切相关。通过测量梯度在网络各层之间的传播效率,可以判断一个架构是否容易训练,从而间接预测其最终性能。
除了架构搜索,TinyNAS 还支持混合精度量化搜索(Mixed-Precision Quantization Search)。它引入了 QE-Score 指标,用于在不同的量化精度(INT8、INT4 等)配置下评估网络性能。这一功能使得 TinyNAS 可以同时优化架构和量化精度两个维度,找到最适合特定硬件部署的配置。
MAE-DET(ICML 2022):将零开销 NAS 扩展到目标检测任务,优化 YOLO 系列检测器的骨干网络。E3D / MSTE(ICLR 2023):针对 3D 卷积网络(视频理解任务)的架构搜索,将搜索范围扩展到时空维度。
TinyNAS 采用典型的模块化设计,整体代码组织如下:
| 模块 | 路径 | 功能 |
|---|---|---|
| tinynas/searchers/ | 搜索调度器 | 分布式搜索协调器,基于 PyTorch DDP 多卡训练 |
| tinynas/strategy/ | 搜索策略基类 | 定义 NAS 策略的抽象接口 |
| tinynas/evolutions/ | 进化算法 | 种群管理与进化操作(遗传变异、交叉) |
| tinynas/deploy/cnnnet/ | 部署推理模块 | CNN 网络结构定义与预训练权重加载 |
| tinynas/deploy/cnn3dnet/ | 3D CNN 推理 | 视频理解模型部署 |
| tinynas/latency/ | 延迟查找表 | 不同硬件平台的推理延迟预测 |
| configs/ | 搜索配置文件 | YAML 配置文件,定义搜索空间和约束(FLOPs / 参数量) |
| modelscope/ | ModelScope 集成 | 阿里云 ModelScope 平台的本地适配层 |
核心搜索流程:用户通过 YAML 配置文件定义搜索空间(如 MobileNetV2-like、ResNet50-like 架构)和约束(如 FLOPs <= 30M),Searcher 驱动进化算法(EA)或随机搜索,结合 Zero-Cost Proxy(DeepMAD / Zen)评估候选架构,最终输出最优架构的结构描述文件(structure.txt),供 Deploy 模块加载并微调或直接部署。
项目完全基于 Python 3 + PyTorch,依赖精简(14 个核心依赖,包括 numpy、scipy、tqdm 等基础库),不依赖 mmcv/mmdet 等重型检测框架,降低了接入门槛。
使用流程(以分类任务为例):
ModelScope 在线体验:阿里云 ModelScope 上提供了无需本地安装的在线 Demo,适合快速了解项目效果而无需配置环境。
Proxy 偏差问题:零开销代理与真实训练精度之间的相关性虽高,但在特定任务(如细粒度分类、长尾分布数据集)上可能存在较大偏差,需要验证。
搜索空间受限:当前搜索空间主要针对经典架构(MobileNet-like、ResNet-like),对于 Transformer-based 架构(如 ViT、Swin)支持有限。
无 Web 界面:项目完全是命令行工具,缺少可视化界面,对非技术人员不够友好。
国内镜像依赖:项目重度依赖 PyTorch 和 ModelScope,国内用户需注意网络环境(ModelScope 提供了良好的国内访问体验)。
TinyNAS 代表了 NAS 领域的一个重要趋势:从训练密集型方法,向零开销评估方法演进。DeepMAD 论文在 CVPR 2023 获得认可后,零开销 NAS 已成为 AutoML 领域的热门方向。随着边缘 AI 芯片的普及(阿里平头哥 NPU、ARM Ethos、Qualcomm Hexagon),对给定硬件约束下自动搜索最优网络架构的需求会持续增长。TinyNAS 的出现,使得没有大量 GPU 资源的研究团队也能参与到架构搜索的研究中,降低了 AutoML 的研究门槛。
项目地址:https://github.com/alibaba/lightweight-neural-architecture-search ModelScope:https://modelscope.cn/studios/damo/TinyNAS/summary