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
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Unsuck your backbone
ammeep
669
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
We Have a Design System, Now What?
morganepeng
51
7.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Fireside Chat
paigeccino
34
3.1k
Done Done
chrislema
181
16k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
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]