Successfully reported this slideshow.
Your SlideShare is downloading. ×

モデル訓練のパターン

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 9 Ad
Advertisement

More Related Content

Slideshows for you (12)

More from Hironori Washizaki (20)

Advertisement

Recently uploaded (20)

モデル訓練のパターン

  1. 1. 出版記念セミナー: AI活用成熟度と機械学習デザインパターン詳説 新時代の新常識: AIエンジニアが知るべき30のベストプラクティス 19:40-19:55 モデル訓練のパターン 名取 直毅(株式会社アイシン) 価値ある過学習、チェックポイント、転移学習、分散戦略、ハイパーパラメータチューニングなどのモデル訓練 ループに関わるデザインパターンを解説します。
  2. 2. はじめに:典型的な訓練ループとは • 機械学習モデルには反復的な訓練(訓練ループ、training loop)が伴う • 訓練ループの目的は、機械学習モデルのパラメータを最適化すること • 確率的勾配降下法(stochastic gradient descent:SGD)、AdamやAdagrad • SGDの解は閉形式(closed-form)ではないため、最適化の状況を損失(loss)で監視 - 訓練ループの中で損失を評価するもの:訓練データセット(training dataset) • 問題よりもモデルが複雑なときの過学習(over fitting)を誤差(error)で監視 - 訓練ループの中で誤差を評価するもの:検証データセット(validation dataset) - 訓練後に誤差を評価するもの:テストデータセット(test dataset) 事実上 標準 1エポック(epoch)とは 訓練データセット1回分の 訓練ループのこと 3エポックからなる典型的な訓練ループの例 訓練1 検証1 訓練2 検証2 訓練3 検証3 テスト 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 2/9
  3. 3. モデル訓練のパターン • 訓練の繰り返し(ループ)の仕方 パターン 問題 解決 価値ある過学習 Useful Overfitting 物理シミュレーションのように 全入力を扱える 過学習で良い。実際にはモンテカルロ 法でサンプリングなど チェックポイント Checkpoints 複雑なモデルは訓練に時間を要 する 訓練モデル外の情報も含めて全ての状 態をエポック単位で保存・再開 転移学習 Transfer Learning 非構造データ訓練に巨大データ 転移学習、ファインチューニング 分散戦略 Distribution Strategy 深層学習モデルの訓練に長時間 並列化による分散学習 ハイパーパラメータ チューニング Hyperparameter Tuning ハイパーパラメータ人手チュー ニングは長時間・不正確。グ リッドサーチでは非効率。 外側の最適化ループとしてのハイパー パラメータチューニング。ベイズ最適 化による効率的探索。 価値ある 過学習 ハイパーパラ メータチュー ニング 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 3/9
  4. 4. 問題 非構造化データを扱う機械学習モデルを一から訓練するには非常に大きなデータセットが 必要。汎用的なモデルに専門的な状況を理解させるのは無理。 【例】1,400万枚以上のラベル付き画像データベースImageNetで訓練したモデルは、X線画 像を「X線」(x-ray)や「医療画像」(medical imaging)に分類できても「大腿骨の骨折」 (broken femur)には分類できない(ImageNetには骨折に関する専門的なラベルがない)。 一方、専門的なラベルが付いたデータは、わずか数百枚しかない。 解決 大規模データで訓練した汎用モデルを小規模データの専門タスクに適用する。ただし、 - データのカテゴリ(「画像」、「テキスト」など)は同一であること - 理想的には、その種類(「写真」、「衛星画像」など)までも限定する - タスク(画像分類、物体検知など)も同様に類似したものを選ぶ この条件のもと、転移学習では、 - まず、大規模データで訓練した汎用モデルを見つける - 次に、その汎用モデルの最終層を取り除き、重みを固定し、専用モデルの前段とする - 最後に、小規模かつ専門的なデータで専用モデルの後段を訓練する 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 転移学習(Transfer Learning) 4/9
  5. 5. 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 転移学習(Transfer Learning) 5/9
  6. 6. トレードオフと代替案 - 入力層からボトルネック層までの重みを固定する特徴量抽出(feature extraction) - 事前に訓練した層の重みをファインチューニング(fine-tuning) 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 転移学習(Transfer Learning) 固定 訓練 固定 訓練 訓練 チューニング チューニング 固定 特徴量抽出 ファインチューニング 段階的ファインチューニング 特徴量抽出/ファインチューニングの選択基準 6/9
  7. 7. 問題 訓練サンプルやモデルパラメータの規模を大きくすると、モデルの性能が飛躍的に向上す る一方、それに合わせて計算量やメモリも増える。大規模モデルの訓練には時間がかかる。 【例】単体のNVIDIA M40 GPUがImageNetデータセットをResNet-50に90エポック訓練さ せるのに、1018回の単精度演算が必要で、それには14日かかる。訓練に2週間かかるというこ とは、新しい発想を出したり設定を変えて実験したりするのに2週間も待たなければならない ことを意味する。 解決 訓練ループにおける分散戦略、データ並列化(data parallelism)。モデル訓練の計算を複 数の計算機に分割し、異なるワーカー(通常はGPU)が異なるデータの一部で訓練。実装に は、複数のワーカーが勾配を計算しそれを互いに共有してモデルパラメータを更新する枠組 みが必須。大まかに以下の2種類に分類。 - 同期訓練:各ワーカーがモデルのコピーを持ち、訓練データのミニバッチの一部(スライ ス)で勾配を計算。勾配は集約(例えば平均化)され、サーバでモデルパラメータを更新、 次のスライスとともに各ワーカーへモデルパラメータを配信(all-reduceを行う) - 非同期訓練:各ワーカーがそれぞれ異なるスライスで勾配を計算。勾配は独立してサーバ へ送られ、サーバでモデルパラメータを更新、次のスライスとともに各ワーカーへモデル パラメータを配信(all-reduceを行わない) 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 分散戦略(Distribution Strategy) 7/9
  8. 8. 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 分散戦略(Distribution Strategy) 同期訓練 非同期訓練 同期訓練: ○すべてのデバイス(TPUやGPU)が同じホスト上にあり強力なリンクで結合のとき ×遅いデバイスや貧弱なネットワーク接続に対して脆弱(訓練全体が停滞する恐れ) 非同期訓練: ○性能や信頼性の低いワーカーが多いとき(1台のワーカー停止で全体が停滞しない) ×I/Oの制約 8/9
  9. 9. トレードオフと代替案 - モデル並列化:1台の計算機のメモリに収まらないほど巨大なモデルの場合、複数の計算 機に分割。訓練データは同じだが、各計算機は分割されたモデルの一部しか計算しない - ASIC(application-specific integrated circuits、特定用途向け集積回路):ハードウェア の高速化。FPGA(field-programmable gate array)も同様。I/Oがボトルネックに - バッチサイズの選択:分散戦略の文脈でのミニバッチサイズの設定はモデル精度とハード ウェア効率のトレードオフ - I/Oウエイトの最小化:GPUが訓練ステップを実行中にCPUが次のステップの前処理 『機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決』Lakshmananら著, 鷲崎ら訳, オライリージャパン, 2021 分散戦略(Distribution Strategy) 9/9

×