Slide 1

Slide 1 text

大規模言語モデル入門 2章 Transformer 2024. 01. 09 @ https://opendatalab.connpass.com

Slide 2

Slide 2 text

自己紹介 小林 要佑 大学院卒(専門は分子動力学法) → メーカー(研究開発) → EdTechベンチャー (エンジニア) → (現在)シンプルフォーム株式会社(エンジニア) ワンコと一緒に一人で暮らしてます。 休みの日は愛犬と散歩行ったり、 FPSゲームをやったり、 読書することが多いです。 最近、カンデル神経科学という医学の専門書を読むのにハマっ てます(専門書だけど意外と読みやすい)

Slide 3

Slide 3 text

シンプルフォーム株式会社のご紹介

Slide 4

Slide 4 text

導入事例

Slide 5

Slide 5 text

エンジニア積極採用中です! https://www.simpleform.co.jp/careers

Slide 6

Slide 6 text

今回のゴール この図が何となくわかるようになる 想定読者:ニューラルネットワークは聞い たことあるくらい

Slide 7

Slide 7 text

Transformerとは? Transformer Encoder-decoderで構成されるモデルで、 特に自己注意機構を基盤としているのが特徴的なモデル Encoder 入力されたテキストを解釈し、 文法的な特徴などをベクトルに変換する役割 Decoder エンコードから得た情報から 新しいテキストを生成する役割

Slide 8

Slide 8 text

【補足】Encoder-decoder, Encoder, Decoder タスク特化 汎用的 出典:https://www.slideshare.net/rmcdermo/fhllmtalk20231005pdf

Slide 9

Slide 9 text

Encoderについて解説 入力されたテキストを解釈し、文法的な特徴などをベクトルに変換する役割

Slide 10

Slide 10 text

入力トークン埋め込み

Slide 11

Slide 11 text

入力トークン埋め込み トークン化 こたつでみかんを食べる こたつ / で / みかん / を / 食べる 入力トークン埋め込み トークンを数値ベクトルに変換 で を こたつ / で / みかん / を / 食べる -0.21 0.02 -0.34 0.1 -0.18 -0.94 0.17 0.71 0.67 0.23 … … … … … 語彙 D とすると、 D次元 Ex. 形態素に分解 イメージ図

Slide 12

Slide 12 text

位置符号

Slide 13

Slide 13 text

位置符号の必要性 入力トークン埋め込みは、トークンの順序や位置に関する情報が含まれていない 「こたつでみかんを食べる」 「みかんでこたつを食べる」 こたつ / で / みかん / を / 食べる -0.21 0.02 -0.34 0.1 -0.18 -0.94 0.17 0.71 0.67 0.23 … … … … …  2つの文を区別できるようにするには、順序や位置情報を加算する必要がある → 位置符号 入力トークン埋め込み

Slide 14

Slide 14 text

位置符号 こたつ / で / みかん / を / 食べる 1番目のトークン(こたつ)の位置符号 i番目のトークンの位置符号   低周波数域 → 広い範囲の関係を捉える   高周波数域 → 局所的な関係を捉える i=1 i=2 i=3 i=4 i=5 出典:https://kazemnejad.com/blog/transformer_architecture_positional_encoding/

Slide 15

Slide 15 text

自己注意機構

Slide 16

Slide 16 text

自己注意機構の必要性 マウス / で / クリック / する ? 動物のマウスではなく、PC機器のマウスとして捉えるには 「クリック」というトークンに注意を向ける必要がある → トークンの重要度を加味しながら文脈化を担うのが自己注意機構

Slide 17

Slide 17 text

自己注意機構の例 「マウス」に対して、「クリック」に注意(大きな重み)を与えることで 文脈に基づいたトークンが生成される

Slide 18

Slide 18 text

自己注意機構:キー・クエリ・バリュー 連想配列(ex. Pythonのdict)ではクエリとキーは1対1だが、 自己注意機構では全てのキーの重み付き和を計算する点が異なる

Slide 19

Slide 19 text

マルチヘッドアテンション 自己注意機構を複数用意することで表現力を高めたもの 出典:Hyeongu Yun et al. "Analyzing and Controlling Inter-Head Diversity in Multi-Head Attention," Appl. Sci, 2021.

Slide 20

Slide 20 text

フィードフォワード層

Slide 21

Slide 21 text

フィードフォワード層 出典:Diskshit Chauhan et al. "A multi-agent optimization algorithm and its application to training multilayer perceptron models," Evolving system , 2023. 目的:入力された層に対して、学習済みのデータに基づいて関連する情報を付加する役割 非線形関数であることが重要 → モデルの表現力が増す

Slide 22

Slide 22 text

Encoderモデルの復習

Slide 23

Slide 23 text

Encoder-decoderモデルについて解説

Slide 24

Slide 24 text

交差注意機構

Slide 25

Slide 25 text

自己注意機構と交差注意機構の違い バリュー&キーとクエリは異なる 入力シーケンスから生成 エンコーダーから生成 デコーダー内の入力シーケンス 同じ入力シーケンスから生成 デコーダー内の入力シーケンス 自己注意機構 交差注意機構 文章内の各単語が文脈の他の単語とどう関 連しているのかを理解するのに役立つ 例えば、機械翻訳の際に日本語と英語の 2つの文の関 係性を理解するのに役立つ

Slide 26

Slide 26 text

注意機構のマスク処理

Slide 27

Slide 27 text

注意機構のマスク処理の必要性 並列化することで計算時間を短縮。 しかし、そのまま利用すると 例えば、w1を予測するのにw1,w2,…も 利用できてしまうので、 答えを隠す必要がある。

Slide 28

Slide 28 text

注意機構のマスク処理 関連度スコアを-∞にすることで、モデルは過去の情報のみ参照して予測するように訓練する

Slide 29

Slide 29 text

Encoder-decoderモデルの復習

Slide 30

Slide 30 text

Decoderモデル ● Encoder-decoderモデルのDecoderから 交差注意機構を除いたもの ● Encoderとの違いは、注意機構に マスク処理が加わっている点のみ違う

Slide 31

Slide 31 text

まとめ Encoder:入力データを高次元の特徴空間に変換し、変換された表現を後続のタスクで利用 Decoder:入力シーケンスから出力シーケンスを生成。マスク付き自己注意機構を使うこと      で未来のトークンが予測プロセスに影響を与えないようにします。 Encoder-Decoder:Encoderは入力データを中間表現に変換し、デコーダはこの中間表現を          使用して出力シーケンスを生成します。

Slide 32

Slide 32 text

最後に この資料は connpass 上で公開します。 次回(第3回)は 1/22 (月)18:00〜を予定しています! 奮ってご参加ください! https://opendatalab.connpass.com/event/307182/ 第4回の発表者を募集しています! ご参加いただける方は下記にご連絡ください。 [email protected]