Перейти к содержанию

Поиск нейросетевой архитектуры (NAS)

~7 минут чтения

Предварительно: Прогресс глубокого обучения, ML на устройствах

Проектирование архитектуры нейросети вручную -- один из самых дорогих этапов ML-разработки: ResNet потребовал месяцы экспертной работы, а EfficientNet -- тысячи GPU-часов перебора. Neural Architecture Search автоматизирует этот процесс. Стоимость NAS упала с 3000 GPU-дней (NASNet, 2017) до минут (LLM-NAS, 2025), при этом найденные архитектуры регулярно превосходят ручные на 1-3% accuracy при меньшем latency.


Обзор NAS

Neural Architecture Search (NAS) -- автоматизация дизайна нейросетей.

Формула оптимизации

\[ \alpha^* = \arg\min_{\alpha} \mathcal{L}_{val}(w^*(\alpha), \alpha) \]
\[ w^*(\alpha) = \arg\min_w \mathcal{L}_{train}(w, \alpha) \]

где: - \(\alpha\) — architecture parameters - \(w\) — network weights - \(\mathcal{L}\) — loss function


Эволюция NAS (2017-2026)

Поколение Метод Search Cost Примеры
1st Gen (2017) Reinforcement Learning 3000 GPU-days NASNet, ENAS
2nd Gen (2018-2019) Evolutionary 300 GPU-days AmoebaNet
3rd Gen (2019+) Differentiable (DARTS) 1-4 GPU-days DARTS, ProxylessNAS
4th Gen (2023-2026) LLM-driven + Hardware-aware Minutes-Hours LLM-NAS, MicroNAS

Paper: "DARTS: Differentiable Architecture Search" (Liu et al., 2019)

Ключевая идея

Сделать architecture search дифференцируемым → использовать gradient descent!

Continuous Relaxation

Вместо discrete выбора операции: $$ \bar{o}(x) = \sum_{o \in \mathcal{O}} \frac{\exp(\alpha_o)}{\sum_{o' \in \mathcal{O}} \exp(\alpha_{o'})} o(x) $$

где \(\mathcal{O}\) — set кандидатов (conv 3x3, conv 5x5, pooling, identity, zero)

Bi-level Optimization

\[ \min_{\alpha} \mathcal{L}_{val}(w^*(\alpha), \alpha) \]
\[ \text{s.t. } w^*(\alpha) = \arg\min_w \mathcal{L}_{train}(w, \alpha) \]

DARTS Algorithm

# Initialize architecture parameters α and weights w
while not converged:
    # 1. Update weights w on train set
    w = w - η_w _w L_train(w, α)

    # 2. Update architecture α on validation set
    α = α - η_α  L_val(w - ξ_w L_train(w, α), α)

# 3. Derive discrete architecture from α
architecture = argmax(α) for each edge

DARTS Variants (2024-2025)

Variant Innovation
MG-DARTS (2024) Multi-granularity search space
PC-DARTS Partial channel connections
SDARTS Stochastic regularization
RobustDARTS Stability improvements

2. Hardware-Aware NAS (HW-NAS)

Paper: "Neural Architecture Search Survey: A Hardware Perspective" (Chitty-Venkata et al., 2022, 130+ citations)

Проблема

Accuracy ≠ Real-world performance

Hardware Constraints

\[ \min_{\alpha} \mathcal{L}_{val}(w^*, \alpha) + \lambda \cdot \text{Latency}(\alpha, \text{hardware}) \]

Hardware Metrics

Metric Description
Latency Inference time (ms)
Energy Power consumption (mJ)
Memory Peak memory (MB)
FLOPs Computational cost
Model Size Parameter count

Hardware Platforms

Platform Constraints NAS Focus
Mobile Memory, Battery MCUNet, Once-for-All
Edge/IoT Latency, Power MicroNAS
FPGA Resource Utilization FPGA-NAS
TPU Throughput ProxylessNAS

3. Once-for-All (OFA) Networks

Paper: "Once-for-All: Train One Network and Specialize it for Efficient Deployment" (Cai et al., 2020)

Ключевая идея

Train один supernet → extract множество specialized networks

OFA Architecture

Supernet (elastic dimensions):
├── Elastic Depth (D ∈ {2, 3, 4})
├── Elastic Width (W ∈ {0.5, 0.75, 1.0})
├── Elastic Kernel (K ∈ {3, 5, 7})
└── Elastic Resolution (R ∈ {128, 160, ..., 224})

Training Process

  1. Train supernet — progressive shrinking
  2. Search — sample + evaluate specialized architectures
  3. Fine-tune — quick adaptation (few epochs)

OFA Results

Task Supernet Training Specialized Networks
ImageNet 1200 GPU-hours 10ms → extract
Deployment Once Infinite variants

4. LLM-NAS (2025)

Paper: "LLM-NAS: LLM-driven Hardware-Aware Neural Architecture Search" (Zhu & Zhang, 2025)

Ключевая идея

Use LLM для generation и evaluation architectures!

LLM-NAS Pipeline

1. Prompt LLM → Generate Architecture Description
2. Complexity-aware Prompting → Ensure efficiency
3. Hardware Estimator → Predict latency
4. Training-free Evaluation → Zero-cost metrics
5. Iterate → Refine architecture

Advantages over Traditional NAS

Aspect Traditional NAS LLM-NAS
Search Cost GPU-days Minutes-hours
Flexibility Fixed search space Natural language
Domain Knowledge Implicit Explicit via prompting
Hardware Awareness Post-hoc Built-in

LLM-NAS Prompt Example

Design an efficient CNN for mobile deployment with:
- Input: 224x224 RGB images
- Target: <10ms latency on Snapdragon 8 Gen 2
- Task: Image classification (1000 classes)
- Constraint: <5M parameters

Output architecture in JSON format with layer details.

5. MicroNAS (2025)

Paper: "MicroNAS for Memory and Latency Constrained Hardware Aware Neural Architecture Search" (King et al., 2025, 13 citations)

Focus

Extreme constraints: microcontrollers, IoT

MicroNAS Constraints

# Hard constraints
memory_limit = 256  # KB
latency_limit = 100  # ms

# Search objective
objective = maximize(accuracy)
subject to:
    peak_memory(model) <= memory_limit
    inference_latency(model) <= latency_limit

MicroNAS Algorithm

  1. Search Space: MCUNet-inspired blocks
  2. Evaluation: On-device measurement (not proxy)
  3. Optimization: Evolutionary + constraint handling

Results

Device Memory Accuracy (ImageNet)
STM32F7 512KB 67.2%
ESP32 320KB 61.8%
ARM Cortex-M4 256KB 56.4%

6. Search Spaces

Cell-based Search Space

Cell = Directed Acyclic Graph (DAG)
Node = Feature Map
Edge = Operation (conv, pooling, skip)

Macro Search Space

  • Number of layers
  • Filter dimensions
  • Skip connections
  • Stage configurations

Hybrid Search Space (2025)

Combines: - Cell-level operations - Macro-level topology - Hardware constraints


7. Efficiency Metrics

Zero-Cost Proxies (Training-Free)

Metric Description Correlation
SynFlow Gradient magnitude at init 0.8+
JacCov Jacobian covariance 0.75+
Zen-NAS Noise robustness 0.7+
NASWOT Fisher information 0.7+

Latency Estimation

\[ \text{Latency} \approx \sum_{l \in L} \text{MACs}_l / \text{Throughput} + \text{Memory}_l / \text{Bandwidth} \]

8. Практические применения

When to Use NAS

Scenario Recommended Approach
New hardware target Hardware-aware NAS
Tight constraints MicroNAS
Quick prototyping LLM-NAS
Production deployment Once-for-All

NAS Tools (2025)

Tool Type Best For
NNI (Microsoft) Framework Research
AutoKeras AutoML Beginners
NASBench Benchmark Evaluation
OFA Supernet Deployment
LLM-NAS LLM-driven Fast iteration

9. Formulas Summary

Architecture Search Objective

\[\alpha^* = \arg\min_{\alpha} \mathcal{L}_{val}(w^*(\alpha), \alpha)\]

DARTS Continuous Relaxation

\[\bar{o}(x) = \sum_{o \in \mathcal{O}} \frac{\exp(\alpha_o)}{\sum_{o'} \exp(\alpha_{o'})} o(x)\]

Hardware-Aware Objective

\[\min_{\alpha} \mathcal{L}_{val} + \lambda \cdot \text{Latency}(\alpha, \text{HW})\]

Zero-Cost Proxy (SynFlow)

\[\text{SynFlow} = \sum_{w} |\nabla_w \mathcal{L}|_{w=w_0}\]


Заблуждение: NAS всегда превосходит ручной дизайн архитектуры

NAS хорошо работает в хорошо определенных search spaces (cell-based, mobile constraints). Но для принципиально новых архитектур (Transformer, Mixture-of-Experts) ключевые идеи все еще приходят от людей. NAS оптимизирует внутри пространства поиска -- если пространство неправильное, NAS найдет лучшее плохое решение. DARTS на ImageNet дает +0.5-1.5% accuracy vs ручной EfficientNet, но стоимость поиска и верификации может не оправдать выигрыш для одноразовых задач.

Заблуждение: zero-cost proxies полностью заменяют полное обучение

Zero-cost proxies (SynFlow, JacCov) дают корреляцию 0.7-0.8 с реальной accuracy -- полезно для скрининга тысяч кандидатов. Но финальные 3-5 архитектур все равно нужно обучать полностью: proxy промахивается именно на top-k кандидатах, где разница в accuracy 0.1-0.3% критична. Zen-NAS показал, что proxy rankings нестабильны при смене dataset -- модель-лидер по proxy на CIFAR-10 может быть третьей на ImageNet.

Заблуждение: DARTS стабилен и всегда находит хорошую архитектуру

Vanilla DARTS страдает от performance collapse -- после определенного числа итераций архитектура вырождается в skip connections. Это происходит из-за unfair advantage: skip connections имеют меньший gradient noise. RobustDARTS и SDARTS частично решают проблему через regularization, но требуют тщательной настройки. На практике DARTS без модификаций дает suboptimal архитектуры в 30-40% запусков.


Interview Questions

Q: Как DARTS делает поиск архитектуры дифференцируемым?

❌ Red flag: "DARTS перебирает все возможные архитектуры и выбирает лучшую"

✅ Strong answer: "DARTS заменяет discrete выбор операции на continuous relaxation через softmax: weighted sum всех операций-кандидатов (conv 3x3, 5x5, pooling, skip, zero) с learnable весами alpha. Это превращает bi-level optimization problem в дифференцируемую: веса сети w обновляются на train set, architecture parameters alpha -- на validation set. После convergence дискретная архитектура извлекается через argmax по alpha. Стоимость: 1-4 GPU-дня vs 3000 у NASNet. Проблема: склонность к skip connections (performance collapse), решается через SDARTS/RobustDARTS"

Q: Когда использовать Hardware-Aware NAS вместо стандартного?

❌ Red flag: "Hardware-aware NAS нужен только для мобильных устройств"

✅ Strong answer: "Всегда, когда есть production constraints. Accuracy-only NAS может найти архитектуру с +2% accuracy, но +5x latency -- бесполезно для real-time serving. HW-NAS добавляет в objective latency/energy/memory: min L_val + lambda * Latency(alpha, HW). Три уровня: mobile (MCUNet, OFA -- memory + battery), edge/IoT (MicroNAS -- 256KB RAM, 100ms latency), cloud (throughput optimization для TPU/GPU). Once-for-All тренирует один supernet с elastic depth/width/kernel/resolution, из которого за 10ms извлекаются специализированные сети"

Q: Сравните LLM-NAS и traditional NAS для production системы

❌ Red flag: "LLM-NAS лучше во всем, он использует GPT-4 для генерации архитектур"

✅ Strong answer: "LLM-NAS (Zhu & Zhang, 2025) использует LLM для generation + evaluation архитектур через natural language prompting. Преимущества: минуты вместо GPU-дней, flexible search space (не фиксированный), built-in hardware awareness через complexity-aware prompting. Ограничения: зависимость от качества LLM, нет гарантий оптимальности, сложнее reproduce. Для production: LLM-NAS -- для быстрого прототипирования и exploration; traditional NAS (OFA, DARTS) -- для финального deployment, где нужна верификация. Гибрид: LLM-NAS для narrowing search space -> DARTS/evolutionary для финальной оптимизации"


Cross-references


10. Sources & Further Reading

Papers

  1. [DARTS] "Differentiable Architecture Search" (Liu et al., 2019)
  2. [OFA] "Once-for-All: Train One Network and Specialize it" (Cai et al., 2020)
  3. [LLM-NAS] "LLM-driven Hardware-Aware NAS" (Zhu & Zhang, 2025)
  4. [MicroNAS] "MicroNAS for Memory and Latency Constrained NAS" (King et al., 2025)
  5. [HW-NAS Survey] "Neural Architecture Search Survey: A Hardware Perspective" (Chitty-Venkata et al., 2022)

Tools

  • NNI (Microsoft Neural Network Intelligence)
  • AutoKeras
  • NASBench-101, NASBench-201, NASBench-301
  • Once-for-All Networks

Courses

  • MIT 6.S094: Deep Learning for Self-Driving Cars (NAS lecture)
  • Stanford CS231n: CNNs (architecture design)