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

生成AIのことちゃんと理解していますか?

Avatar for John Smith John Smith
September 05, 2023

 生成AIのことちゃんと理解していますか?

DevelopersIO 2023にて発表した資料です。

Avatar for John Smith

John Smith

September 05, 2023
Tweet

More Decks by John Smith

Other Decks in Technology

Transcript

  1. 自己紹介 生息地 _人人人人_ > 札幌 <  ̄Y^Y^Y^Y^ ̄ じょんすみす データアナリティクス事業本部 インテグレーション部

    機械学習チーム 特徴 • 機械学習やってるっぽい • PythonよりRの方が好きらしい • Excelだけ全部やれと言われたら出来ないこともない • Hadoop, EMRおじさん
  2. 本日話す内容 生成AIと呼ばれるジャンルは、ChatGPTの登場で一躍有名になりました。 Transformer呼ばれる構造のDeep Learningモデルやそれを人間との会話のために ファインチューニングするため仕組みを含めた RLHF(Reinforcement Learning from Human Feedback)と呼ばれる手法は

    LLM(Large Language Model)の中核となっています。 また、画像の生成においてはDiffusion Modelのような手法も存在しています。 AIをブラックボックスで利用するだけでなく、その仕組みについても理解してみませんか? セッション概要に記載させていただいたもの
  3. Transformerでの生成のイメージ Transformerの場合だと... Embedding Positional Encoding Masked Multi-Head Attention Add &

    Norm Feed Forward Add & Norm Linear softmax 𝐱 input 𝑦 𝜃 𝑃𝜃 (𝑦|𝐱) 次に来るトークン これまでのトークン 𝑃𝜃 (𝑤𝑡 |𝑤1 , … , 𝑤𝑡−1 ) 𝐱をトークン列(𝑤1 , 𝑤2 , … , 𝑤𝑡−1 )、𝑦を𝑤𝑡 として を求める関数𝑓(𝑤1 , 𝑤2 , … , 𝑤𝑡−1 ; 𝜃)の定義としてのTransformer 出力が与えられた文章のトークン𝑤𝑡 である確率を最大化する パラメータ𝜃を求めることで学習をする 学習済みモデルを使うことで次の単語の予測が可能になる
  4. Transformerでの生成のイメージ 普通の機械学習と同じようなことしてね? BERT 事前学習は途中の単語を抜いたもので行うが fine-tuningで解くタスクのための特徴量獲得 BERT: Pre-training of Deep Bidirectional

    Transformers for Language Understanding GPT-1 様々なタスクで利用するためのネットワークの 使い方が記載されている Improving Language Understanding by Generative Pre-Training
  5. モデルについて今一度考えてみる モデルが本当にやりたかったことは何だろう? • 真の関数𝑓(𝐱)なんてものは本当に存在するのか? • データを使って得られる関数 መ 𝑓(𝐱; 𝜃)が十分に近似できてればいいんじゃなかろうか? •

    同じ分布から生成された未知の𝐱′も同様に予測できればいいんじゃないだろうか? • 人々はデータとして与えられていない外の世界を本当に見たいのだろうか?
  6. ディープなネットワークと表現学習 自然言語の文章も階層的な構造をなす • 文章中の係り受け構造 • 代名詞などのその前の文章も見なければ解決しないもの • 物体や概念と言った文章の外側にあるものや常識との紐づけ 頭が赤い魚を食べる猫 中村明裕@nakamurakihiro氏のツイッターより

    文章を理解するには様々な要素を加味したうえで考える必要がある 自然言語で書かれた文章の自由さ • 文章のみから構造が一意に決まるわけではない • 同じ表現をするのに異なる複数の方法がある
  7. Transformerで考える「何を学習するか」 自己教師あり学習とSelf-Attention Query, Key, Valueの3つの引数をもつAttention関数を導入 要素はそれぞれベクトルで与えられる Attention(𝑄, 𝐾, 𝑉) この関数は以下のような計算を行うことを想定したもの

    • QueryとKeyで要素間のマッピングを行う • それに対してValueでの変換を行ったものを出力する Neural Machine Translation by Jointly Learning to Align and Translate 例) 英語とフランス語のマッピング※ Source-Target型のAttention 当時の論文とは用語が異なるので注意 ※
  8. Transformerで考える「何を学習するか」 自己教師あり学習とSelf-Attention Attention関数の中身はどうなってるか? まずはScaled Dot-Product Attentionという構造がある(左) Attention 𝑄, 𝐾, 𝑉

    = softmax 𝑄𝐾𝑇 𝑑 𝑉 Attention Is All You Need 前段に全結合層を挟みこの構造を複数並列させる(右) MultiHead 𝑄, 𝐾, 𝑉 = Concat(head1 , … , headℎ )𝑊𝑜 where head𝑖 = Attention(𝑄𝑊 𝑖 𝑄, 𝐾𝑊𝑖 𝐾, 𝑉𝑊𝑖 𝑉) 具体的な動きに関して分かりやすく解説されたサイトがあります 【Transformerの基礎】Multi-Head Attentionの仕組み
  9. Transformerでの生成のイメージ 【再掲】普通の機械学習と同じようなことしてね? BERT 事前学習は途中の単語を抜いたもので行うが fine-tuningで解くタスクのための特徴量獲得 BERT: Pre-training of Deep Bidirectional

    Transformers for Language Understanding GPT-1 様々なタスクで利用するためのネットワークの 使い方が記載されている Improving Language Understanding by Generative Pre-Training
  10. 31