Data Universe
Newsletter
AccueilOutilsOptuna
🎯

Optuna

Frameworks ML

Le framework Python de référence pour l'optimisation automatique d'hyperparamètres ML

Tarif

Gratuit (open source).

Open sourceFree tierIntermédiaire

Optuna est le framework open source japonais (Preferred Networks) pour l'optimisation bayésienne des hyperparamètres. Son API 'define-by-run' permet de définir l'espace de recherche directement dans le code de l'objectif, ce qui le rend très flexible. Optuna supporte le pruning (arrêt des essais non prometteurs), le parallélisme (Joblib, Distributed) et s'intègre avec MLflow et W&B.

Optimisation bayésienne (TPE) et autres algorithmes
Pruning des essais non prometteurs (Median Pruner, Hyperband)
API define-by-run (espace de recherche dans le code)
Parallelisme natif (Joblib, Dask, Ray)
Intégration MLflow, W&B, TensorBoard
Optuna Dashboard pour visualiser les études
Multi-objectif (Pareto Front)
Importance des hyperparamètres (FANOVA)
1

Tuning LightGBM pour un modèle de scoring

Optuna optimise num_leaves, learning_rate, min_child_samples et feature_fraction en 100 essais avec TPE + Median Pruner, trouvant un AUC 3% supérieur au réglage manuel.

✓ Points forts

+API Pythonique très intuitive
+Parmi les meilleurs algorithmes d'optimisation (surpasse Random Search significativement)
+Pruning pour économiser du compute
+Excellent pour XGBoost, LightGBM, PyTorch

✗ Limites

Moins de fonctionnalités d'infra que Ray Tune (pas de distribution native sur cluster)
L'optimisation bayésienne nécessite des dizaines d'essais pour être efficace (pas adapté aux entraînements très longs)

⚠️ Pièges connus en production

1.Les études Optuna se stockent en SQLite par défaut — en parallèle, utiliser PostgreSQL ou MySQL pour éviter les conflits.
2.Ne pas oublier le pruning pour les modèles longs à entraîner : sans pruner, on gaspille du compute sur des essais clairement mauvais.

✓ Fait pour vous si…

Optimisation d'hyperparamètres de modèles ML tabulaires (XGBoost, LightGBM) et deep learning sur machine unique ou cluster Joblib.

✗ Pas fait pour vous si…

Tuning à très grande échelle nécessitant des centaines de GPUs (préférer Ray Tune dans ce cas).

hyperparameteroptimizationmlopen-sourcepython