Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CS25 Transformers United

sadahry
September 01, 2022

CS25 Transformers United

ゼミ用に作成したオンライン講義の紹介スライド。

Stanfordにて2021秋に開催された、
Transformerに特化したオンライン講義(全10回)

授業:
https://web.stanford.edu/class/cs25/

Youtube:
https://www.youtube.com/playlist?list=PLoROMvodv4rNiJRchCzutFw5ItR_Z27CM

sadahry

September 01, 2022
Tweet

More Decks by sadahry

Other Decks in Technology

Transcript

  1. • まずTransformerの論文を読んでから、全 10回を観た。 ◦ 第1回を観てから論文を読み進めたほうが良かった。。 • Recommended Readingsは読まず、途中わからなくなったら停止して参照した ◦ これはいい選択だった

    • 日本語字幕 + 英語文字起こし(とその翻訳) で観た*1 ◦ 日本語は自動翻訳 ◦ 文字起こしは英語しかない ◦ 自動翻訳だけだと時々つらい e.g.早すぎる日本語 ▪ 文字起こしで前後の文章を含めて理解 ▪ それでもわからない時、コピペして翻訳 • 大筋の理解に努めた ◦ それでも1動画4時間以上かかる動画も ▪ 重めの論文読むのと同じ 自分の進め方 *1
  2. 1. Introduction to Transformers (22:44) 2. Transformers in Language: GPT-3,

    Codex (48:39) Speaker: Mark Chen (OpenAI) 3. Applications in Vision (1:08:37) Speaker: Lucas Beyer (Google Brain) 4. Transformers in RL & Universal Compute Engines (1:20:43) Speaker: Aditya Grover (FAIR) 5. ★ Scaling transformers (1:05:44) Speaker: Barret Zoph (Google Brain) 6. ★ Perceiver: Arbitrary IO with transformers (58:59) Speaker: Andrew Jaegle (DeepMind) 7. Self Attention & Non-Parametric Transformers (1:05:43) Speaker: Aidan Gomez (University of Oxford) 8. GLOM: Representing part-whole hierarchies in a neural network (52:48) Speaker: Geoffrey Hinton (UoT) 9. Interpretability with transformers (59:34) Speaker: Chris Olah (AnthropicAI) 10. Transformers for Applications in Audio, Speech and Music: From Language Modeling to Understanding to Synthesis (48:19) Speaker: Prateek Verma (Stanford) Contents ★: おすすめ
  3. 1. AttentionとTransformerの簡単な説明 2. 自然言語とプログラミングコードの自動生成 3. 巨大モデルの利点と Vision Transformer 4. オフライン強化学習をTransformerでやってみた

    5. 莫大な量のデータセットでも Transformerできるようにした 6. 長い配列を突っ込めば何でも Transformerできるようにした 7. Kaggle的なデータをTransformerでやってみた 8. ニューラルネットで階層的な理解をやってみた 9. Self-Attentionをリバースエンジニアリングしてみた 10. 音声とTransformerの関係性 ひとことで言えば...
  4. Speaker Div Garg Chetanya Rastogi Advay Pal (at Stanford) Topics

    • LSTMまでの過去とTransformerからの未来 • Attentionの論文概説からSelf-Attentionの概説まで ◦ query key value の発想 • Transformerレイヤの概説 • BERT、GPT-3の概説 1. Introduction to Transformers (22:44)
  5. 感想 • Recommended Readingsを読まなくても観られる。わかりやすい • Transformerへの大まかな流れを掴める ◦ LSTM側の主張は特にない( Prehistric Eraとのこと)

    • Attentionに関する理解が深まる ◦ Self-Attention以外の基本的なところから説明してくれる • 直感的な理解が深まる ◦ 有益な記事を共有してくれた ▪ https://towardsdatascience.com/illustrated-self-attention-2d627e33b20a ▪ https://jalammar.github.io/illustrated-transformer/ ◦ Transformerを把握するだけなら、記事で十分かも 1. Introduction to Transformers
  6. Speaker Mark Chen (OpenAI) Topics • 自然言語生成の推移 • (Chenさんの)OpenAIでのGPT-3に至るまでの研究過程 •

    GPT-3とその応用(iGPT) • コード生成の推移 • Codexの概説 2. Transformers in Language: GPT-3, Codex (48:39)
  7. 2. Transformers in Language: GPT-3, Codex Codex概説(興味深かったので) • defを指定し、Docsを書いたらreturnを推論する研究 •

    159GBのGithubコードを事前学習 ◦ スペースを圧縮するだけで 30~40%高速化 • 164のdef+Docs+returnコード*1でfine-tune • Docsにassert codeを渡すと高精度、文章のみだと低精度 • 評価にはpass@k*2という指標を利用 ◦ k=候補数、n=生成数、と定義 ◦ pass@k= nからk個選んでひとつでも正解となる期待値 = サジェスト候補からひとつ正解を選べるかどうか • sampling temperature(t)*3は0.8くらいが丁度いい *1 *2 *3
  8. 2. Transformers in Language: GPT-3, Codex 感想 • Recommended Readingsは読まなくても観られる

    • 「こう入れてみたらこうなった」という話が多く、 実践的な知見が得られる動画 • 「プログラミングコンテストにハマってたから研究した」 みたいなテンションで研究してた • 自然言語生成は英語が堪能でないと楽しめないかも • Amazonレビューの教師なしLSTMの話が面白かった*1 ◦ 教師なしなのにポジ /ネガが予測できた • 「GPT-3に至るまで」は一般的な概説 e.g.) GPT-1のdownstream taskはモデルが必要 • 「GPT-3とその応用(iGPT)」も概説 ◦ DALL-E(≠ DALL-E2)までのマルチタスク説明 ◦ GPT-3「 +- は高精度だが x は低精度」だった*2 *1 *2
  9. Speaker Lucas Beyer (Google Brain) Topics • 画像におけるクラス分類の概説 • Big

    modelのメリット • ViTの概説 ◦ 画像ならではのPosition EncodingやAttention • ViTのこれから 3. Applications in Vision (1:08:37)
  10. 3. Applications in Vision 感想(1/2) • すこし難解。話は追えるが詳細は掴みきれない ◦ 特にグラフ軸の定義。論文は適宜参照したほうがいい •

    モデルのサイズに関する質問、議論が活発だった ◦ 端的にいえば「大(モデル)は小を兼ねる」 ▪ モデル作成時間は長いが我慢 ▪ 学習データ量にかかわらず性能は高い *1 ▪ fine-tune性能もいい*2 • 「事前学習量を少なくできるならモデル作成時間も速くなって いいのでは?」の回答に「完璧なデータセットを持ってるなら いいけど、事前学習を大規模でやっておくと ”見たことある”が 生まれるので推論結果に結びつきやすい。」 的なことを言っていてなるほどと *1 *2
  11. 3. Applications in Vision 感想(2/2) • 画像サイズに合わせて Position Encoding*3する話が面白かった •

    「pixelをまたぐ対象画像*4は学習に影響でる?」の回答として 「Big dataだから似たパターンの画像がある」という回答は なるほどと思った • 「ViTのこれから」については参考程度 ◦ 詳しくないので何ともですが、最新論文のが有益かも *3 *4
  12. Speaker Aditya Grover (FAIR) Topics • RL(=強化学習)とシークエンシャルデータ(=画像や言語)の違い • Decision Transformer(DT)の概説

    ◦ Offline RLの話 ◦ (Online RLの話はなかった) 4. Transformers in RL & Universal Compute Engines (1:20:43)
  13. 4. Transformers in RL & Universal Compute Engines 感想 •

    強化学習を知らなくても流れは追える。比較的わかりやすい ◦ 性能比較は前提知識があったほうが楽しめそう ▪ 補足説明で出てくるAtariベンチマークやQ学習などの説明はない • 強化学習の文脈でみたTransformerの解釈がわかる ◦ DTはトリッキーな手法である ◦ 逆に言えば、Transformerとして得られる知見は少ない • ツッコミが多くて勉強になる • RLでは(ログなど)何らかの調整・抽出が入って出力されるデータを扱うから 画像や自然言語等と比べてモデルは小さくて済むとのこと • DTの事前学習は4~5時間ほど • DTの制約の話も参考になった ◦ greedyでないから最悪だと無限の時系列が必要になる ◦ 不可思議な挙動や効果的な挙動を抽出することが困難 • DTは、γ(割引率)を設定して先を予測してくのは応用できるかも。もしくは、 γ自体を予測することもでき るかも。とのこと。ただDT利用には消極的に見えた。
  14. Speaker Barret Zoph (Google Brain) Irwan Bello (Google Brain) Topics

    • Switch Transformersの概説 ◦ サイズ比較 ◦ 他アプローチとの比較 ◦ タスクへの応用 5. Scaling transformers (1:05:44) ★
  15. 5. Scaling transformers Switch Transformers概説(いい論文だったので) • 学習データ数が巨大になった場合を想定したモデル • FFN層を複数の候補(expertsと呼ぶ)に置き換え、 Attentionの内積が最大確率となる

    FFN層を選択して学習。 学習をロードバランシングしている。 *1 • BackPropは最大確率の値を擬似的に Lossとして学習*2 • これにより、学習データ数が巨大になっても ... ◦ 各expertが分散して学習するため各レイヤを低次元に ◦ 似た特性を持つexpertの存在により高ロバスト性に ◦ トレーニング効率も7倍に*3 *1 *2 ★ *3
  16. 5. Scaling transformers 感想 • Recommended Readingsは読んだほうがいいかも ◦ 読んでないとわからない単語が頻繁に出てくるので、 記事レベルの理解は必須

    • スケーリングに関する理論が明快。質疑応答で更に理解が深まる ◦ 一方で、論文を読めばわかる話でもあった • 質問:「経験的な問題解決 (=empirical solution)を望むのは理解できるけど、結局リサーチクエス チョンは何だ?なぜこのアプローチで攻めたのか?」に対する回答が Coolだった ◦ 回答「経験的に良い結果 (=better empirical results)が出たから。」 ◦ 「自分もこの構成は複雑だと思うけど、(モダンな構成で)ちゃんと動くものから始めたほう が、必ずしもそうじゃないものを本当に動くのか確かめていくよりベター。目標は LSTMと同 じ。我々の研究では、そこから Transformersを経て、他のたくさんの機械学習課題に取り組 めるよう自然にビルドアップするアプローチを組み立てた。」 • めっちゃコーヒー啜ってて草 ★
  17. Speaker Andrew Jaegle (DeepMind) Topics • 汎用モデルへのモチベーション ◦ データの傾向理解、マルチモーダルデータの統合理解 •

    CNN(Convolution)vs Transformer(Position Encoding + Self-attention) • Perceiverの概説 ◦ Cross Attention 6. Perceiver: Arbitrary IO with transformers (58:59) ★
  18. Perceiver概説(いい論文だったので) • 巨大配列(M)データを処理可能にした汎用 Transformer • QKVのQをN次元(N<<M)にすることで計算量を、 O(M^2)からO(MN)に落としたい *1 • 手法:N次元の入力をrandom値の配列として定義

    →Input(バイナリ配列,M次元)をAttention計算で食わせる(Cross Attention, 計算量: O(MN)) →N次元でTransformer Layer処理(Latent Transoformrer, 計算量: O(N^2)) →(繰り返し)... *2 といった処理により、 M行のバイナリ配列から N次元のベクトル表現を獲得する • ビデオ等の巨大配列を Convせず処理可能に • バイナリ化すればほぼなんでも処理可能に ◦ マルチモーダルもOK(!) ★ 6. Perceiver: Arbitrary IO with transformers *1 *2 *2
  19. 感想 • Recommended Readingsは適宜参照するくらいがいいかも ◦ 内容は高度だが、概要は把握できるし説明も丁寧。全文読む必要はなさそう • 抽象的となるNxMのAttention層の解説がよかった。 ◦ 自然言語のような1:1関係ではなく、1pixelがどのクラスタに属するのかという解釈

    ◦ 1:1対応ではなくなるため、学習過程はブラックボックスになる側面もあった • 他モデルとの比較が丁寧。理解が深まる ◦ ConvNet, Transformer, ViT, BERT, RAFT..etc • 各ドメインでのモデル比較を通して、予測モデルの比較に対する理解が深まる • あくまで、さまざまな「単一」タスクへ適用できる汎用モデル ◦ 同じVideoタスクでも、タスクそれぞれに対して学習モデルを作成 ★ 6. Perceiver: Arbitrary IO with transformers
  20. Speaker Aidan Gomez (University of Oxford) Topics • Transformerの概説 •

    Transformerができたときのエピソード • Non-Parametric Transformers(NPT)の概説 7. Self Attention & Non-Parametric Transformers (1:05:43)
  21. 7. Self Attention & Non-Parametric Transformers 感想 • Transformer作成の裏話が聞ける。面白かった。 ◦

    制作期間3ヶ月らしい(!) ◦ 「インターンでTransfomer論文に携わった」が未知の経験すぎて、 どういう感情か理解できなかった。 ▪ 本人いわく、”I really did not appreciate the impact.” • Non-Parametric=RFとかみたいにハイパラが要らない • NPTは「KaggleをTransformerでやってみた」みたいな印象 ◦ Kaggleコンペのような、少量かつ表形式データへのアプローチ ◦ 対抗馬はXGBoostだった*1 • 列だけでなく行の依存関係も見ていくアプローチ *2 ◦ Inputは全特徴量+全教師データ(!) ◦ 正則化も学習していくとのこと *2 *1 *順位
  22. Speaker Geoffrey Hinton (UoT) Topics • Neural network(NN)の理解 • GLOMの概説

    • Cube Demonstrationの概説 ◦ 1970年代NNの論文。GLOMのアイデア元 8. GLOM: Representing part-whole hierarchies in a neural network (52:48)
  23. 感想 • 聞き応えはあるが全体的に例えが難解。あまり理解できず。 ◦ e.g. 2文の学習方法の違い "next weekend what we

    will be doing is visiting relatives." "next weekend what we will be is visiting relatives." • Transformerは関係なかった。GLOMに関する概説のみ • やりたいのは「階層的な知識理解」 *1 ◦ e.g. (顔->((鼻->鼻腔),目)) • NNの特性への理解が深まる ◦ 神経学的な話は出てこない。あくまでエンジニアリングの話に留めている • 個人的には以下のポイントが興味深かった ◦ GLOMは「具体的なEmbeddingの階層化」であって抽象表現ではない ◦ So you're only trying to represent one thing. You're not trying to represent some set of possible objects. If you're trying to represent some set of possible objects, you have a horrible binding problem, and you couldn't use these very vague distributions. 8. GLOM: Representing part-whole hierarchies in a neural network *1
  24. Speaker Chris Olah (AnthropicAI) Topics • 機械的な解釈可能性について ◦ 人間に理解可能なアルゴリズムに置き換えるためのリバースエンジニアリング •

    Self-Attentionレイヤの分析 (追加) Recommended Readings: • In-context Learning and Induction Heads 9. Interpretability with transformers (59:34)
  25. 感想 • Transformerを要素分解する過程と、 Self-Attentionの数式的分解が面白かった • 大枠は理解できるが、細かな根拠や理論を追うのに苦労する ◦ 話が速いのと、図解の補足が少ないので「?」がけっこう残る • In-context

    Learningのキモは、値の変換ではなく Induction Heads(位置の誘導) ◦ 値を変換しているものはなく、ほとんどが値のコピーであるとのこと ◦ Self-Attention2層の場合、2層目のみqを投げるのが最高精度 *1 ◦ 1層目Attentionがトークンの繋がりを理解、 2層目のqに対してvを誘導*2 • Embeding, Position Encodingなどは対象外 9. Interpretability with transformers *2 *1
  26. Speaker Prateek Verma (Stanford) Topics • Transformerの立ち位置 • 基本的な音声知識の整理 •

    Transformerを活用した音声のクラス分類 ◦ Vector Quantization ◦ Wavelets (追加) Recommended Readings: • Audio Transformers:Transformer Architectures For Large Scale Audio Understanding. Adieu Convolutions 10. Transformers for Applications in Audio, Speech and Music: From Language Modeling to Understanding to Synthesis (48:19)
  27. 感想 • 音声知識がなくても見られる(はず) • 「Transformerが得意なのはあくまで離散データであり連続データではない」は印象的だった • 入力を音源、レイヤ間にウェーブレット変換を挟むアイデアが興味深い ◦ できる限り連続データとしての特性を残すアプローチ ▪

    変換層の形がある種 Window関数のように振る舞う(ように見えるらしい) *1 ◦ ただ普通にEmbedding層もあるし、推論結果が ? になってた*2 ので参考程度に 10. Transformers for Applications in Audio, Speech and Music: From Language Modeling to Understanding to Synthesis *1 *2
  28. 雑感 Good • 「こういう人たちが最前線にいるのか」という印象が得られたのはとても大きい • 巨大モデルの「大は小を兼ねる」が、いろんな角度から理解できた • 比較的シンプルな題材でとっつきやすい  • 質疑応答が参考になる

    ◦ けっこう突っ込んだ質問をしてくれるので視点が増えた ◦ 特に5.6.あたりは、スマートな回答だけでなく試行錯誤の Tipsまで提供してくれた Not Good • あくまで2021年の話。DALL-E2の話はない ◦ a few years ago はもう old technology らしいので。。。 • 内容はほぼ論文の解説。理論的な知識を得たいなら論文を読んだほうがいい ◦ どう試行錯誤したのか、どう解釈できるのかを優先して聞きたいならオススメ
  29. 残タスク • fine-tuningへの理解がまだ浅い ◦ e.g. 個性のある表現はfine-tuningによって実現できるのか? • 2022年の情報 • 実社会への応用ってまだないの?

    ◦ モデルの改善とかアクティブラーニング的な話も知りたかった • “represent one thing” の真意がまだ掴みきれてない ◦ 感情は “one thing” なのか?精度が出たら “one thing” と言っていいのか? ◦ あらゆる環境要因が作用するものに対して、 可能な限り “one thing” と捉えられるようにするのがマルチモーダル学習? • 音声 x Transformer の情報が足りなかった ◦ End-to-Endの音声認識、音声合成アイデアとか ▪ jukebox (どこかで読む) ◦ スペクトログラム画像からの ViTとか