Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
大規模言語モデル第二回 Transformer
Search
Yosuke KOBAYASHI
January 09, 2024
2
360
大規模言語モデル第二回 Transformer
Yosuke KOBAYASHI
January 09, 2024
Tweet
Share
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
The Invisible Side of Design
smashingmag
298
50k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
4 Signs Your Business is Dying
shpigford
180
21k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Tale of Four Properties
chriscoyier
156
23k
Code Review Best Practice
trishagee
64
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Scaling GitHub
holman
458
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Transcript
大規模言語モデル入門 2章 Transformer 2024. 01. 09 @ https://opendatalab.connpass.com
自己紹介 小林 要佑 大学院卒(専門は分子動力学法) → メーカー(研究開発) → EdTechベンチャー (エンジニア) →
(現在)シンプルフォーム株式会社(エンジニア) ワンコと一緒に一人で暮らしてます。 休みの日は愛犬と散歩行ったり、 FPSゲームをやったり、 読書することが多いです。 最近、カンデル神経科学という医学の専門書を読むのにハマっ てます(専門書だけど意外と読みやすい)
シンプルフォーム株式会社のご紹介
導入事例
エンジニア積極採用中です! https://www.simpleform.co.jp/careers
今回のゴール この図が何となくわかるようになる 想定読者:ニューラルネットワークは聞い たことあるくらい
Transformerとは? Transformer Encoder-decoderで構成されるモデルで、 特に自己注意機構を基盤としているのが特徴的なモデル Encoder 入力されたテキストを解釈し、 文法的な特徴などをベクトルに変換する役割 Decoder エンコードから得た情報から 新しいテキストを生成する役割
【補足】Encoder-decoder, Encoder, Decoder タスク特化 汎用的 出典:https://www.slideshare.net/rmcdermo/fhllmtalk20231005pdf
Encoderについて解説 入力されたテキストを解釈し、文法的な特徴などをベクトルに変換する役割
入力トークン埋め込み
入力トークン埋め込み トークン化 こたつでみかんを食べる こたつ / で / みかん / を
/ 食べる 入力トークン埋め込み トークンを数値ベクトルに変換 で を こたつ / で / みかん / を / 食べる -0.21 0.02 -0.34 0.1 -0.18 -0.94 0.17 0.71 0.67 0.23 … … … … … 語彙 D とすると、 D次元 Ex. 形態素に分解 イメージ図
位置符号
位置符号の必要性 入力トークン埋め込みは、トークンの順序や位置に関する情報が含まれていない 「こたつでみかんを食べる」 「みかんでこたつを食べる」 こたつ / で / みかん /
を / 食べる -0.21 0.02 -0.34 0.1 -0.18 -0.94 0.17 0.71 0.67 0.23 … … … … … 2つの文を区別できるようにするには、順序や位置情報を加算する必要がある → 位置符号 入力トークン埋め込み
位置符号 こたつ / で / みかん / を / 食べる
1番目のトークン(こたつ)の位置符号 i番目のトークンの位置符号 低周波数域 → 広い範囲の関係を捉える 高周波数域 → 局所的な関係を捉える i=1 i=2 i=3 i=4 i=5 出典:https://kazemnejad.com/blog/transformer_architecture_positional_encoding/
自己注意機構
自己注意機構の必要性 マウス / で / クリック / する ? 動物のマウスではなく、PC機器のマウスとして捉えるには
「クリック」というトークンに注意を向ける必要がある → トークンの重要度を加味しながら文脈化を担うのが自己注意機構
自己注意機構の例 「マウス」に対して、「クリック」に注意(大きな重み)を与えることで 文脈に基づいたトークンが生成される
自己注意機構:キー・クエリ・バリュー 連想配列(ex. Pythonのdict)ではクエリとキーは1対1だが、 自己注意機構では全てのキーの重み付き和を計算する点が異なる
マルチヘッドアテンション 自己注意機構を複数用意することで表現力を高めたもの 出典:Hyeongu Yun et al. "Analyzing and Controlling Inter-Head
Diversity in Multi-Head Attention," Appl. Sci, 2021.
フィードフォワード層
フィードフォワード層 出典:Diskshit Chauhan et al. "A multi-agent optimization algorithm and
its application to training multilayer perceptron models," Evolving system , 2023. 目的:入力された層に対して、学習済みのデータに基づいて関連する情報を付加する役割 非線形関数であることが重要 → モデルの表現力が増す
Encoderモデルの復習
Encoder-decoderモデルについて解説
交差注意機構
自己注意機構と交差注意機構の違い バリュー&キーとクエリは異なる 入力シーケンスから生成 エンコーダーから生成 デコーダー内の入力シーケンス 同じ入力シーケンスから生成 デコーダー内の入力シーケンス 自己注意機構 交差注意機構 文章内の各単語が文脈の他の単語とどう関
連しているのかを理解するのに役立つ 例えば、機械翻訳の際に日本語と英語の 2つの文の関 係性を理解するのに役立つ
注意機構のマスク処理
注意機構のマスク処理の必要性 並列化することで計算時間を短縮。 しかし、そのまま利用すると 例えば、w1を予測するのにw1,w2,…も 利用できてしまうので、 答えを隠す必要がある。
注意機構のマスク処理 関連度スコアを-∞にすることで、モデルは過去の情報のみ参照して予測するように訓練する
Encoder-decoderモデルの復習
Decoderモデル • Encoder-decoderモデルのDecoderから 交差注意機構を除いたもの • Encoderとの違いは、注意機構に マスク処理が加わっている点のみ違う
まとめ Encoder:入力データを高次元の特徴空間に変換し、変換された表現を後続のタスクで利用 Decoder:入力シーケンスから出力シーケンスを生成。マスク付き自己注意機構を使うこと で未来のトークンが予測プロセスに影響を与えないようにします。 Encoder-Decoder:Encoderは入力データを中間表現に変換し、デコーダはこの中間表現を 使用して出力シーケンスを生成します。
最後に この資料は connpass 上で公開します。 次回(第3回)は 1/22 (月)18:00〜を予定しています! 奮ってご参加ください! https://opendatalab.connpass.com/event/307182/ 第4回の発表者を募集しています!
ご参加いただける方は下記にご連絡ください。
[email protected]