Slide 1

Slide 1 text

生成AIのことちゃんと理解していますか? データアナリティクス事業本部 じょんすみす

Slide 2

Slide 2 text

自己紹介 生息地 _人人人人_ > 札幌 <  ̄Y^Y^Y^Y^ ̄ じょんすみす データアナリティクス事業本部 インテグレーション部 機械学習チーム 特徴 • 機械学習やってるっぽい • PythonよりRの方が好きらしい • Excelだけ全部やれと言われたら出来ないこともない • Hadoop, EMRおじさん

Slide 3

Slide 3 text

本日話す内容 生成AIと呼ばれるジャンルは、ChatGPTの登場で一躍有名になりました。 Transformer呼ばれる構造のDeep Learningモデルやそれを人間との会話のために ファインチューニングするため仕組みを含めた RLHF(Reinforcement Learning from Human Feedback)と呼ばれる手法は LLM(Large Language Model)の中核となっています。 また、画像の生成においてはDiffusion Modelのような手法も存在しています。 AIをブラックボックスで利用するだけでなく、その仕組みについても理解してみませんか? セッション概要に記載させていただいたもの

Slide 4

Slide 4 text

本日話す内容 • いろいろ書いてありますが... • Deep LearningとTransformerの話を簡単にした後に • それを踏まえてのLLM(Large Language Model)との関わり方を • 話したいと思いますよ セッション概要は風呂敷を広げ過ぎました

Slide 5

Slide 5 text

生成AI?LLM? 結局のところ解きたい問題は? 𝑃𝜃 (𝑦|𝐱)

Slide 6

Slide 6 text

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 出力が与えられた文章のトークン𝑤𝑡 である確率を最大化する パラメータ𝜃を求めることで学習をする 学習済みモデルを使うことで次の単語の予測が可能になる

Slide 7

Slide 7 text

Transformerでの生成のイメージ 普通の機械学習と同じようなことしてね? BERT 事前学習は途中の単語を抜いたもので行うが fine-tuningで解くタスクのための特徴量獲得 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding GPT-1 様々なタスクで利用するためのネットワークの 使い方が記載されている Improving Language Understanding by Generative Pre-Training

Slide 8

Slide 8 text

モデルについて今一度考えてみる モデルが本当にやりたかったことは何だろう? • 真の関数𝑓(𝐱)なんてものは本当に存在するのか? • データを使って得られる関数 መ 𝑓(𝐱; 𝜃)が十分に近似できてればいいんじゃなかろうか? • 同じ分布から生成された未知の𝐱′も同様に予測できればいいんじゃないだろうか? • 人々はデータとして与えられていない外の世界を本当に見たいのだろうか?

Slide 9

Slide 9 text

モデルについて今一度考えてみる 日本語で読める中身に関しての情報 • ニューラルネットワークの万能近似定理 • 深層学習の統計理論 • 深層学習の原理に迫る • AI技術の最前線 • ディープラーニングを支える技術2

Slide 10

Slide 10 text

ディープなネットワークと表現学習 昔から言われてきた「ディープラーニングは特徴抽出も行う」という話 例えばCNNでは... • 浅い層ではエッジなどを抽出 • 層が深くなるごとにより複合的なパーツを認識していく • 学習した中間層は転移学習に利用できる 特徴量として圧縮された低次元の情報への変換を行う • Autoencoderによる非線形の次元圧縮 • Word2VecをはじめとしたEmbeddingでの表現

Slide 11

Slide 11 text

ディープなネットワークと表現学習 自然言語の文章も階層的な構造をなす • 文章中の係り受け構造 • 代名詞などのその前の文章も見なければ解決しないもの • 物体や概念と言った文章の外側にあるものや常識との紐づけ 頭が赤い魚を食べる猫 中村明裕@nakamurakihiro氏のツイッターより 文章を理解するには様々な要素を加味したうえで考える必要がある 自然言語で書かれた文章の自由さ • 文章のみから構造が一意に決まるわけではない • 同じ表現をするのに異なる複数の方法がある

Slide 12

Slide 12 text

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 当時の論文とは用語が異なるので注意 ※

Slide 13

Slide 13 text

Transformerで考える「何を学習するか」 自己教師あり学習とSelf-Attention • Self-AttentionではこのAttention(𝑄, 𝐾, 𝑉)の3つの引数に同じ値を入れる • それによって入力された文章の構造を学習する • とは言うものの、どういうことなん?ってなりますよね

Slide 14

Slide 14 text

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の仕組み

Slide 15

Slide 15 text

Transformerで考える「何を学習するか」 自己教師あり学習とSelf-Attention 自己教師あり学習を使ってTransformerを学習させる • 最後の単語や途中の単語をマスクした状態にする • マスクした部分の単語を推論できるように学習させる 文章の構造や内容を理解しないと解けない問題によって自然言語の表現学習を内部で行っている モデルの性質上、次の単語を連続して予測していくことで文章生成も可能

Slide 16

Slide 16 text

Transformerでの生成のイメージ 【再掲】普通の機械学習と同じようなことしてね? BERT 事前学習は途中の単語を抜いたもので行うが fine-tuningで解くタスクのための特徴量獲得 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding GPT-1 様々なタスクで利用するためのネットワークの 使い方が記載されている Improving Language Understanding by Generative Pre-Training

Slide 17

Slide 17 text

Transformerで考える「何を学習するか」 このほかにもTransformerには特徴が多くあるが... ここでは、最新の研究によって見えてきた内部の挙動などの 話は割愛します。 Attention Is All You Need 一般向けまとまった日本語情報としてはいかがお勧めです。 • 大規模言語モデルは新たな知能か

Slide 18

Slide 18 text

LLMをどう使いこなしていくのか? ここまでの話はLLMの性質をある程度知っておく内容でした。 ここからは、この仕組みを踏まえてどのように扱っていくべきか考える。 • End to Endだけでものごとを考えない • 業務フローを考える • インターフェースとしての自然言語と制御

Slide 19

Slide 19 text

End to Endだけでものごとを考えない AIはよくわからないけど凄いことをしてくれるという印象があります。 AIに限らずあらゆるツールは単体ですべてをやってくれるわけではありません • AIに指示を出せば自ら考えて業務を実施してくれる • AIの導入によって人間を介することなく 自社の新サービスができる After Before • ヒト・モノ・カネといった様々な資源や 業務のフローが複雑に連携し合う • サービス開発時にも様々なシステムが連携しあう

Slide 20

Slide 20 text

End to Endだけでものごとを考えない AIはよくわからないけど凄いことをしてくれるという印象があります。 AIに限らずあらゆるツールは単体ですべてをやってくれるわけではありません • AIに指示を出せば自ら考えて業務を実施してくれる • AIの導入によって人間を介することなく 自社の新サービスができる After Before • ヒト・モノ・カネといった様々な資源や 業務のフローが複雑に連携し合う • サービス開発時にも様々なシステムが連携しあう

Slide 21

Slide 21 text

End to Endだけでものごとを考えない AIはよくわからないけど凄いことをしてくれるという印象があります。 AIに限らずあらゆるツールは単体ですべてをやってくれるわけではありません • 既存の仕組みの中に新たに組み込まれたり一部を置き換えたりする • AIという単一のものをそのまま持ってくるのではなく どこでどのように利用できるかを業務フローを含めて検討する必要がある

Slide 22

Slide 22 text

業務フローを考える AIという単一のものを導入しておしまいではないのなら どこにどのように組み込むのがいいのかを考える必要があります。 • 既存業務の置き換えや効率化のための導入 • 今までに無かった新サービス開発や既存製品の機能強化のための導入 ここに関して具体的に踏み込むことはしません(みなさんのアイデアの見せどころです!!) 場合によってはかなり細かく分解して考える必要があるケースもあります

Slide 23

Slide 23 text

インターフェースとしての自然言語と制御 インターフェースで考えた時に入力と出力の2つに分解できます。 さらにその入力を受け取って内部で実施する処理とその結果として出力と考えます。 入力として使うかもしれない 出力として使うかもしれない 内部の処理だけでの利用かもしれない

Slide 24

Slide 24 text

インターフェースとしての自然言語と制御 情報の入力インターフェースとして自然言語が利用する際には 入力されるすべての情報を制御できないことに注意する。 • フォームであれば「必須入力」や「選択式」に相当するものを入れることを強制できない • 不要な情報まで入れる可能性もある(特に機密情報などは要注意) • 誰もが必要な情報を言語化してテキストに落とし込めるとは限らない

Slide 25

Slide 25 text

インターフェースとしての自然言語と制御 じゃあ、出力インターフェースとして使うときの注意点は? • ほとんどのケースで人を不愉快にさせない出力となるが どのような文章を生成するかを完全にコントロールすることはできない • Hallucinationの発生は避けられないので相手が適切に情報を精査できるか考える必要がある

Slide 26

Slide 26 text

インターフェースとしての自然言語と制御 利用者が直接見るわけではない内部の処理として利用するようなケースは? • コンピュータは自然言語の扱いはあまり得意ではない • 確率的な動作をするような処理を許容できる内容を扱うのかを考える

Slide 27

Slide 27 text

LLMとの向き合い方をあたらめて 今一番熱いのは、チャットとその周辺を扱う仕組みだが誰かが作ったAPI として提供される機能の範囲だけで未来を見ないこと • LLMは大規模な"言語モデル"であり内部では自然言語の表現学習を行っている • 企業が提供するサービスのAPIとしてのエンドポイントの他、OSSも多く出てきている • 機能を限定的にしつつも一般的なコンピュータで動かせる規模のモデルも出てきている 必ずしもチャットという用途のみに限定して利用方法を検討する必要はない

Slide 28

Slide 28 text

まとめ これでおしまいです • LLMが内部でどんなことをしているのか • 性質を知ったうえで使おう

Slide 29

Slide 29 text

セッションアンケート DAY2 満足度上位のセッションを後日ブログで公開予定! 回答へのご協力をよろしくお願いします。 https://forms.gle/Upi2i5PsMTEUyJ6F8

Slide 30

Slide 30 text

プレーンです。自由に文字や図を置けます 本会場での次のセッションのお知らせ

Slide 31

Slide 31 text

31