GPT解説2 アテンションの仕組み (Attention, Transformer) | Chapter6, 深層学習

Поділитися
Вставка
  • Опубліковано 7 чер 2024
  • この動画は3Blue1Brownの動画を東京大学の学生有志団体が翻訳・再編集し公式ライセンスのもと公開しているものです。
    チャンネル登録と高評価をよろしくお願いいたします。
    日本語版Twitter
    / 3b1bjp
    元チャンネル(英語)
    / 3blue1brown
    元動画(英語)
    • Attention in transform...
    新チャンネルUfolium
    • 【ガザ地区】イスラエル・パレスチナ対立の歴史
    • アメリカ大統領選挙の仕組み
    資料
    Andrej Karpathy
    • Let's build GPT: from ...
    vcubingx
    • What does it mean for ...
    Anthropic
    transformer-circuits.pub/2021...
    www.gptandchill.ai/codingprob...
    LLMの歴史 Brit Cruise
    • ChatGPT: 30 Year Histo...
    arxiv.org/pdf/1301.3781
    訳注
    「シングルヘッドのアテンション」と訳されている部分は、英語では"Single head of attention"、"Single-headed attention"、"single-head attention"などと表現されています。意味としては「アテンションのヘッド1つ分」という使い方もあれば、「シングルヘッド」という「ある種の特徴や仕様を表現する言葉」として使っている場合もあります。日本語訳では前者のように受け取れる部分でもいくつかは後者で訳していて、これはMulti-head Attentionとの対比をより明確にするためにこのように訳しています。
    ----------------------------------------
    英語版翻訳元チャンネルの支援
    / 3blue1brown
    アニメーションはmanimで作られています
    github.com/3b1b/manim
    英語版公式ソーシャルメディア
    Webサイト: www.3blue1brown.com
    Twitter: / 3blue1brown
    Facebook: / 3blue1brown
    Reddit: / 3blue1brown
    ----------------------------------------
    Music by Vincent Rubinetti
    Download the music on Bandcamp:
    vincerubinetti.bandcamp.com/a...
    Stream the music on Spotify:
    open.spotify.com/album/1dVyjw...

КОМЕНТАРІ • 39

  • @user-zf8gs6ol2l
    @user-zf8gs6ol2l 20 днів тому +9

    初心者すぎて、12:00あたりの説明がわからない……
    1文を区切ることで、入力された文章自体を学習の材料に出来ちゃうというのは分かった。
    でも、今回の例は形容詞は後に続く名詞を説明しているから大丈夫だけど、後置修飾の場合だったら、後ろのトークンが前に影響を及ぼせるようにしないといけないのでは?
    後置修飾の情報は、どうやって反映されるんだ?

    • @3Blue1BrownJapan
      @3Blue1BrownJapan  20 днів тому +14

      例えば後置修飾の場合、前の名詞が逆に後ろの形容詞の意味を深めることができます。
      重要なのは、モデルは必ずしも我々人間と同じ方法で処理しているとは限りません。実際、形容詞と名詞の説明は想像上の例の一つで、実際の処理は人間にはずっと解釈しづらいものになっているでしょう。
      例えば文章の意味が文末の「!」や「?」に焼き付けられるのではないかという示唆もあります。

    • @user-st1lh8bg7f
      @user-st1lh8bg7f 20 днів тому +8

      投稿主も書いているように、人間は後ろ単語から前の単語に修飾してると考えるけど、transformerせよ他の機械学習モデルにせよ人間のように後ろから予測するようなことはしてません。その上で人間が見て自然に思えるような文章を出力してます。
      人間の感覚に惑わされないように。

    • @user-zf8gs6ol2l
      @user-zf8gs6ol2l 20 днів тому +2

      ​@@3Blue1BrownJapan
      ​@user-st1lh8bg7f
      お二人共返信有り難うございます!
      例えば23:20で、後のトークンから前のトークンにも線が伸びて干渉しているような演出がなされているので、後ろから前にも影響を及ぼすのかと勘違いしてしまいました
      演出のことは気にしないことにします!

    • @user-st1lh8bg7f
      @user-st1lh8bg7f 19 днів тому +1

      @@user-zf8gs6ol2lあ、そこは予測と学習の違いですね。
      予測して文字列を生成する際には上の説明で正しいのですが、学習段階ではすでに後ろに来る文字が分かっているので、文脈に応じて単語ベクトルを調節しています。
      説明不足でした

    • @user-zf8gs6ol2l
      @user-zf8gs6ol2l 19 днів тому +1

      ​@@user-st1lh8bg7f
      すみません、よく分かりません……
      maskingというのは予測をするために行う行為で、一方で23:20の演出は事前の学習段階を示している、ということなのでしょうか?

  • @user-ld4je6vb5e
    @user-ld4je6vb5e 20 днів тому +19

    長い間コンテキストを共有してきた家族は単語に対する結びつきの解釈がすでにパラメータとして調整されているので、少ない会話でコミュニケーションが取れるってことか

  • @user-bf6ot8ql2m
    @user-bf6ot8ql2m 20 днів тому +9

    動けばいいだろの精神でネットに転がっているコードいじって使ってたけど、やっぱりGPT関連はえぐいぐらいむずかしいわ。

  • @morchan844
    @morchan844 20 днів тому +7

    翻訳ありがとうございます!

  • @hellohello-kl1cx
    @hellohello-kl1cx 20 днів тому +5

    レイヤーごとのattention計算を通して、徐々に各トークンの埋め込みが別トークンの情報を重み付きで吸収していく感じだよね
    バニラのtransformerの計算ではattention計算は入力トークン数の2乗オーダーになるからLinear attentionを始めとして別の計算方法だったり、GPUのメモリ割り当て効率化が行われているね

  • @hitoshiyamauchi
    @hitoshiyamauchi 16 днів тому +1

    翻訳動画をありがとうございました!😀

  • @MidnightSoulEclipse
    @MidnightSoulEclipse 15 днів тому +1

    翻訳解説とてもありがたいですね。

  • @user-ey3et6bb9q
    @user-ey3et6bb9q 16 днів тому +3

    難しかったので、自分なりに動画の内容をまとめました。間違っている部分や補足あればコメントお願いします!
    一言でいえば、Attentionは各単語(厳密にはトークン)間の関連度合いに応じて、それぞれのトークンからの意味的な更新を行列の掛け算を用いて実現する機構。ここで掛け算する行列は最初はランダムであり、学習を通してうまく機能するような数値を探すことになる。
    もう少し具体的に解説すると、まず、モデルのパラメータの一部となるクエリ行列とキー行列を用いて、各トークン間の関連度合いを内積で計算する。
    この関連度合いを0~1に正規化して表にしたものをAttentionパターンという。
    その後、Attentionパターンで定義される関連度合いの重み比率に基づいて、モデルのパラメータの一部となるバリュー行列を使って、各トークンの埋め込みベクトルを更新する(= 各トークンに他のトークンからの意味、文脈を取り込む)。
    クエリ行列、キー行列、バリュー行列は学習の初期段階においてはほぼランダムな行列だが、学習を繰り返して最適化していくことで、トークンに他のトークンからの意味を関連度合いに応じて取り込み、文脈を含んだトークンのベクトルが生成されるようになる。
    ちなみに、ここまでの工程を別の96パターンのキー、クエリ、バリュー行列でも実施することでさらにモデルのパラメータを増やす(ちょうどNNを多層にして精度を上げたように)。
    最終的には、もとの文章の一番最後のたった一つのトークンに全文脈が内包され、これをもとに次のトークンの存在確率ベクトルを算出することで次の単語を生成していく(前回の動画)。

  • @hitoshiyamauchi
    @hitoshiyamauchi 16 днів тому

    翻訳動画をありがとうございました。😀

  • @user-wu1dm7nt6z
    @user-wu1dm7nt6z 20 днів тому +28

    論文名“Attention is all you need“はかっこよすぎだろ

    • @caffe-nt
      @caffe-nt 20 днів тому +11

      "*** is all you need" っていうフレーズはこの後に発表される色々な論文で使われるくらい人気

    • @user-wu1dm7nt6z
      @user-wu1dm7nt6z 20 днів тому +2

      @@caffe-nt はえー

    • @user-mj9fk5hs3e
      @user-mj9fk5hs3e 20 днів тому +5

      ただし,学術論文ではタイトルだけで内容が分かるようなものが望ましいので,学者は「うーんこのタイトルでいいのか?」と思いがち.

    • @rorona1350
      @rorona1350 19 днів тому +2

      Googleの広告会社としてのアイデンティティを抑えきれなかった末路

    • @Arin177
      @Arin177 16 днів тому +2

      このタイトル知ってるかいないかでモグリかどうかは判別できる

  • @mizuchin36
    @mizuchin36 20 днів тому +3

    すごい

  • @shinsogayborg
    @shinsogayborg 19 днів тому +1

    素晴らしい!素晴らしすぎますって。
    今後は強化学習の分野もやって欲しいです。

  • @user-my7yz2ou4x
    @user-my7yz2ou4x 20 днів тому +3

    AttentionとTransformerはLLMの革命児だよなあ

  • @KI-kr1mu
    @KI-kr1mu 20 днів тому +2

    このバリュー行列って無くてもアテンション機構としては成立しそうな気がしたけど、パラメータスペース作るために入れたら上手く行ったみたいなことなのかな

  • @Ryotaro-bu8lu
    @Ryotaro-bu8lu 20 днів тому +4

    続編きた~~~!!!

  • @user-pu8vn8rq7v
    @user-pu8vn8rq7v 18 днів тому

    すごいわかりやすかったです
    LLMの文脈で言えば、transformerはWord2vecの次元が一つ上がったものという感じなんでしょうか

  • @wswsan
    @wswsan 19 днів тому

    こんだけ行列, しかもかなり高次元な行列を何十回も何万回も計算して単語を出すのに数秒くらいしかかかってないの化け物すぎる
    やっぱGPUの並列計算(?)がつよいからなのか?

  • @user-wm6iw2so7w
    @user-wm6iw2so7w 15 днів тому

    1+1=1と認識している
    私には理解できない世界。
    でも、GPTを知りたいと
    思っていたので助かります

  • @underscoress
    @underscoress 20 днів тому +7

    今回の内容難しくないか?俺がアホになっただけ?

  • @supermariio2326
    @supermariio2326 11 днів тому

    これどうやってその単語らが「関連がある」って学習するの?セルフアテンションなので入力は自分自身でラベルはないと思いましたが、そこがいまいち不明でした。人間がそれ関連してるよって言ってるのであれば理解できるのですが。。どなたか教えてください。

  • @user-rq9hu4rv7n
    @user-rq9hu4rv7n 2 дні тому

    32bitcpuと同じ人かと思ったけど違った

  • @SSS-100M
    @SSS-100M 17 днів тому

    逆に言えば、人間はこれより複雑な会話ができるってことか。ある意味、ChatGPTのような明快で論理的な回答の方が、複雑な思考ではない気がする。

  • @KOCHAN.__
    @KOCHAN.__ 20 днів тому +1

    いちこめれれれ!