ホーム » AutoML » AutoML : NNI 1.5 : 自動調整 : チューナー : PBT チューナー

AutoML : NNI 1.5 : 自動調整 : チューナー : PBT チューナー

AutoML : NNI 1.5 : 自動調整 : チューナー : PBT チューナー (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 05/30/2020 (1.6.0)

* 本ページは、NNI の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

自動調整 : チューナー : PBT チューナー

PBT (集団ベース訓練, Population Based Training) は ニューラルネットワークの集団ベース訓練 に由来します。それは単純な非同期最適化アルゴリズムで、これはパフォーマンスを最大化するためにモデルの集団とそれらのハイパーパラメータを結合的に最適化するために固定計算バジェットを効果的に利用します。重要なことは、PBT は単一の固定セットを見つけようとする generally sub-optimal ストラテジーに従うよりもハイパーパラメータ設定のスケジュールを発見することです。

PBTTuner は幾つかのトライアル (i.e. population_size) で集団を初期化します。上の図で 4 つのステップがあり、各トライアルは 1 ステップにより実行されます。1 ステップがどれくらい長いかはトライアルコードにより制御されます, e.g. 1 エポック。トライアルが開始されるとき、それは PBTTuner により指定されたチェックポイントをロードして続けて 1 ステップを実行します、それからチェックポイントを PBTTuner により指定されたディレクトリにセーブして抜けます。(一つの) 集団内のトライアル (群) は同期的にステップを実行します、つまり、総てのトライアルが i-th ステップを終了した後、(i+1)-th ステップが開始できます。PBT の exploitation と探索は 2 つの連続するステップの間で実行されます。

 

チェックポイント・ディレクトリを提供する

幾つかのトライアルは他のトライアルのチェックポイントをロードする必要がありますので、ユーザは総てのトライアルからアクセス可能なディレクトリ (i.e., all_checkpoint_dir) を提供するべきです。それはローカルモードでは容易です、ユーザはデフォルトディレクトリを直接利用するか、またはローカルマシン上の任意のディレクトリを指定できるでしょう。他の訓練サービスについては、ユーザはNFS、Azure ストレージのような、共有ストレージでディレクトリを提供するために それらの訓練サービスのドキュメント に従うべきです。

 

トライアルコードを変更する

ステップを実行する前に、トライアルはチェックポイントをロードする必要があります、チェックポイント・ディレクトリは PBTTuner により生成されるハイパーパラメータ configuration で指定されます, i.e., params[‘load_checkpoint_dir’]。同様に、チェックポイントをセーブするためのディレクトリも configuration に含まれます, i.e., params[‘save_checkpoint_dir’]。ここでは、all_checkpoint_dir が load_checkpoint_dir と save_checkpoint_dir のベースフォルダで、その形式は all_checkpoint_dir/<population-id>/<step> です。

params = nni.get_next_parameter()
# the path of the checkpoint to load
load_path = os.path.join(params['load_checkpoint_dir'], 'model.pth')
# load checkpoint from `load_path`
...
# run one step
...
# the path for saving a checkpoint
save_path = os.path.join(params['save_checkpoint_dir'], 'model.pth')
# save checkpoint to `save_path`
...

完全なサンプルは ここ で見つかります。

 

実験 config

下は実験 config ファイルの PBTTuner configuration のサンプルです。PBTTuner が使用される場合アセッサーは許可されないことに注意してください。

# config.yml
tuner:
  builtinTunerName: PBTTuner
  classArgs:
    optimize_mode: maximize
    all_checkpoint_dir: /the/path/to/store/checkpoints
    population_size: 10

 

制限

データのインポートはまだサポートされていません。

 

以上






AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com