Optuna - 最適化履歴の可視化 (optuna-dashboard)

1. 概要

optuna-dashboard は、Optuna の Study をブラウザ上で可視化・操作するための Web ダッシュボードである。 コマンドラインから起動し、指定したストレージ(RDBStorage または JournalStorage)に保存された Study の情報を読み取り、以下のような機能を提供する。

  • 各 Trial の一覧表示(目的関数値・ハイパーパラメータ・状態など)
  • 最適化履歴(objective の推移)の可視化
  • ハイパーパラメータの重要度・分布・相関の可視化
  • Study 間の切り替え
  • Trial のフィルタリングやソート

特に JournalStorage(JournalFileBackend)と組み合わせることで、 NFS/NAS 上のジャーナルログファイルを可視化しつつ、 クラスター上で走っている分散ハイパーパラメータ探索の進行状況を、 ブラウザから一元的にモニタリングできる。

JournalStorage を利用している場合、Python 側で

from optuna.storages import JournalStorage
from optuna.storages.journal import JournalFileBackend

LOG_PATH = "/mnt/nas/optuna/turning.log"

storage = JournalStorage(JournalFileBackend(LOG_PATH))

study = optuna.create_study(
    study_name="turning_study",
    storage=storage,
    direction="maximize",
    load_if_exists=True,
)

のように設定していれば、LOG_PATHoptuna-dashboard に渡すことで その Study 群をブラウザで確認できる。

VENV=/mnt/nas/HTCondor/Python_VirtualEnviroments/optuna-dashboard-venv

"$VENV/bin/optuna-dashboard" \
  /mnt/nas/optuna/turning.log

コマンド実行後、ターミナルに

 * Running on http://127.0.0.1:8080 (Press CTRL+C to quit)

のようなメッセージが出るので、ブラウザから該当 URL にアクセスする。

optuna-dashboard はバックエンドストレージ(RDB / JournalFileBackend)を一定間隔でポーリングし、 新しい Trial や更新された情報を自動的に反映する設計になっている。 実行中のハイパーパラメータ探索に対してダッシュボードを開いておけば、 Trial が順次追加されていく様子をほぼリアルタイムに確認できる。

2. よく使うオプション(ポート番号の変更)

デフォルトではポート 8080 が使用されるが、 同時に複数のダッシュボードを起動したい場合や、既に 8080 番ポートが使用中の場合には、 --port オプションでポート番号を変更できる。

# ログファイル1をポート8080で表示
"$VENV/bin/optuna-dashboard" \
  --port 8080 \
  /mnt/nas/optuna/turning.log

# 別のログファイル(あるいは同じログファイル)をポート8081で表示
"$VENV/bin/optuna-dashboard" \
  --port 8081 \
  /mnt/nas/optuna/turning_2.log

ブラウザ側では例えば

  • http://127.0.0.1:8080
  • http://127.0.0.1:8081

と URL を分けることで、複数の Study やログファイルを並行して比較・監視できる。

3. まとめ

  • optuna-dashboard は、Optuna の Study をブラウザ上でインタラクティブに可視化するためのツールであり、 RDBStorage および JournalStorage(特に JournalFileBackend)と組み合わせて利用できる。
  • NFS/NAS を前提としたクラスター環境では、JournalStorage のジャーナルログファイルを optuna-dashboard に渡すことで、分散ハイパーパラメータ探索の状況を一元的にモニタリング可能となる。
  • 複数の Study あるいはログファイルを同時に確認したい場合には、--port オプションでポート番号を変えて 複数のダッシュボードプロセスを立ち上げ、ブラウザで別々の URL としてアクセスすればよい。

4. 参考文献・参照URL