Поиск нейросетевой архитектуры (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\) — 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 |
1. DARTS — Differentiable Architecture Search¶
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¶
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¶
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¶
- Train supernet — progressive shrinking
- Search — sample + evaluate specialized architectures
- 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¶
- Search Space: MCUNet-inspired blocks
- Evaluation: On-device measurement (not proxy)
- 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¶
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¶
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¶
DARTS Continuous Relaxation¶
Hardware-Aware Objective¶
Zero-Cost Proxy (SynFlow)¶
Заблуждение: 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¶
- [DARTS] "Differentiable Architecture Search" (Liu et al., 2019)
- [OFA] "Once-for-All: Train One Network and Specialize it" (Cai et al., 2020)
- [LLM-NAS] "LLM-driven Hardware-Aware NAS" (Zhu & Zhang, 2025)
- [MicroNAS] "MicroNAS for Memory and Latency Constrained NAS" (King et al., 2025)
- [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)