Nextremer Co., LTD.
Confidential Document
10/6/16
Decoupled Neural Interfaces
using Synthetic Gradients
Authors: Max Jaderberg et al.
Reporter: A. Saito
1
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
アウトライン

やりたいこと
 より一般的な分散NNモデルの学習(Model Parallel)
 理由:より柔軟なモデルをより効率的に訓練

End to end系のさらなる拡張など

問題
 Forward, Backwardの考え方は「硬すぎる」

非同期性と相性悪い

提案
 DNI: Decoupled Neural Interface
 Feedforward NNとRNNの学習から同期性を取り除いた
 より一般的な分散モデル学習への指針を示した
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
 やりたいこと

より一般的な分散NNモデルとは?

有向グラフで表現
 各頂点が分割されたモデルの断片or1台機械に対応
 頂点でNNが実行される

NNの中間層の出力を入力とする
 有向辺上にNNの入出力値orBP値

頂点数でスケールさせたい

非同期性を考慮
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
問題

いろいろなLockingが生じる

Backward(Forward) Locking
– 各々の層は自分より上位(下位)層の全計算完了まで待つ
– 最上位=出力&最下位=入力

最悪、深さに比例する待ち時間

その他注意
 論文中のUpdate Locking

NNに限らない一般な分散モデルでも、待ちを強制される
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア

分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある

送信値は多種多様 
– Back Propagationのデルタ値
– Forward計算の途中値

分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア

分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある

送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値

分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
送信値を近似する

分散環境の送信値が間違っていてもOK!
 最初は送り手の頂点だって不正確な値を出力する

BP勾配の場合
 多層に渡るImplicitなパラメータを無視
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
送信値を近似する

分散環境の送信値が間違っていてもOK!
 最初は送り手の頂点だって不正確な値を出力する

BP勾配の場合
 多層に渡るImplicitなパラメータを無視
第i層以外を無視
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
DNIの図解例

有向辺に流れる送信値を近似するNNを用意
 頂点から送信された値との「差分」が目的関数
 近似デルタ値をSynthetic gradient

送信値を近似するNN(M_B)を用意
 図の送信値は誤差

他の種類もある

点線は非同期可

S_Bは同期強制

cは、付加的な教師情報
 分類ラベルのOne-hot-vector等

c付モデル=cDNI
これも目的関数
One-hot
など
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
Decouplingの場所

どこをDecupledにするかは、任意に決められる
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア

分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある

送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値

分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
Back & Forwardを近似

送信値の例
 Back Propagationのデルタ値
 Forward計算の途中値

どっちも使う例
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア

分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある

送信値は多種多様
– Back Propagationのデルタ値
– Forward計算の途中値

分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
– 例としてUpdate Locking@FNN & RNNを説明
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例

隣接3層が1層3個に分割

2個の誤差近似NNを用意

一番上は出力層

最下層から順に繰り返す
 近似NN値から層の重み更新
 1つ上の層からの誤差and/or
1つ下の層から近似NNの重み更新

2個の目的関数を定義
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例

i+1番目の近似NN出力から第i層の重みを更新
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例

i+2番目の近似NN出力から第i+1層の重みを更新

第i+1層誤差&第i層出力からi+1番目の近似NN
重み更新
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
FNNのBP重み更新の例

教師信号から第i+2層重み更新

第i+2層誤差&第i+1層出力からi+2番目の近似NN
重み更新
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは

RNN
 時間長=深さ
 とりあえずオフラインのBPTTのみ考慮

例:9ステップのとき
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは

RNN
 時間長=深さ
 とりあえずオフラインのBPTTのみ考慮

例:9ステップのとき
 深さ3の時間展開されたNNが3つ
 各々の深さ3の部分では、通常のBP
 間に2つDNI挟む
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは

例:9ステップのとき
 図のt+3以前の区間の重み更新にt+4以降の情報が使用されて
いる

Truncated BPTTより精密な処理をしている

Truncated BPTTは計算グラフの存在を無視
 デルタ=0とみなして足しているのと同じ
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは

例:9ステップのとき
– 近似の近似(Synthetic gradientの近似)
– 隣接していない2つの断片にもDNIを挟める
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
RNNでは

例:9ステップのとき
– 近似の近似(Synthetic gradientの近似)
– 隣接していない2つの断片にもDNIを挟める
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
提案のアイデア

分散環境の送信値が間違っていてもOK!
– 最初は送り手の頂点だって不正確な値を出力する

有向辺に流れる送信値を近似するNNを用意
– 頂点から送信された値との「差分」が目的関数
– 辺の個数と同じだけ目的関数がある

送信値多種多様
– Back Propagationのデルタ値
– Forward計算の途中値

分散環境全体を見て最適化
– 頂点のモデルの学習に伴い送信値を正確にする
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果の例

cDNIの付加情報cは効果的

Forward & Update のUnlockでもOK
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果(MNIST)

cDNIの付加情報cは効果的!!!
ここに
one-hot
など
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果(MNIST)

ちゃんと学習できてるYO!!
 Forward & Update のUnlockでもOKです。
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
実験結果(PTB)

PTBもできてる
 Character-level language modelling
Nextremer Co., LTD. Confidential DocumentNextremer Co., LTD. Confidential Document
まとめ

俺達の分散モデル学習はこれからだ!!!

先生の次回作にご期待下さい!

Decoupled Neural Interfaces using Synthetic Gradients

  • 1.
    Nextremer Co., LTD. ConfidentialDocument 10/6/16 Decoupled Neural Interfaces using Synthetic Gradients Authors: Max Jaderberg et al. Reporter: A. Saito 1
  • 2.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document アウトライン  やりたいこと  より一般的な分散NNモデルの学習(Model Parallel)  理由:より柔軟なモデルをより効率的に訓練  End to end系のさらなる拡張など  問題  Forward, Backwardの考え方は「硬すぎる」  非同期性と相性悪い  提案  DNI: Decoupled Neural Interface  Feedforward NNとRNNの学習から同期性を取り除いた  より一般的な分散モデル学習への指針を示した
  • 3.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document  やりたいこと  より一般的な分散NNモデルとは?  有向グラフで表現  各頂点が分割されたモデルの断片or1台機械に対応  頂点でNNが実行される  NNの中間層の出力を入力とする  有向辺上にNNの入出力値orBP値  頂点数でスケールさせたい  非同期性を考慮
  • 4.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 問題  いろいろなLockingが生じる  Backward(Forward) Locking – 各々の層は自分より上位(下位)層の全計算完了まで待つ – 最上位=出力&最下位=入力  最悪、深さに比例する待ち時間  その他注意  論文中のUpdate Locking  NNに限らない一般な分散モデルでも、待ちを強制される
  • 5.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 提案のアイデア  分散環境の送信値が間違っていてもOK! – 最初は送り手の頂点だって不正確な値を出力する  有向辺に流れる送信値を近似するNNを用意 – 頂点から送信された値との「差分」が目的関数 – 辺の個数と同じだけ目的関数がある  送信値は多種多様  – Back Propagationのデルタ値 – Forward計算の途中値  分散環境全体を見て最適化 – 頂点のモデルの学習に伴い送信値を正確にする
  • 6.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 提案のアイデア  分散環境の送信値が間違っていてもOK! – 最初は送り手の頂点だって不正確な値を出力する  有向辺に流れる送信値を近似するNNを用意 – 頂点から送信された値との「差分」が目的関数 – 辺の個数と同じだけ目的関数がある  送信値は多種多様 – Back Propagationのデルタ値 – Forward計算の途中値  分散環境全体を見て最適化 – 頂点のモデルの学習に伴い送信値を正確にする
  • 7.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 送信値を近似する  分散環境の送信値が間違っていてもOK!  最初は送り手の頂点だって不正確な値を出力する  BP勾配の場合  多層に渡るImplicitなパラメータを無視
  • 8.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 送信値を近似する  分散環境の送信値が間違っていてもOK!  最初は送り手の頂点だって不正確な値を出力する  BP勾配の場合  多層に渡るImplicitなパラメータを無視 第i層以外を無視
  • 9.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document DNIの図解例  有向辺に流れる送信値を近似するNNを用意  頂点から送信された値との「差分」が目的関数  近似デルタ値をSynthetic gradient  送信値を近似するNN(M_B)を用意  図の送信値は誤差  他の種類もある  点線は非同期可  S_Bは同期強制  cは、付加的な教師情報  分類ラベルのOne-hot-vector等  c付モデル=cDNI これも目的関数 One-hot など
  • 10.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document Decouplingの場所  どこをDecupledにするかは、任意に決められる
  • 11.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 提案のアイデア  分散環境の送信値が間違っていてもOK! – 最初は送り手の頂点だって不正確な値を出力する  有向辺に流れる送信値を近似するNNを用意 – 頂点から送信された値との「差分」が目的関数 – 辺の個数と同じだけ目的関数がある  送信値は多種多様 – Back Propagationのデルタ値 – Forward計算の途中値  分散環境全体を見て最適化 – 頂点のモデルの学習に伴い送信値を正確にする
  • 12.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document Back & Forwardを近似  送信値の例  Back Propagationのデルタ値  Forward計算の途中値  どっちも使う例
  • 13.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 提案のアイデア  分散環境の送信値が間違っていてもOK! – 最初は送り手の頂点だって不正確な値を出力する  有向辺に流れる送信値を近似するNNを用意 – 頂点から送信された値との「差分」が目的関数 – 辺の個数と同じだけ目的関数がある  送信値は多種多様 – Back Propagationのデルタ値 – Forward計算の途中値  分散環境全体を見て最適化 – 頂点のモデルの学習に伴い送信値を正確にする – 例としてUpdate Locking@FNN & RNNを説明
  • 14.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document FNNのBP重み更新の例  隣接3層が1層3個に分割  2個の誤差近似NNを用意  一番上は出力層  最下層から順に繰り返す  近似NN値から層の重み更新  1つ上の層からの誤差and/or 1つ下の層から近似NNの重み更新  2個の目的関数を定義
  • 15.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document FNNのBP重み更新の例  i+1番目の近似NN出力から第i層の重みを更新
  • 16.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document FNNのBP重み更新の例  i+2番目の近似NN出力から第i+1層の重みを更新  第i+1層誤差&第i層出力からi+1番目の近似NN 重み更新
  • 17.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document FNNのBP重み更新の例  教師信号から第i+2層重み更新  第i+2層誤差&第i+1層出力からi+2番目の近似NN 重み更新
  • 18.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document RNNでは  RNN  時間長=深さ  とりあえずオフラインのBPTTのみ考慮  例:9ステップのとき
  • 19.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document RNNでは  RNN  時間長=深さ  とりあえずオフラインのBPTTのみ考慮  例:9ステップのとき  深さ3の時間展開されたNNが3つ  各々の深さ3の部分では、通常のBP  間に2つDNI挟む
  • 20.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document RNNでは  例:9ステップのとき  図のt+3以前の区間の重み更新にt+4以降の情報が使用されて いる  Truncated BPTTより精密な処理をしている  Truncated BPTTは計算グラフの存在を無視  デルタ=0とみなして足しているのと同じ
  • 21.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document RNNでは  例:9ステップのとき – 近似の近似(Synthetic gradientの近似) – 隣接していない2つの断片にもDNIを挟める
  • 22.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document RNNでは  例:9ステップのとき – 近似の近似(Synthetic gradientの近似) – 隣接していない2つの断片にもDNIを挟める
  • 23.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 提案のアイデア  分散環境の送信値が間違っていてもOK! – 最初は送り手の頂点だって不正確な値を出力する  有向辺に流れる送信値を近似するNNを用意 – 頂点から送信された値との「差分」が目的関数 – 辺の個数と同じだけ目的関数がある  送信値多種多様 – Back Propagationのデルタ値 – Forward計算の途中値  分散環境全体を見て最適化 – 頂点のモデルの学習に伴い送信値を正確にする
  • 24.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 実験結果の例  cDNIの付加情報cは効果的  Forward & Update のUnlockでもOK
  • 25.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 実験結果(MNIST)  cDNIの付加情報cは効果的!!! ここに one-hot など
  • 26.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 実験結果(MNIST)  ちゃんと学習できてるYO!!  Forward & Update のUnlockでもOKです。
  • 27.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document 実験結果(PTB)  PTBもできてる  Character-level language modelling
  • 28.
    Nextremer Co., LTD.Confidential DocumentNextremer Co., LTD. Confidential Document まとめ  俺達の分散モデル学習はこれからだ!!!  先生の次回作にご期待下さい!