optuna/optuna

A hyperparameter optimization framework

何を解決するか

Optuna は機械学習向けに特別に設計された自動ハイパーパラメータ最適化(HPO)フレームワークです。モデルの最適なハイパーパラメータセットを見つけるプロセスを自動化し、モデルのパフォーマンスを向上させるためにパラメータを手動で試行錯誤する作業を排除します。

動作方法

Optuna は「define-by-run」API を使用しており、標準的な Python 構文(ループや条件分岐など)を使って動的に検索空間を構築できます。フレームワークは最適化を「スタディ」(全体の最適化タスク)と「トライアル」(目的関数の個々の実行)に分けて管理します。最新のサンプリングアルゴリズムを用いて新しいハイパーパラメータを提案し、有望でないトライアルを早期に中止するプルーニング技術により、計算リソースを節約します。

対象ユーザー

さまざまなプラットフォームやスケールでモデルのハイパーパラメータを効率的にチューニングする必要がある機械学習の実践者や研究者向けです。

特徴

  • Python風の検索空間: 熟悉な Python コードを使ってハイパーパラメータを定義可能。複雑で条件付きの検索空間を実現できます。
  • 効率的な最適化: 先進的なサンプリングおよびプルーニングアルゴリズムにより、最適パラメータへの収束を高速化します。
  • 簡単な並列化: 最小限のコード変更で数十〜数百のワーカーに最適化スタディをスケーリングできます。
  • 統合された可視化: プロット関数と専用のリアルタイムWebダッシュボードを備えており、最適化履歴やパラメータの重要度を確認できます。
  • Rustベースの実装: サンプリング速度とメモリ効率を向上させる実験的 Rust版(Rustuna)を提供しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト