Neural Architecture Search (NAS)
Le Neural Architecture Search (NAS, recherche d’architecture neuronale) est une technique d’AutoML qui automatise la conception d’architectures de réseaux de neurones en explorant algorithmiquement un espace de conceptions possibles pour trouver la topologie optimale pour une tâche donnée, sans intervention humaine.
Concevoir l’architecture d’un réseau de neurones (combien de couches, quels types d’opérations, comment les connecter, quelles dimensions) a longtemps été un art réservé aux experts. Le NAS remplace cette ingénierie manuelle par un processus de recherche automatisé. L’idée est audacieuse : au lieu que des humains conçoivent des architectures, un algorithme explore des milliers voire des millions de configurations possibles et identifie celle qui maximise un objectif donné (précision, vitesse, taille du modèle).
Les architectures trouvées par NAS ont fait leurs preuves. NASNet, EfficientNet et MnasNet ont atteint ou dépassé les performances des architectures conçues manuellement (ResNet, VGG, Inception) sur des benchmarks comme ImageNet et CIFAR-10. L’approche a aussi été appliquée au NLP, à la reconnaissance vocale et à la segmentation d’images médicales.
- Catégorie
- AutoML / Optimisation d’architecture
- Objectif
- Trouver automatiquement la meilleure architecture pour une tâche
- Composants
- Search Space, Search Strategy, Performance Estimation
- Paper fondateur
- Zoph & Le, « Neural Architecture Search with Reinforcement Learning » (2017)
- Architectures célèbres
- NASNet, EfficientNet, DARTS, AmoebaNet, MnasNet
- Coût
- De 1,5 GPU-jours (DARTS) à 2000+ GPU-jours (NASNet original)
- Outils
- NNI (Microsoft), AutoKeras, Google AutoML, Optuna
Les trois composants du NAS
Tout système de NAS repose sur trois piliers interdépendants qui définissent respectivement quoi chercher, comment chercher, et comment évaluer.
Search Space (espace de recherche)
Le search space définit l’ensemble des architectures possibles. C’est le « terrain de jeu » de l’algorithme. Plus l’espace est vaste, plus les architectures découvertes peuvent être originales, mais plus la recherche est coûteuse.
Espace cell-based (cellulaire). L’approche la plus populaire. Au lieu de chercher une architecture complète, on cherche une « cellule » (un petit bloc computationnel, représenté comme un graphe acyclique dirigé). Cette cellule est ensuite empilée pour former le réseau complet. NASNet a popularisé ce concept avec deux types de cellules : les « normal cells » (qui préservent les dimensions) et les « reduction cells » (qui réduisent la résolution). L’avantage majeur : une cellule optimisée sur CIFAR-10 (petit dataset, recherche rapide) peut être transférée sur ImageNet (grand dataset) en empilant plus de cellules.
Espace macro. La topologie entière du réseau est dans l’espace de recherche : profondeur, largeur, résolution, types de couches, connexions. EfficientNet utilise cette approche pour optimiser simultanément la profondeur, la largeur et la résolution d’entrée via des coefficients de scaling composés. L’espace est plus expressif mais beaucoup plus coûteux à explorer.
Espace chain-structured. L’architecture est une pile séquentielle de couches, avec des variations sur certains composants (taille du kernel, ratio d’expansion). ProxylessNAS part de MobileNetV2 et cherche les kernels et ratios optimaux pour chaque couche.
Search Strategy (stratégie de recherche)
La stratégie de recherche détermine comment l’algorithme explore l’espace des architectures. Trois approches dominent :
Reinforcement Learning (RL). Un contrôleur (souvent un RNN) génère des architectures candidates. Chaque architecture est entraînée et évaluée, et la précision obtenue sert de signal de récompense pour améliorer le contrôleur. C’est l’approche originale de Zoph & Le (2017). Très efficace pour découvrir des architectures innovantes, mais extrêmement coûteuse : le papier original a utilisé 800 GPU pendant des jours.
Algorithmes évolutionnaires. Une population d’architectures est maintenue. Les meilleures sont sélectionnées, mutées (ajout/suppression de couches, changement d’opérations), et recombinées pour former une nouvelle génération. AmoebaNet de Google a utilisé cette approche pour découvrir des architectures surpassant NASNet. Avantage : aucune hypothèse sur la structure de l’espace de recherche.
Recherche différentiable (gradient-based). L’espace de recherche est relaxé en un espace continu, permettant l’optimisation par descente de gradient. DARTS (Differentiable ARchiTecture Search) représente chaque choix d’opération comme un poids continu et optimise simultanément les poids de l’architecture et les poids du réseau. Résultat : des résultats comparables à NASNet en 1,5 GPU-jours au lieu de 2000, soit une réduction de 1000x du coût.
| Stratégie | Exemple | Coût (GPU-jours) | Qualité | Principe |
|---|---|---|---|---|
| Reinforcement Learning | NASNet | ~2000 | Excellente | Contrôleur RNN + reward = accuracy |
| Évolutionnaire | AmoebaNet | ~3150 | Excellente | Mutation + sélection darwinienne |
| Différentiable | DARTS | ~1,5 à 4 | Très bonne | Relaxation continue + gradient descent |
| Weight Sharing | ENAS | ~0,5 | Bonne | Supernet partagé + sous-graphes |
Performance Estimation (évaluation)
Évaluer chaque architecture candidate est le goulot d’étranglement du NAS : entraîner un modèle complet prend des heures à des jours. Plusieurs techniques accélèrent cette étape :
Weight sharing (partage de poids). Un seul « super-réseau » (supernet) est entraîné, contenant toutes les architectures possibles comme sous-graphes. Évaluer une architecture candidate revient à activer un sous-ensemble du supernet, sans ré-entraîner. C’est l’approche utilisée par ENAS et les méthodes one-shot. Le coût chute de milliers de GPU-jours à quelques heures.
Proxy tasks. L’architecture est évaluée sur un dataset plus petit ou avec moins d’epochs. L’hypothèse est que les rankings relatifs sont préservés : si l’architecture A est meilleure que B sur CIFAR-10, elle le sera aussi sur ImageNet.
Modèles de substitution (surrogate models). Un modèle prédictif (random forest, réseau de neurones) est entraîné pour prédire la performance d’une architecture à partir de sa description, sans l’entraîner réellement. Les benchmarks NAS-Bench-101 et NAS-Bench-201 fournissent des tables de performance précalculées pour accélérer la recherche.
Architectures célèbres découvertes par NAS
| Architecture | Année | Méthode NAS | Impact |
|---|---|---|---|
| NASNet | 2018 | RL (contrôleur RNN) | Premier succès majeur : surpasse les architectures manuelles sur ImageNet |
| AmoebaNet | 2019 | Évolutionnaire | Démontre que l’évolution rivalise avec le RL pour le NAS |
| DARTS | 2019 | Différentiable | Réduit le coût de 1000x, démocratise le NAS |
| EfficientNet | 2019 | RL + compound scaling | Famille B0-B7, référence en vision par ordinateur |
| MnasNet | 2019 | RL multi-objectif | Optimise latence + accuracy, base de MobileNetV3 |
| EfficientDet | 2020 | NAS + BiFPN | Détection d’objets efficace, succède à YOLO/SSD |
L’impact le plus durable du NAS n’est pas une architecture spécifique, mais la famille EfficientNet. En utilisant le NAS pour trouver une architecture de base (B0), puis en appliquant un compound scaling (augmentation coordonnée de la profondeur, largeur et résolution), les chercheurs de Google ont créé une famille de modèles qui domine les benchmarks de vision pendant plusieurs années. L’approche a influencé la conception de nombreuses architectures ultérieures.
DARTS en détail : le NAS accessible
DARTS (Liu, Simonyan, Yang, 2019) a été un tournant dans l’histoire du NAS. L’idée clé est de rendre l’espace de recherche différentiable.
Dans un espace de recherche classique, chaque connexion dans la cellule utilise une opération parmi un ensemble fini (convolution 3×3, convolution 5×5, max pooling, skip connection, zero). Le choix est discret et non-différentiable. DARTS remplace ce choix discret par une somme pondérée de toutes les opérations, où les poids (appelés « architecture parameters » α) sont des variables continues optimisées par descente de gradient.
L’optimisation est bi-niveau : les poids du réseau (w) sont optimisés sur le training set, les paramètres d’architecture (α) sont optimisés sur le validation set. En alternant ces deux optimisations, DARTS converge vers une architecture performante en quelques GPU-jours.
Après la recherche, les poids α sont discrétisés : pour chaque connexion, seule l’opération avec le poids α le plus élevé est conservée. L’architecture résultante est ensuite entraînée from scratch.
NAS et LLM : un rôle limité
Pour les LLM, le NAS a un rôle plus limité que pour la vision par ordinateur. L’architecture dominante (le Transformer decoder-only) est tellement bien établie que la recherche d’architecture se concentre sur des aspects spécifiques : nombre de têtes d’attention, ratio FFN/attention, type de normalisation, type de positional encoding. Les scaling laws de Kaplan et al. et Chinchilla ont montré que la taille du modèle et la quantité de données d’entraînement importent bien plus que les détails architecturaux.
Cependant, le NAS reste pertinent pour l’optimisation de modèles edge/mobile. MnasNet et MobileNetV3 (tous deux découverts par NAS) sont omniprésents sur les smartphones. Pour les modèles de langage compacts (< 1B paramètres), le NAS peut optimiser l'architecture pour maximiser la qualité sous des contraintes de latence et de mémoire strictes.
Outils et frameworks NAS
NNI (Neural Network Intelligence, Microsoft). Framework open-source complet pour le NAS, l’optimisation d’hyperparamètres et la compression de modèle. Supporte DARTS, ENAS, et d’autres algorithmes via une interface unifiée. Disponible via pip install nni.
AutoKeras. Bibliothèque basée sur Keras qui automatise le NAS pour les tâches courantes (classification d’images, NLP). Interface simplifiée pour les non-experts.
Google Cloud AutoML. Service managé qui applique le NAS en coulisses pour créer des modèles de vision, NLP et tabular optimisés. L’utilisateur n’a qu’à fournir les données.
Optuna. Framework d’optimisation d’hyperparamètres qui peut être adapté pour le NAS en définissant les choix architecturaux comme des hyperparamètres à optimiser. Flexible et bien intégré avec PyTorch.
NAS-Bench-101/201. Benchmarks qui fournissent les performances précalculées de toutes les architectures dans un espace de recherche donné, permettant d’évaluer les algorithmes NAS sans coût GPU. NAS-Bench-201 couvre 15 625 architectures évaluées sur CIFAR-10, CIFAR-100 et ImageNet.
Limites et critiques du NAS
Coût computationnel. Malgré les progrès (DARTS réduit le coût de 1000x), le NAS reste cher pour les espaces de recherche larges. Un seul run de NAS peut coûter plus que l’entraînement du modèle final. C’est un paradoxe : on dépense beaucoup de compute pour trouver une architecture qui économisera du compute ensuite. Le retour sur investissement n’est positif que si l’architecture trouvée est déployée à grande échelle (millions d’appareils edge, par exemple).
Transférabilité. Les architectures optimisées pour un dataset ne sont pas toujours optimales sur d’autres. L’approche cell-based atténue ce problème (les cellules trouvées sur CIFAR-10 se transfèrent bien sur ImageNet), mais la transférabilité n’est pas garantie pour des domaines très différents (médical, satellite, audio). Les compétitions NAS comme le « NAS Unseen Data Competition 2025 » testent explicitement cette capacité de généralisation.
Reproductibilité. Les résultats NAS dépendent de nombreux choix (espace de recherche, hyperparamètres de la recherche, seed aléatoire). Certaines études montrent que des recherches aléatoires dans le même espace produisent des résultats comparables aux algorithmes NAS sophistiqués, remettant en question la valeur ajoutée des algorithmes complexes. Les benchmarks NAS-Bench ont été créés en partie pour résoudre ce problème de reproductibilité.
Marginalisation par les Transformers. L’adoption massive des Transformers pour presque toutes les tâches (vision, NLP, audio) a réduit l’intérêt pour le NAS dans la recherche mainstream. Pourquoi chercher une nouvelle architecture quand le Transformer fonctionne déjà très bien partout ? Le NAS reste pertinent pour les cas d’usage edge/mobile et pour les domaines spécialisés.
NAS multi-objectif : au-delà de la précision
Les systèmes NAS modernes ne se contentent pas d’optimiser la précision. Ils cherchent un compromis entre plusieurs objectifs contradictoires :
Précision vs latence. MnasNet optimise conjointement la précision sur ImageNet et la latence d’inférence sur un Pixel Phone. L’objectif combine les deux métriques : ACC(m) × [LAT(m)/T]^w, où T est la latence cible et w contrôle le compromis. C’est cette optimisation multi-objectif qui a produit MobileNetV3, l’architecture mobile la plus déployée au monde.
Précision vs taille du modèle. Pour le déploiement embarqué, le nombre de paramètres est une contrainte dure (le modèle doit tenir dans X Mo de mémoire). Le NAS peut explorer l’espace en respectant cette contrainte et maximiser la précision dans ces limites.
Précision vs empreinte carbone. CE-NAS (Carbon-Efficient NAS) assigne les tâches de recherche aux GPU en fonction de leur empreinte carbone, réduisant l’impact environnemental du processus de recherche lui-même. C’est une tendance croissante dans la communauté NAS, en réponse aux critiques sur le coût environnemental de l’IA.
L’avenir du NAS
Plusieurs directions de recherche se dessinent pour l’avenir du NAS :
Zero-cost proxies. Des métriques qui prédisent la performance d’une architecture sans aucun entraînement, en analysant uniquement les propriétés du réseau initialisé (norme des gradients, spectre du Jacobien). NAS-Bench-Suite-Zero fournit un benchmark pour évaluer ces proxies. Si elles deviennent fiables, elles réduiraient le coût du NAS à quelques secondes.
Hardware-aware NAS. L’optimisation tenant compte du matériel cible devient standard. Plutôt que d’optimiser des FLOPS théoriques, les systèmes NAS mesurent ou prédisent la latence réelle sur le hardware de déploiement (GPU spécifique, accélérateur mobile, FPGA). Cela produit des architectures véritablement optimales pour le matériel cible.
NAS pour les architectures hybrides. Avec l’émergence de modèles combinant attention et convolution, ou attention et state-space models (Mamba), le NAS pourrait aider à trouver les meilleures combinaisons de ces composants pour des tâches spécifiques.
Questions fréquentes sur le Neural Architecture Search
Le NAS est-il encore pertinent à l’ère des Transformers ?
Partiellement. Pour les LLM et les grands modèles de vision, l’architecture Transformer est tellement dominante que le NAS « classique » (chercher une architecture from scratch) est moins utile. En revanche, le NAS reste très pertinent pour l’optimisation de sous-composants (choix de kernels, ratios, scaling), pour les modèles edge/mobile (MobileNetV3, EfficientNet-Lite), et pour les domaines spécialisés (imagerie médicale, robotique) où les architectures standard ne sont pas optimales.
Combien coûte un NAS en pratique ?
Avec DARTS ou ENAS : 1 à 4 GPU-jours (quelques dizaines de dollars en cloud). Avec des méthodes RL/évolutionnaires : centaines à milliers de GPU-jours (des milliers à dizaines de milliers de dollars). Les benchmarks NAS-Bench permettent de développer et tester des algorithmes NAS sans aucun coût GPU en utilisant des performances précalculées.
Peut-on utiliser le NAS pour les LLM ?
C’est possible mais rare en pratique. Le coût d’évaluation d’une architecture LLM est énorme (chaque candidat nécessite un pré-entraînement significatif). Les scaling laws montrent que pour les LLM, la taille et les données importent plus que l’architecture exacte. Le NAS pour LLM se limite généralement à l’optimisation d’hyperparamètres architecturaux (nombre de couches, dimension cachée, nombre de têtes) plutôt qu’à la découverte d’architectures fondamentalement nouvelles.
EfficientNet a-t-il été entièrement conçu par NAS ?
Non. Le NAS a été utilisé pour trouver l’architecture de base (EfficientNet-B0) via MnasNet, qui optimise conjointement la précision et la latence sur mobile. Les variantes B1 à B7 ont ensuite été obtenues par compound scaling (augmentation coordonnée de la profondeur, largeur et résolution avec des coefficients fixes). Le NAS a trouvé le « seed », l’intelligence humaine a conçu la stratégie de scaling.
Le NAS peut-il remplacer les chercheurs en deep learning ?
Non. Le NAS automatise une partie de la conception (le choix de topologie), mais il nécessite toujours un expert pour définir l’espace de recherche, choisir les contraintes d’optimisation, valider les résultats et intégrer l’architecture dans un système complet. De plus, les architectures les plus révolutionnaires (Transformers, diffusion models) ont été conçues par des humains, pas par des algorithmes NAS. Le NAS est un outil d’optimisation, pas un substitut à la créativité scientifique.