Successfully reported this slideshow.
Your SlideShare is downloading. ×

STAIR Lab Seminar 202105

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
NeurIPS2020参加報告
NeurIPS2020参加報告
Loading in …3
×

Check these out next

1 of 59 Ad

More Related Content

Slideshows for you (20)

Similar to STAIR Lab Seminar 202105 (20)

Advertisement

Recently uploaded (20)

Advertisement

STAIR Lab Seminar 202105

  1. 1. 少量の計算資源でも利⽤可能な ⾃然⾔語処理モデルを⽬指して ⾼瀬 翔 東京⼯業⼤学 2021/5/28 1
  2. 2. 略歴 • 2008-2017︓東北⼤学(学⼠-博⼠) • 2017-2018︓NTT CS研(ポスドク) • 2018-2020︓東⼯⼤(研究員) • 2020- ︓東⼯⼤(助教) • ⾃然⾔語処理の研究に従事 – 変遷︓句の意味表現 → ⾔語モデル → 系列変換 • 系列変換タスク︓機械翻訳,要約など⼊⼒に対する⽂を⽣成 – 圧縮率に応じた要約⽣成(NAACL 19) » ⼈⼿の要約データでトップスコア – 時間的に効率の良い系列変換モデルの学習⼿法(NAACL 21) – 省パラメータ数な埋め込み表現(NeurIPS 20) – 省パラメータ数かつ学習速度の速い系列変換モデル(arXiv) » 英-独の翻訳データでトップスコア 2
  3. 3. 略歴 • 2008-2017︓東北⼤学(学⼠-博⼠) • 2017-2018︓NTT CS研(ポスドク) • 2018-2020︓東⼯⼤(研究員) • 2020- ︓東⼯⼤(助教) • ⾃然⾔語処理の研究に従事 – 変遷︓句の意味表現 → ⾔語モデル → 系列変換 • 系列変換タスク︓機械翻訳,要約など⼊⼒に対する⽂を⽣成 – 圧縮率に応じた要約⽣成(NAACL 19) » ⼈⼿の要約データでトップスコア – 時間的に効率の良い系列変換モデルの学習⼿法(NAACL 21) – 省パラメータ数な埋め込み表現(NeurIPS 20) – 省パラメータ数かつ学習速度の速い系列変換モデル(arXiv) » 英-独の翻訳データでトップスコア 3
  4. 4. ⾃然⾔語処理とは • ⼈の⽤いる⾔葉(⾃然⾔語)を計算機で処理する – 翻訳,要約,情報検索,情報抽出,… 4 ウンベルト・エーコの新作,『バウドリーノ』 は農⺠の⼦バウドリーノがバルバロッサとも呼 ばれる神聖ローマ皇帝フリードリヒ1世に寵愛 され,⼗字軍に随⾏する物語.前半は史実を元 にした展開となっているが,物語が進むにつれ て,史実からは⼤きく外れ,想像⼒に富んだ エーコの筆致が…… エーコの新作, 史実と想像⼒のまじわる冒険物語 Baudolino, a new novel by Umberto Eco, is the story of a peasant boy Baudolino who is favored by the Holy Roman Emperor Friedrich I, also known as Barbarossa, and accompanies him on the 3rd crusade …… 作品名 バウドリーノ 著者 ウンベルト・エーコ … … 情報抽出 要約 翻訳
  5. 5. 近年の⾃然⾔語処理 ニューラルネットを⽤いた⼀貫処理 • 従来の翻訳︓翻訳モデルと⾔語モデルの組み合わせ – P( ⽇ | 英 ) ≃ P( 英 | ⽇ ) P( ⽇ ) • 2015年辺りからの翻訳︓ニューラルモデルで出⼒を直に⽣成 – P( ⽇ | 英 ) を条件付き⾔語モデルとして計算 • 複数モデルの組み合わせによるエラー伝播を解消 • ニューラルモデルはどのような利点があるのか︖ → ⾔語モデルを例にとって説明 5 Where is my cat? 私 猫 どこ ︖ 私の 猫は どこ ︖ 私 猫は どれ ︖ … 私の猫はどこ︖ 翻訳モデル P( 英 | ⽇ ) ⾔語モデル P( ⽇ ) Where is my cat? 私の猫はどこ︖
  6. 6. ⾔語モデルとは • ⾃然⾔語としての確からしさを計算 – P(I have a dream) > P(a have I dream) – 従来の翻訳では出⼒⽂の選択に使⽤ – 同時確率を条件付き確率の積で計算 NTT Encoder-Decoder RNN Encoder-Decoder P(I have a dream) > P(a have I dream) > P(fuga spam hoge : •  RNN •  P(I have a dream) = P(I)P(have | I)P(a | I have)P(dream | I have a) I have a dream 6
  7. 7. N-gramとニューラル⾔語モデル • N-gram ⾔語モデル︓単語の⽣起は直前N-1単語に依存 – 算出法︓訓練データ中の出現頻度をカウント • ⽋点1︓N が⼤きいと訓練データに出現しない • ⽋点2︓単語間の類似性を考慮できない(I と You や He は似た振る舞いだが…) • ニューラル⾔語モデル︓⽣起確率をニューラルネットで計算 – 算出法︓訓練データを再現するよう学習したモデルを⼊⼒に適⽤ • 無限-gramを⾃然に扱うことが可能 • 埋め込みにより単語間の類似性を考慮可能 7 • – P(I have a dream) > P(a have I dream) – • perplexity – – → – 3 Encoder-Decoder RNN Encoder-Decoder P(I have a dream) > P(a have I dream) > P(fuga spam hoge) : •  RNN •  P(I have a dream) = P(I)P(have | I)P(a | I have)P(dream | I have a) I have a dream I have a dream P(I) P(have | I) P(a | I have) P(dream | I have a) RNN gdream = σ(Wge’dream+bg) P(dream | I have a) Softmax(s’dream) sdream=(Whdream+b) gdream sdream s’dream Model Penn LSTM ( Variatio Variatio Variatio Variatio Variatio Pointer Neural W LSTM ( Variatio Variatio Variatio Pointer 1-gram 2-gram 3-gram 4-gram 何らかのニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 各条件(⼊⼒単語列) に対し確率を計算
  8. 8. 埋め込み表現︓ 単語の実数ベクトルによる表現 • ニューラルネットには埋め込み表現を⼊⼒ – 埋め込み表現︓各単語に対応した実数ベクトル – ベクトル空間上で各単語の特徴を共有 – 学習を通じて似た単語は似た埋め込みに 8 何らかのニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 0.83 -1.56 0.37 … -0.42 I 単語を埋め込み表現に変換し, ニューラルネットに⼊⼒ 0.64 -1.46 0.03 … 0.28 似た単語=似た埋め込み 0.78 -1.22 0.15 … 1.25 You: He:
  9. 9. ここまでのまとめ • ⾃然⾔語処理にもニューラルモデルが浸透 – ⼊⼒から出⼒までを⼀貫処理 – 利点︓パイプライン処理によるエラー伝播が解消 • ニューラルでは単語や⽂脈を実数ベクトルで表現 – 利点︓ベクトル空間上で特徴を共有 • 任意⻑の系列を⾃然に扱える • 単語・⽂脈の類似性を容易に考慮可能 – Dog は Cat や Cow と似ている(似た埋め込み表現) 9
  10. 10. 今⽇の話のながれ • 導⼊︓⾃然⾔語処理のニューラルモデル • 近年のニューラルモデルの発展 – 事前学習モデルの隆盛 • パラメータ数削減の試み – 蒸留 – モデルの圧縮 – 軽量なモデルの設計 • これから 10
  11. 11. データに基づく⼿法は データ量が多いほど良い • 統計的⼿法はデータが増えると質が向上 – データを⽣成している真の分布に近づく – N-gram⾔語モデルの質はデータ量に対数⽐例 [Brants+ 07] • ニューラルも訓練データが⼤きいほど性能向上 – 翻訳の訓練に使⽤する対訳⽂数を変えると…… 11 Because 30 years ago, I'm from New Jersey, and I was six, and I lived there in my parents' house in a town called Livingston, and this was my childhood bedroom. 30年前 私は ジャージー出⾝で 6歳でした 両親の 家にはLiventとい う町に住んでいま した これは ⼦ど もの寝室でした 30 年前 私は ニュージャージー 出⾝で6歳でした 両親の住むリビン グトンという町に 住んでいました こ れは⼦供の頃の寝 室です およそ30年前 スズズズズズズ ズズで 私の頃 です 翻訳元の英⽂ 1万 10万 20万
  12. 12. 訓練データを無数につくれるか︖ • 時間・⾦銭的な⾯で難しい – 例えば翻訳では…… • 訓練データとしてある⾔語の⽂の対訳が必要 • 新聞記事の⽇ → 英翻訳︓約1300円 / ⽂ • ニューラルモデル学習には100万⽂対以上欲しい=13億円!? • 解決策︓既にあるデータを活⽤ – 例えば翻訳では…… • 同⼀内容について複数⾔語で書かれている記事を利⽤ 12 ある事柄について ⽇本語,英語の Wikipediaから 対訳⽂を抽出
  13. 13. 余談︓⾃動⽣成したデータも有⽤ • 機械翻訳したデータも機械翻訳の学習に有⽤ • ⼈⼯的にノイズを⼊れたデータも学習に有⽤ – ノイズ︓単語を消す,似た単語に置き換える,… – どのようなノイズが効率的か︖ [Takase & Kiyono 21] • 詳しくはNLPコロキウム︓https://youtu.be/jleVcNSKylw 13 Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do … 川べりで姉の隣に座っ ていたアリスは、けれ ども、何もすることが ないので、とても退屈 になってきて…… 機械翻訳 英 ← ⽇翻訳の 学習に利⽤ 川べりで__の__座っ ていた____は、けれ ども、何も___ことが ない____とても____ に____きて…… ノイズを⼊れる (単語を消す) 英 ← ⽇翻訳の 学習に利⽤
  14. 14. 訓練データを無数につくれるか︖ • 時間・⾦銭的な⾯で難しい – 例えば翻訳では…… • 訓練データとしてある⾔語の⽂の対訳が必要 • 新聞記事の⽇ → 英翻訳︓約1300円 / ⽂ • ニューラルモデル学習には100万⽂対以上欲しい=13億円!? • 解決策︓既にあるデータを活⽤ – 例えば翻訳では…… • 同⼀内容について複数⾔語で書かれている記事を利⽤ 14 ある事柄について ⽇本語,英語の Wikipediaから 対訳⽂を抽出
  15. 15. ⾔語モデルの訓練データは構築が容易 • ⾔語モデル︓⾃然⾔語としての確からしさを計算 – 同時確率を条件付き確率の積で計算 • ⾔語モデルの学習︓各⽂脈(単語列)の次に出現する単語を予測 • 任意の(⾃然⾔語の)⽂書=⾔語モデルの訓練データ – Wikipediaの⽂書がそのまま(追加でタグ付けなどなしに)使える︕ 15 Encoder-Decoder RNN Encoder-Decoder P(I have a dream) > P(a have I dream) > P(fuga spam hoge : •  RNN •  P(I have a dream) = P(I)P(have | I)P(a | I have)P(dream | I have a) I have a dream 何らかのニューラルネット I have a I have a dream <BOS> I have a dream that one day …
  16. 16. 学習した⾔語モデルを活かす • ⾔語モデルの訓練データは構築が容易 → 質の良い⾔語モデル構築が可能 • 学習した⾔語モデルを各タスクに転⽤ 1. ⼤規模コーパスで⾔語モデルを学習 2. タスク⽤の訓練データでパラメータを調整 • モデルの転⽤で⾼い性能を達成 [Peters+ 18] – (⾔語モデルなど)事前学習モデルの隆盛 16
  17. 17. 余談(1/3)︓事前学習モデルの歴史 • 17 2018 2013 2007 ⼤量データ⽤の単純なスムージング 提案(Stupid backoff [Brants+ 07]) ⼤規模コーパスから得た N-gram ⾔語モデルで翻訳の性能向上 2019 ⼤規模データでの単語埋め込み学習 ⼿法提案(word2vec [Mikolov+ 13]) word2vec はニューラル⾔語モデル の極めて単純な亜種 ⼤規模コーパスでRNN⾔語モデル を学習(ELMo [Peters+ 18]) 多層ニューラルを使った事前学習の さきがけ︖ RNNを計算効率の良いTransformer に変更(BERT [Devlin+ 19]) より⼤規模なデータでの事前学習が 可能に → 近年の事前学習ブーム
  18. 18. 余談(1/3)︓事前学習モデルの歴史 • 18 2018 2013 2007 ⼤量データ⽤の単純なスムージング 提案(Stupid backoff [Brants+ 07]) ⼤規模コーパスから得た N-gram ⾔語モデルで翻訳の性能向上 2019 ⼤規模データでの単語埋め込み学習 ⼿法提案(word2vec [Mikolov+ 13]) word2vec はニューラル⾔語モデル の極めて単純な亜種 ⼤規模コーパスでRNN⾔語モデル を学習(ELMo [Peters+ 18]) 多層ニューラルを使った事前学習の さきがけ︖ RNNを計算効率の良いTransformer に変更(BERT [Devlin+ 19]) より⼤規模なデータでの事前学習が 可能に → 近年の事前学習ブーム (計算量を⼤きく減らした)単純なモデルを ⼤量のデータで学習すると覇権を握れる!? (次はアテンションの効率化が鍵…︖)
  19. 19. 余談(2/3)︓近年の事前学習モデル 19 何らかのニューラルネット I have a I have a dream <BOS> 何らかのニューラルネット MASK MASK a I have <BOS> マスクド⾔語モデル(BERT系) ⼊⼒の⼀部をマスクし,その単語を予測 ⼊⼒系列 X について次を最⼤化 マスクする単語を ランダムに選択 マスクされた 単語を予測 ⾔語モデル(GPT系) 与えられた⽂脈に対し次の単語を予測 ⼊⼒系列 X について次を最⼤化 k-1から1つ前までの 単語を⽂脈とする ⽂脈の次の 単語を予測 • 学習⽅法で⼤別 – 構造は主に Transformer [Vaswani+ 17]
  20. 20. 余談(3/3)︓⼤規模データでの学習の凄み • 訓練データや学習パラメータが増えると性能向上 • Zero-shot でも良い性能(の場合も)[Brown+ 20] – Zero-shot: 応⽤タスクで学習せずに解く 20 翻訳での 通常の学習 ウンベルト・エー コの新作,『バウ ドリーノ』は農⺠ の⼦が…… Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… 対訳⽂で学習 Where is my cat? 私の猫はどこですか︖ ウンベルト・エー コの新作,『バウ ドリーノ』は農⺠ の⼦が…… Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… ⼤量の⽂書で ⾔語モデルを学習 English to Japanese: Where is my cat? 私の猫はどこですか︖ ⾔語モデル による Zero-shot 翻訳
  21. 21. 問題︓必要な計算資源の増加 • 事前学習モデルのパラメータ数増加が著しい – パラメータ数が増えると性能も上がる [Brown+ 20] • 性能はパラメータ数に対数⽐例 • 学習パラメータが多い=多量の計算資源が必要 – モデルの圧縮や軽量化(パラメータ削減)が課題 21 117M 110M 1.5B 8.3B 17B 175B 1年で1000倍以上に 膨れ上がっている
  22. 22. ここまでのまとめ • 訓練データが増える=性能向上 – ⾔語モデルの訓練データは構築が容易 • 任意の⽂書がそのまま⾔語モデルの訓練データ • 質の良い⾔語モデルは応⽤タスクに有⽤ – 事前学習モデルの隆盛(BERT,GPT) 1. ⼤規模コーパスで⾔語モデルを学習 2. タスク⽤の訓練データでパラメータを調整 • 問題︓必要な計算資源が増加している – 性能はパラメータ数に対数⽐例 → パラメータ数の著しい増加 22
  23. 23. 今⽇の話のながれ • 導⼊︓⾃然⾔語処理のニューラルモデル • 近年のニューラルモデルの発展 – 事前学習モデルの隆盛 • パラメータ数削減の試み – 蒸留 – モデルの圧縮 – 軽量なモデルの設計 • これから 23
  24. 24. 問題︓必要な計算資源の増加 • 事前学習モデルのパラメータ数増加が著しい – パラメータ数が増えると性能も上がる [Brown+ 20] • 性能はパラメータ数に対数⽐例 • 学習パラメータが多い=多量の計算資源が必要 – モデルの圧縮や軽量化(パラメータ削減)が課題 24 117M 110M 1.5B 8.3B 17B 175B 1年で1000倍以上に 膨れ上がっている
  25. 25. パラメータ数削減の戦略 • 学習済みモデルがある – 蒸留(Distillation) • 学習済みモデルの出⼒を⼩規模モデルで再現 – モデル圧縮 • 学習済みモデル内の不要なパラメータを削除 – 不要︓予測への貢献が⼩さいパラメータ • 学習済みモデルがない(ゼロから学習) – 軽量なモデル(最初から少数のパラメータ)の設計 • 埋め込み表現について [Takase & Kobayashi 20] • 中間層について [Takase & Kiyono 21] 25
  26. 26. 蒸留(Distillation) • 学習済みモデルの出⼒を⼩規模モデルで再現 [Hinton+ 14] – ⾔語モデルの学習を例に • 系列変換タスク⽤の⼿法は次スライドで 26 Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… 元となるモデル (教師モデル) の学習 ⼩さなモデル (⽣徒モデル) の学習 Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… Baudolino, a new Baudolino, a new novel ⽂脈を⼊⼒し, 次の単語を予測 Baudolino, a new novel 教師モデルの 出⼒を再現する ように学習 通常の学習 (次の単語 を予測)
  27. 27. 系列変換タスクでの蒸留 [Kim+, 16] • 教師モデルの⽣成した系列で⽣徒モデルを学習 – 経験的に性能が良く,実装も楽 27 1. 通常の訓練データで 教師モデルを学習 ウンベルト・エー コの新作,『バウ ドリーノ』は農⺠ の⼦が…… Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… 『バウドリーノ』 (ウンベルト・ エーコの新作)は 農⺠の⼦が… Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… 2. 教師モデルで 訓練データを再⽣成 Baudolino, a new novel by Umberto Eco, is the story of a peasant boy …… 『バウドリーノ』 (ウンベルト・ エーコの新作)は 農⺠の⼦が… 3. 教師モデルの ⽣成した訓練データで ⽣徒モデルを学習
  28. 28. モデル圧縮 • 学習済みモデル内の不要なパラメータを削除 – 不要︓予測への貢献が⼩さいパラメータ – 基本戦略︓パラメータの値の絶対値で判断 • 絶対値の⼩さいパラメータをゼロに • 近年の発展︓Lottery Ticket Hypothesis – パラメータ削除に関する妥当性と戦略の議論 28
  29. 29. Lottery Ticket Hypothesis とは • ニューラルモデルは同等の性能を達成可能な部分ネット (subnetwork)を持つ [Frankle+ 19] – ニューラルモデルは⾼い性能を達成可能な当選クジを含む • ⼤量のパラメータ︓抽選クジ • 良い部分ネット︓当選クジ • どのように良い部分ネットを発⾒するか︖ – 学習とパラメータ削除を繰り返す 29 学習 貢献の⼩さい パラメータを 削除 残りの パラメータを 初期値に戻す 再度学習
  30. 30. パラメータ数削減の戦略 • 学習済みモデルがある – 蒸留(Distillation) • 学習済みモデルの出⼒を⼩規模モデルで再現 – モデル圧縮 • 学習済みモデル内の不要なパラメータを削除 – 不要︓予測への貢献が⼩さいパラメータ • 学習済みモデルがない(ゼロから学習) – 軽量なモデル(最初から少数のパラメータ)の設計 • 埋め込み表現について [Takase & Kobayashi 20] • 中間層について [Takase & Kiyono 21] 30
  31. 31. 埋め込み表現のおさらい • 埋め込み︓各単語に対応した実数ベクトル – ニューラルネットには埋め込みを⼊⼒ – 各単語に固有=次元数(De ) × 語彙数(V )の⾏列 31 何らかの(M層)ニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 0.83 -1.56 0.37 … -0.42 I 単語を埋め込み表現に変換し, ニューラルネットに⼊⼒ V De 0.83 … -0.42 埋め込み表現の⾏列から 単語に対応する埋め込みを抽出 語彙数は数万〜数⼗万 → 埋め込み⾏列はニューラルモデルの 重み⾏列の中で最⼤の⾏列 (英-独翻訳の Transformer では 全パラメータの 1/4)
  32. 32. 従来の軽量化︓⾏列分解的な⼿法 • 埋め込み⾏列を複数の⾏列に分解 – ⼩さな次元数 × 語彙数の⾏列を⾏列演算で拡張 • 2 つに分解する [Lan+ 20] • より複雑な分解 [Mehta+ 20] • 問題点︓語彙数に依存した⾏列は必要 – 語彙数は数万〜数⼗万=巨⼤な⾏列が存在 • 語彙数に依存した学習パラメータを撤廃できないか︖ 32 次元数×語彙数 × = 次元数×語彙数 × = × 結合
  33. 33. 語彙数に依存した学習パラメータを 撤廃 [Takase & Kobayashi 20] • 従来︓各語に固有の埋め込み表現を⽤意 • 本研究︓各語に固有のランダムベクトルを⽤意 – ランダムベクトルと共有パラメータから埋め込みを構築 • ランダムベクトルをどう構築するか︖ – 素朴には次元数 × 語彙数 – もっとメモリ効率の良い⼿法はないか︖ 33 o mw FFN ew 学習パラメータは o と FFN のみ → 学習パラメータが 語彙数に⾮依存 ランダムベクトル (各語に固有) 共有の埋め込み 各語の埋め込み
  34. 34. ランダムベクトル mw の構築 • M 個のランダムベクトルを組み合わせる • 組み合わせが完全に衝突することはほぼない – 確率は 1 - exp(-V2 / 2(cM)) – 例えば翻訳(c = 64, M = 8, V = 37K)では 1.0 × 10-6 で衝突 34 ランダム⾏列 ,… + … + 各単語に対してランダムに列ベクトルを割り当て,組み合わせる mw Do c M ランダムベクトルの組み合わせで mw を構築 Do × c × M < De × V
  35. 35. 実験設定 • 要約・翻訳タスクで実験 – 既存の埋め込み表現と提案⼿法を置き換える – 中間層は Transformer [Vaswani+ 17] • データセット – 要約︓English Gigaword(訓練),DUC 2004(テスト) • 英語ニュース記事の1⽂⽬ → タイトルのデータセット • 訓練データ︓380万⽂対 – 翻訳︓WMT 英-独 • 英-独翻訳のデータセット(ベンチマークとして広く使⽤されている) • 訓練データ︓450万⽂対 • 評価指標 – 正解⽂との⼀致率(⾼いほど性能が良い) • 要約︓ROUGE • 翻訳︓BLEU 35
  36. 36. 要約での実験結果 • 通常の埋め込みを使う⼿法([Takase+ 19])と⽐較 • 通常の埋め込みより少ないパラメータ数で同程度の性能 – 提案⼿法は軽量な埋め込みとして使⽤可能 36 ⼿法 埋め込み表現 のパラメータ ROUGE 1 ROUGE 2 ROUGE L [Rush+ 15] 42.1M 28.18 8.49 23.81 LSTM EncDec [Suzuki+ 17] 37.7M 32.28 10.54 27.80 Transformer [Takase+ 19] 8.3M 32.29 11.49 28.03 Transformer + 提案⼿法 1.0M 32.57 11.63 28.24
  37. 37. 機械翻訳での実験結果 • 従来の軽量な埋め込み⼿法([Mehta+ 20, Lan+ 20])と⽐較 • 従来⼿法よりも少ないパラメータ数で同程度の性能を達成 37 ⼿法 埋め込み表現 のパラメータ 全パラメータ BLEU Transformer [Vaswani+ 17] 16.8M 60.9M 27.3 Transformer (re-run) 16.8M 60.9M 27.12 Transformer + 複雑な分解 [Mehta+ 20] - 68M 27.01 Transformer + ⾏列分解 [Lan+ 20] 8.5M 52.7M 26.56 Transformer + 提案⼿法 8.4M 52.5M 27.61
  38. 38. 機械翻訳での実験結果 • 従来の軽量な埋め込み⼿法([Mehta+ 20, Lan+ 20])と⽐較 • 従来⼿法よりも少ないパラメータ数で同程度の性能を達成 38 ⼿法 埋め込み表現 のパラメータ 全パラメータ BLEU Transformer [Vaswani+ 17] 16.8M 60.9M 27.3 Transformer (re-run) 16.8M 60.9M 27.12 Transformer + 複雑な分解 [Mehta+ 20] - 68M 27.01 Transformer + ⾏列分解 [Lan+ 20] 8.5M 52.7M 26.56 Transformer + 提案⼿法 8.4M 52.5M 27.61 何故全パラメータ数が 通常の⼿法より多いのか︖
  39. 39. 余談︓共有によるパラメータ節約 • 翻訳などでは語彙数次元のベクトルを出⼒ – 語彙数に対する確率分布を出⼒ 39 何らかの(M層)ニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 0.83 -1.56 0.37 … -0.42 I V De 0.83 … -0.42 埋め込み表現の⾏列から 単語に対応する埋め込みを抽出
  40. 40. 余談︓共有によるパラメータ節約 • 翻訳などでは語彙数次元のベクトルを出⼒ – 語彙数に対する確率分布を出⼒ 40 何らかの(M層)ニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 0.83 -1.56 0.37 … -0.42 I V De 0.83 … -0.42 埋め込み表現の⾏列から 単語に対応する埋め込みを抽出 出⼒⾏列(De × V ) × 出⼒⾏列で語彙数次元のベクトルに変換
  41. 41. 余談︓共有によるパラメータ節約 • 翻訳などでは語彙数次元のベクトルを出⼒ – 語彙数に対する確率分布を出⼒ 41 何らかの(M層)ニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 0.83 -1.56 0.37 … -0.42 I V De 0.83 … -0.42 埋め込み表現の⾏列から 単語に対応する埋め込みを抽出 出⼒⾏列(De × V ) × 出⼒⾏列で語彙数次元のベクトルに変換 ⾏列の形は同じ → 同⼀の⾏列を使⽤可能 → 共有するとパラメータの⼤幅な節約に 本研究の実験では共有している (既存研究は共有していない︖)
  42. 42. パラメータ数削減の戦略 • 学習済みモデルがある – 蒸留(Distillation) • 学習済みモデルの出⼒を⼩規模モデルで再現 – モデル圧縮 • 学習済みモデル内の不要なパラメータを削除 – 不要︓予測への貢献が⼩さいパラメータ • 学習済みモデルがない(ゼロから学習) – 軽量なモデル(最初から少数のパラメータ)の設計 • 埋め込み表現について [Takase & Kobayashi 20] • 中間層について [Takase & Kiyono 21] 42
  43. 43. ニューラルモデルの構造おさらい • 中間層︓ニューラルモデルの埋め込み以外 43 何らかの(M層)ニューラルネット I have a P(I) P(have | I) P(a | I have) P(dream | I have a) <BOS> 0.83 -1.56 0.37 … -0.42 I 埋め込み表現 を⼊⼒ 1層⽬ 2層⽬ 3層⽬ 4層⽬ 中間層 (M = 4の場合)
  44. 44. 中間層のパラメータ数を抑える • パラメータの共有が効果的 – 既存研究︓全層で共有 [Dehghani+ 19, Lan+ 20] → 制約が厳しすぎる • 表現⼒の⼤幅な低下 • 表現⼒を上げると計算時間に⼤幅な悪影響 • 制約を緩めても良いのでは︖ 44 1層⽬ 2層⽬ 3層⽬ 4層⽬ ⼊⼒ 1層⽬ 2層⽬ 3層⽬ 4層⽬ ⼊⼒ 素の⼿法(Vanilla)︓ 全層のパラメータが独⽴ 既存⼿法︓ 全層でパラメータを共有
  45. 45. 制約を緩めたパラメータ共有⼿法 [Takase & Kiyono 21] • 複数層分のパラメータを⽤意 – 下図では 2層分⽤意 • パラメータをどう割り当てるか︖ – 3種類の⽅法を提案 45 Sequence 連続した層で共有 1層⽬ 2層⽬ 3層⽬ 4層⽬ ⼊⼒ 共有 共有 1層⽬ 2層⽬ 3層⽬ 4層⽬ ⼊⼒ 共有 共有 Cycle 同⼀順序で積む 1層⽬ 2層⽬ 3層⽬ 4層⽬ ⼊⼒ 共有 共有 Cycle (Rev) 同⼀順序で積み 最後にひっくり返す
  46. 46. 実験設定 • 翻訳タスクで実験 – 全層のパラメータ共有⼿法と⽐較 • データセット – WMT 英-独 • 訓練データ︓450万⽂対 • 評価︓7 つのデータ(newstest2010 - 16)の平均 • 評価指標 – BLEU︓正解⽂との⼀致率(⾼いほど良い) 46
  47. 47. 実験結果 • 同⼀パラメータ数で 実験 – 提案⼿法は全層共有 と同等の速度に設定 • 層の数を変えて調整 • 提案⼿法が⾼い性能 – 特に Cycle (Rev) – 下層のパラメータを 上層で使うと良い 47 全 層 共 有 同等の学習速度 6層 6層 18層 18層 18層
  48. 48. ここまでのまとめ • パラメータ数削減の⼿法を概観 – 学習済みモデルがある︓蒸留,モデル圧縮 – 学習済みモデルがない︓軽量なモデルの設計 • 軽量なモデル設計として2種類紹介 – 埋め込みについて [Takase & Kobayashi 20] • ランダムベクトルの活⽤で語彙数に依存したパラメータ撤廃 • 実装︓https://github.com/takase/alone_seq2seq – 中間層について [Takase & kiyono 21] • パラメータ共有の新規⼿法を提案 • 同⼀パラメータ数・同⼀学習時間で既存⼿法よりも⾼い性能 48
  49. 49. 今⽇の話のながれ • 導⼊︓⾃然⾔語処理のニューラルモデル • 近年のニューラルモデルの発展 – 事前学習モデルの隆盛 • パラメータ数削減の試み – 蒸留 – モデルの圧縮 – 軽量なモデルの設計 • これから 49
  50. 50. 軽量なモデル設計のこれから • 従来モデルで計算量の⼤きい箇所を改修 – Transformer の Self-attention の改修が盛ん︖ • 軽量なネットワークの早期発⾒ – 学習を(ほとんど)せずにパラメータ削除 50
  51. 51. Transformer [Vaswani+ 17] の構造 • Self-attention と Feed-forward 層からなる 51 x1 x2 x3 x4 x5 Self-attention Feed-Forward ⼊⼒単語 埋め込み Transformer 1層 …… Q K V WK WV WQ Self-attention︓ 各単語から単語 への重み (V への重み) QKT softmax(QKT)V を計算し,出⼒
  52. 52. Self-attention の軽量化 • Self-attention︓⼊⼒⻑の 2乗の計算量 • 計算対象を限定して計算量削減 [Child+ 19] – Strided,Fixed の 2種を提案 • Self-attention の軽量な代替を探す – CNN でも同等の性能が達成可能 [Tay+ 21] – ⼊⼒間の相互作⽤があれば同等の性能が達成可能︖ [Liu+ 21] 52 x1x2x3x4x5 通常のアテンション 全単語間に対し計算 x 5 x 4 x 3 x 2 x 1 x1x2x3x4x5 x 5 x 4 x 3 x 2 x 1 Strided アテンション 直前の N 単語に対し計算 (図では N = 3) x1x2x3x4x5 x 5 x 4 x 3 x 2 x 1 Fixed アテンション N 区間の単語に対し計算 (図では N = 3)
  53. 53. 軽量なモデル設計のこれから • 従来モデルで計算量の⼤きい箇所を改修 – Transformer の Self-attention の改修が盛ん︖ • 軽量なネットワークの早期発⾒ – 学習を(ほとんど)せずにパラメータ削除 53
  54. 54. 軽量なネットワークの早期発⾒ • パラメータ削除は反復計算が主流 – 反復計算により Lottery Ticket を抽出 54 学習 貢献の⼩さい パラメータを 削除 残りの パラメータを 初期値に戻す 再度学習 広く使われている,部分ネットの発⾒⼿法 学習を複数回⾏うことなくパラメータを削除できないか︖ (学習 → 削除の反復は⾼コスト)
  55. 55. 学習を⾏わずにパラメータを削除 • ある指標で各パラメータの寄与率(スコア)を計算 – 訓練データで1度だけ計算し,勾配を元にスコア計算 [Lee+ 19, Wang+ 20] – パラメータの値のみを元にスコア計算 [Tanaka+ 20] 55 preference is. In particular, both SNIP and GraSP aggressively prune ith the most trainable parameters, evident by the sharp peaks in Fig. 2. we hypothesize that gradient-based scores averaged within a layer are layer size. We examine this hypothesis by constructing a theoretical networks. We first define a general class of gradient-based scores, prove scores, and then use this law to prove that our hypothesis of inverse r size and average layer score holds exactly. -based scores. Synaptic saliency is a class of score metrics that can be product S(✓) = @R @✓ ✓, (1) ion of the output y of a feed-forward network parameterized by ✓. When esulting synaptic saliency metric is equivalent (modulo sign) to @L @✓ ✓, tonization [1], one of the first network pruning algorithms. The resulting o @L @✓ ✓ the score used in SNIP [13], H @L @✓ ✓ the score used in core used in the pruning after training algorithm Taylor-FO [28]. When ynaptic saliency metric is closely related to diag(H)✓ ✓, the score used ]. This general class of score metrics, while not encompassing, exposes sed scores used for pruning. スコアの⼀般的な形式, [Lee+ 19, Wang+ 20]は として 訓練データの損失を利⽤ what the root cause for this preference is. In particular, both SNIP and Gr he largest layer, the layer with the most trainable parameters, evident by th Based on this observation, we hypothesize that gradient-based scores aver nversely proportional to the layer size. We examine this hypothesis by co ramework grounded in flow networks. We first define a general class of grad conservation law for these scores, and then use this law to prove that ou proportionality between layer size and average layer score holds exactly. A general class of gradient-based scores. Synaptic saliency is a class of s xpressed as the Hadamard product S(✓) = @R @✓ ✓, where R is a scalar loss function of the output y of a feed-forward network pa R is the training loss L, the resulting synaptic saliency metric is equivalent (m he score metric used in Skeletonization [1], one of the first network pruning a metric is also closely related to @L @✓ ✓ the score used in SNIP [13], H @ @ GraSP, and @L @✓ ✓ 2 the score used in the pruning after training algorithm R = h@L @y , yi, the resulting synaptic saliency metric is closely related to diag( the essential ingredients for a pruning algorithm to avoid layer-collapse l Critical Compression? We prove the following theorem in Appendix 9. ive, conservative scoring achieves Maximal Critical Compression. If a bal-masking, assigns positive scores that respect layer-wise conservation al score for the parameters pruned at any iteration, is strictly less than for an entire layer, whenever possible, then the algorithm satisfies the ion axiom. ow Pruning (SynFlow) algorithm. Theorem 3 directly motivates the algorithm, SynFlow, that provably reaches Maximal Critical Compression. ve score evaluation discourages algorithms that involve backpropagation ead motivates the development of an efficient data-independent scoring ity and conservation motivates the construction of a loss function that ency scores. We combine these insights to introduce a new loss function tor and |✓[l] | is the element-wise absolute value of parameters in the lth RSF = 1T L Y l=1 |✓[l] | ! 1 (2) aptic saliency scores (@RSF @✓ ✓) we term Synaptic Flow. For a simple, . f(x) = W[N] . . . W[1] x), we can factor the Synaptic Flow score for a [l] " | N Y [k] # [l] "l 1 Y [k] # [Tanaka+ 20] でのスコア計算に⽤いる値 パラメータの値のみから求まる (直観的にはパラメータの絶対値)
  56. 56. 軽量なネットワーク早期発⾒の実験結果 • パラメータを削除しても性能維持が可能 – 経験的な上限値に到達できているのか︖ 56 図は Pruning neural networks without any data by iteratively conserving synaptic flow より引⽤ We empirically benchmark the performance of our algorithm, SynFlow (red), against the baselines random pruning and magnitude pruning, as well as the state-of-the-art algorithms SNIP [13] and GraSP [14]. In Fig. 6, we test the five algorithms on 12 distinct combinations of modern architec- tures (VGG-11, VGG-16, ResNet-18, WideResNet-18) and datasets (CIFAR-10, CIFAR-100, Tiny ImageNet) over an exponential sweep of compression ratios (10↵ for ↵ = [0, 0.25, . . . , 3.75, 4]). See Appendix 13 for more details and hyperparameters of the experiments. Consistently, SynFlow outperforms the other algorithms in the high compression regime (101.5 < ⇢) and demonstrates more stability, as indicated by its tight intervals. SynFlow is also quite competitive in the low compression regime (⇢ < 101.5 ). Although SNIP and GraSP can partially outperform SynFlow in this regime, both methods suffer from layer-collapse as indicated by their sharp drops in accuracy. Compression ratio Top-1 accuracy Compression ratio Compression ratio Compression ratio Top-1 accuracy Top-1 accuracy SynFlow SNIP GraSP Magnitude Random VGG-11 VGG-16 ResNet-18 WideResNet-18 CIFAR-10 Tiny ImageNet CIFAR-100 Figure 6: SynFlow consistently outperforms other pruning methods in high compression
  57. 57. まとめ • ⾃然⾔語処理におけるニューラルモデルの紹介 – ベクトル空間上で特徴量を共有 – 事前学習モデルが隆盛 • パラメータ数の著しい増加 • パラメータ数削減の⼿法を概観 – 学習済みモデルがある︓蒸留,モデル圧縮 – 学習済みモデルがない︓軽量なモデルの設計 • 軽量な埋め込み表現⼿法 [Takase & Kobayashi, 20] • 中間層のパラメータ・学習時間効率化 [Takase & Kiyono, 21] • 軽量なモデル設計のこれから – 従来モデルの改修︓Transformer の Self-attention の改修 – ネットワークの早期発⾒︓学習せずにパラメータ削除 57
  58. 58. 謝辞 • スライド作成にあたって,以下の⽅から 助⾔をいただきました – ⼩林颯介⽒(東北⼤/PFN ) – 清野舜⽒(東北⼤/理研) – 平岡達也⽒(東京⼯業⼤学) 58
  59. 59. 参考⽂献 • Takase+ 19: Positional Encoding to Control Output Sequence Length • Takase & Kiyono 21: Rethinking Perturbations in Encoder-Decoders for Fast Training • Takase & Kobayashi 20: All Word Embeddings from One Embedding • Takase & Kiyono 21: Lessons on Parameter Sharing across Layers in Transformers • Brants+ 07: Large Language Models in Machine Translation • Peters+ 18: Deep contextualized word representations • Mikolov+ 13: Distributed Representations of Words and Phrases and their Compositionality • Devlin+ 19: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding • Vaswani+ 17: Attention Is All You Need • Brown+ 20: Language Models are Few-Shot Learners • Hinton+ 14: Distilling the Knowledge in a Neural Network • Kim+ 17: Sequence-Level Knowledge Distillation • Frankle+ 19: The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks • Child+ 19: Generating Long Sequences with Sparse Transformers • Kitaev+ 20: Reformer: The Efficient Transformer • Wang+ 20: Linformer: Self-Attention with Linear Complexity • Mehta+ 20: DeFINE: DEep Factorized INput Token Embeddings for Neural Sequence Modeling • Lan+ 20: ALBERT: A Lite BERT for Self-supervised Learning of Language Representations • Dehghani+ 19: Universal Transformers • Child+ 19: Generating Long Sequences with Sparse Transformers • Tay+ 21: Are Pre-trained Convolutions Better than Pre-trained Transformers? • Liu+ 21: Pay Attention to MLPs • Tanaka+ 20: Pruning neural networks without any data by iteratively conserving synaptic flow 59

×