---
title: 【大規模言語モデル入門】２章
tags: 
author: [京都大学人工知能研究会KaiRA](https://www.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/PJRW4ZLY79.jpg?width=480
description: 【大規模言語モデル入門】２章 by 京都大学人工知能研究会KaiRA
published: October 10, 24
canonical: https://www.docswell.com/s/kyoto-kaira/KDNJ49-2024-10-10-215210
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/PJRW4ZLY79.jpg)

大規模言語モデル入門
2024/10/10
第２章 Transformer
京都大学理学部 B1
ALAWIK Abdourrahman
0


# Page. 2

![Page Image](https://bcdn.docswell.com/page/PEXP29W47X.jpg)

アジェンダ
 2.1 Transformerの概要
 2.2 エンコーダ
 2.3 エンコーダ・デコーダ
 2.4 デコーダ
1


# Page. 3

![Page Image](https://bcdn.docswell.com/page/3EKDMPVPJD.jpg)

2.1 概要
注意機構を用いてトークン埋め込みに文脈などの情報を付与
1. エンコーダ・デコーダ:２種類の入力
2. エンコーダ:トークン埋め込み
3. デコーダ:トークン埋め込み
→ 一方から続くトークン
→ 文脈化トークン埋め込み
→ 続くトークン
2


# Page. 4

![Page Image](https://bcdn.docswell.com/page/L73RYXM4J5.jpg)

2.1 概要
機械翻訳の例（デコード・エンコード）
3


# Page. 5

![Page Image](https://bcdn.docswell.com/page/87DY52657G.jpg)

2.2 エンコード
1. 入力トークン埋め込み
2. 位置符号
3. 自己注意機構

マルチヘッド注意機構
4. フィードワード層
5. 残差結合
6. 層正則化
4


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VJP6G1YDE8.jpg)

2.2.1 入力トークン埋め込み
各トークンをD次元ベクトルに
• 静的な情報
• 文脈などとは関係なく、そのトークンだけによって決まり
• 複数の意味のあるトークンでも埋め込みが１つだけ
（”こたつ”、”で”、”みかん”、”を”、”食べる”）→（𝒆こたつ、 𝒆で 、 𝒆みかん 、𝒆を、 𝒆食べる ）
全ての語彙の集合をVとしたとき、全ての埋め込みベクトルを集めた|V|×D次元行列 E
5


# Page. 7

![Page Image](https://bcdn.docswell.com/page/2EV36YGG7Q.jpg)

2.2.2 位置符号
トークンの埋め込みに位置の情報を加える
 正弦関数
cos
 D次元のベクトル
 文中の位置ⅰだけで決まる
sin
cos(𝑖)
sin(𝑖)
…
𝑖
2π波⾧
1000
𝑖
1000
𝒑 =
…
cos
sin
𝑖
1000
𝑖
1000π波⾧
1000
6


# Page. 8

![Page Image](https://bcdn.docswell.com/page/57G3NWDDJL.jpg)

2.2.2 位置符号
7


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4EQ5Q31XJP.jpg)

2.2.2 位置符号
8


# Page. 10

![Page Image](https://bcdn.docswell.com/page/KJ49N1R271.jpg)

2.2.2 位置符号
と
の内積
|i-j|だけで決まる!!!
9


# Page. 11

![Page Image](https://bcdn.docswell.com/page/LE1K5GQKJG.jpg)

2.1 概要
と
の内積
10


# Page. 12

![Page Image](https://bcdn.docswell.com/page/GEWD5KMPJ2.jpg)

2.2.2 位置符号
特に、
入力:
• 先ほどの定義では、 𝑷 = (𝒑 , 𝒑 , … )は一定行列だが、パラメータにして学習することもある
（
こたつ
、
で
、
𝒆みかん + 𝒑 、 𝐷𝒆を
、
食べる
）
11


# Page. 13

![Page Image](https://bcdn.docswell.com/page/47ZGNZQ6E3.jpg)

2.2.3 自己注意機構
入力トークン埋め込みごとに、他のトークンからの文脈情報を付与して、その意味を明確化
• マウス:動物 パソコンの入力機器 → トーケン埋め込みは両方の意味を含める
• 「マウスをクリックする」:後者だけが欲しい! → 「クリック」の文脈を加えたい
トークンBの文脈はトーケンAにとってはどれぐらい重要??
 自己注意機構
トークンAに付与する情報
＝ 全てのトークンからの情報の重要度に沿った重み付き和
12


# Page. 14

![Page Image](https://bcdn.docswell.com/page/YJ6Y8Z6L7V.jpg)

2.2.3 自己注意機構
トークンAに付与する情報
＝ 全てのトークンからの情報の重要度に沿った重み付き和
•
•
•
（トークン j の情報の i にとっての重要度）
13


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GJ5G9W6MJ4.jpg)

2.2.3 自己注意機構
•
バリュー
•
クエリ
•
キー
、
、
:
（j の情報）
（i の質問）
（j の答え）
:D×D 行列 (パラメータ)
と の内積
→ 類似度
14


# Page. 16

![Page Image](https://bcdn.docswell.com/page/LE3RY4Q975.jpg)

2.2.4 マルチヘッド注意機構
同時に複数の注意機構
M回注意機構
（MがDの約数）
ｍ回目:
( )
、
( )
=𝑾
( )
𝒉
( )
=𝑾
( )
𝒉
=𝑾
( )
𝒉
• 𝒗
• 𝒒
• 𝒌
( )
( )
(
𝒒
→ 表現力を高
)
𝒌
( )
(
、
( )
:
行列 (パラメータ)
3M個の 次元ベクトル
)
/
(
( )
∑
(
)
(
)
(
)
)
15


# Page. 17

![Page Image](https://bcdn.docswell.com/page/8EDY5Q98EG.jpg)

2.2.4 マルチヘッド注意機構
( )
( ) ( )
M個の 次元ベクトル
( )
…
( )
1個の 次元ベクトル
 𝑊 ：D×D次元行列
（パラメータ）
16


# Page. 18

![Page Image](https://bcdn.docswell.com/page/V7P6GLZWJ8.jpg)

2.2.5 フィードワード層
２層の順伝播型ニューラルネットワーク
＝ 多層パーセプトロン
𝒊
:
次元
:
次元
:
:
次元
次元
、
→ 全体のパラメータの2/3!
f : 活性化関数（非線形関数）
• relu(x) = max(0,x)
• gelu(x) = x φ(x) (φ:正規分布の累積関数)
Transformerの“記憶”
17


# Page. 19

![Page Image](https://bcdn.docswell.com/page/2JV36QW9EQ.jpg)

2.2.5 フィードワード層
18


# Page. 20

![Page Image](https://bcdn.docswell.com/page/5EG3NWD47L.jpg)

2.2.6 残差結合
出力に入力を足す
(
)
( )
• 層ごとに２回:F が注意機構として、F がフィードフォワードとして
勾配消失・爆発問題を防、学習を安定に
19


# Page. 21

![Page Image](https://bcdn.docswell.com/page/4JQ5Q31R7P.jpg)

2.2.7 層正規化
過剰に大きい値による学習の不安定化を防ぐため
入力ベクトルの要素の平均
入力ベクトルの要素の標準偏差
g、b (ゲイン、バイアス):D次元のベクトル
• 表現力に繋がる
• １、０におくこともある
20


# Page. 22

![Page Image](https://bcdn.docswell.com/page/K749N1RQE1.jpg)

2.2.8 ドロップアウト
過学習を防ぐため
訓練の時:各要素を(1-p)の確率で０にする
 少数の要素に過剰依存しないため
推論の時:各要素をp倍する
21


# Page. 23

![Page Image](https://bcdn.docswell.com/page/LJ1K5GQL7G.jpg)

2.3 エンコーダ・デコーダ
機械翻訳:
1. 原言語の入力
→
エンコーダ
→ 文脈化埋め込みベクトル
2. 目的言語でこれまで生成したものをデコーダ
3. エンコーダの出力
→
マスク付け自己注意機構
→ 交差注意機構
4. トークン出力分布の計算
22


# Page. 24

![Page Image](https://bcdn.docswell.com/page/GJWD5KMQ72.jpg)

2.3.3 注意機構のマスク処理
高速化のため、続くいくつかのトークンを並列で生成させる
 後ろのトークンが前の方に影響を及ぼさないでほしい（学習が正しく行われるため）
マスク:j&gt;i のとき、自己注意機構における
を-∞に（
(
∑
)
(
＝０）
)
-∞ -∞ -∞
-∞ -∞
-∞
23


# Page. 25

![Page Image](https://bcdn.docswell.com/page/4EZGNZQ3J3.jpg)

2.3.1 交差注意機構
•
•
•
デコーダの埋め込み
エンコーダの出力
24


# Page. 26

![Page Image](https://bcdn.docswell.com/page/Y76Y8Z6ZEV.jpg)

2.3.2 トークンの出力分布の計算
入力及びこれまでの出力が与えられたときに、出力の続く言葉の確率分布
エンコーダ・デコーダの出力埋め込みベクトルと、入力トークン埋め込み行列の内積
を&lt;s&gt;などにすることが多い
25


# Page. 27

![Page Image](https://bcdn.docswell.com/page/G75G9W6974.jpg)

2.4 デコーダ
エンコーダの構造との違い:
1. 自己注意機構にマスク
2. 最後に出力分布を計算
26


# Page. 28

![Page Image](https://bcdn.docswell.com/page/9J2Y2QM5JR.jpg)

おまけ
Transformerのスケーリングについて
Jonson-Lindenstrauss Lemma
参考:YouTube、3Blue1Brown
「How large language models work, a visual intro to transformers | Chapter 5, Deep
Learning」 https://youtu.be/wjZofJX0v4M?si=6Q8xdwSRzCBtin85
「Attention in transformers, visually explained facts | Chapter 6, Deep Learning 」
https://youtu.be/eMlx5fFNoYc?si=qOqIN_ZFOyLbmC_6
「How might LLMs store facts | Chapter 7, Deep Learning」
https://youtu.be/9-Jl0dxWQs8?si=fhYzhoFG2QGIbOAZ
27


