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
370
大規模言語モデル第二回 Transformer
Yosuke KOBAYASHI
January 09, 2024
Tweet
Share
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
96
5.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Six Lessons from altMBA
skipperchong
27
3.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
RailsConf 2023
tenderlove
29
970
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Building Your Own Lightsaber
phodgson
104
6.2k
Done Done
chrislema
182
16k
Facilitating Awesome Meetings
lara
51
6.2k
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]