用語集¶
A¶
Attention(アテンション、注意機構)¶
入力系列の各要素に対して、他の要素との関連性を計算し、重み付けを行う機構。Transformerの中核技術。
Autoregressive(自己回帰)¶
過去の出力を入力として使用し、次の出力を予測するモデル。GPTなどの言語モデルで使用。
B¶
BERT (Bidirectional Encoder Representations from Transformers)¶
Googleが開発した双方向Transformer。文脈の両方向から情報を取得。
Batch Normalization(バッチ正規化)¶
バッチ次元で正規化を行う手法。Transformerでは主にLayer Normalizationが使用される。
Beam Search(ビームサーチ)¶
複数の候補を並列に探索し、最も良い系列を見つける探索アルゴリズム。
# ビームサーチの概念
beams = [(initial_sequence, 0.0)] # (系列, スコア)
for step in range(max_length):
new_beams = []
for seq, score in beams:
# 各ビームから次の候補を生成
candidates = generate_next_tokens(seq)
new_beams.extend([(seq + [token], score + log_prob)
for token, log_prob in candidates])
# 上位k個を選択
beams = sorted(new_beams, key=lambda x: x[1])[:beam_size]
BPE (Byte Pair Encoding)¶
頻出する文字ペアを繰り返しマージすることで語彙を構築するトークン化手法。
C¶
Causal Mask(因果マスク)¶
未来の情報を見ないようにするマスク。デコーダやGPTで使用。
Cross-Attention(クロスアテンション)¶
エンコーダの出力をキー・バリューとし、デコーダの状態をクエリとするアテンション。
Cross-Entropy Loss(クロスエントロピー損失)¶
分類タスクで使用される損失関数。言語モデルの学習で標準的に使用。
D¶
Decoder(デコーダ)¶
エンコーダの出力を受け取り、目的の出力を生成する部分。自己回帰的に動作。
Dropout(ドロップアウト)¶
訓練時にランダムにニューロンを無効化する正則化手法。
E¶
Embedding(埋め込み)¶
離散的なトークンを連続的なベクトル空間に写像する処理。
Encoder(エンコーダ)¶
入力を処理し、文脈を考慮した表現を生成する部分。
F¶
Feed-Forward Network (FFN)¶
Transformer内の位置ごとに適用される2層のニューラルネットワーク。
class FFN(nn.Module):
def __init__(self, d_model, d_ff):
super().__init__()
self.linear1 = nn.Linear(d_model, d_ff)
self.linear2 = nn.Linear(d_ff, d_model)
def forward(self, x):
return self.linear2(F.relu(self.linear1(x)))
Fine-tuning(ファインチューニング)¶
事前学習済みモデルを特定のタスクに適応させる学習プロセス。
Flash Attention¶
メモリ効率的なアテンション計算手法。IO複雑度を削減。
G¶
GPT (Generative Pre-trained Transformer)¶
OpenAIが開発した自己回帰型の言語モデル。デコーダのみのアーキテクチャ。
Gradient Accumulation(勾配累積)¶
複数のミニバッチの勾配を累積してから更新する手法。メモリ制約下で大きなバッチサイズを実現。
Gradient Clipping(勾配クリッピング)¶
勾配の大きさを制限して学習を安定化させる手法。
H¶
Head(ヘッド)¶
Multi-Head Attentionにおける個別のアテンション計算単位。
Hugging Face¶
Transformerモデルのライブラリとコミュニティを提供する企業・プラットフォーム。
I¶
Inference(推論)¶
学習済みモデルを使用して予測を行うプロセス。
K¶
Key(キー)¶
アテンション機構において、各位置の情報を表現するベクトル。
L¶
Layer Normalization(層正規化)¶
各サンプルの特徴次元で正規化を行う手法。Transformerで標準的に使用。
Learning Rate Schedule(学習率スケジュール)¶
訓練中に学習率を調整する戦略。Transformerではwarmup + 減衰が一般的。
LoRA (Low-Rank Adaptation)¶
効率的なファインチューニング手法。低ランク行列でパラメータ更新を近似。
M¶
Masked Language Model (MLM)¶
BERTで使用される事前学習タスク。ランダムにマスクしたトークンを予測。
Multi-Head Attention(マルチヘッドアテンション)¶
複数のアテンションを並列に計算し、異なる関係性を捉える機構。
class MultiHeadAttention(nn.Module):
def __init__(self, d_model, n_heads):
super().__init__()
self.d_k = d_model // n_heads
self.n_heads = n_heads
self.W_q = nn.Linear(d_model, d_model)
self.W_k = nn.Linear(d_model, d_model)
self.W_v = nn.Linear(d_model, d_model)
self.W_o = nn.Linear(d_model, d_model)
N¶
Next Token Prediction(次トークン予測)¶
言語モデルの基本タスク。現在までのトークンから次のトークンを予測。
Nucleus Sampling(Top-p Sampling)¶
累積確率がpを超えるまでの上位トークンからサンプリングする手法。
O¶
Optimizer(オプティマイザ)¶
モデルのパラメータを更新するアルゴリズム。AdamWが標準的。
P¶
Padding(パディング)¶
系列を同じ長さに揃えるための処理。
Perplexity(パープレキシティ)¶
言語モデルの性能指標。低いほど良い。
Position Encoding(位置エンコーディング)¶
系列内の位置情報をモデルに伝える仕組み。
Pre-training(事前学習)¶
大規模データで汎用的な表現を学習するプロセス。
Q¶
Query(クエリ)¶
アテンション機構において、情報を検索する側のベクトル。
Quantization(量子化)¶
モデルの重みや活性化を低精度で表現する圧縮技術。
R¶
Residual Connection(残差接続)¶
入力を出力に直接加算する接続。勾配消失を防ぐ。
RoPE (Rotary Position Embedding)¶
回転行列を使用した位置エンコーディング手法。
S¶
Self-Attention(自己注意機構)¶
系列内の要素間の関係を計算するアテンション。
SentencePiece¶
言語に依存しないトークナイザー。サブワード単位で分割。
Softmax¶
確率分布を生成する活性化関数。アテンション重みの計算で使用。
T¶
Temperature(温度)¶
生成時の確率分布の鋭さを制御するパラメータ。
Token(トークン)¶
テキストを処理可能な単位に分割したもの。
Tokenizer(トークナイザー)¶
テキストをトークンに分割するツール。
Top-k Sampling¶
上位k個のトークンからサンプリングする生成手法。
Training(訓練/学習)¶
データからモデルのパラメータを最適化するプロセス。
Transformer¶
自己注意機構を基盤とするニューラルネットワークアーキテクチャ。
V¶
Value(バリュー)¶
アテンション機構において、実際に集約される情報を含むベクトル。
Vocabulary(語彙)¶
モデルが扱えるトークンの集合。
W¶
Warmup¶
学習初期に学習率を徐々に上げる手法。
def warmup_schedule(step, warmup_steps):
if step < warmup_steps:
return step / warmup_steps
return 1.0
Weight Decay(重み減衰)¶
正則化の一種。パラメータの大きさにペナルティを課す。
WordPiece¶
BERTで使用されるサブワードトークン化手法。
数式記号¶
d_model¶
モデルの隠れ層の次元数(例:512, 768, 1024)
d_k, d_v¶
キーとバリューの次元数。通常 d_model / n_heads
d_ff¶
Feed-Forward Networkの中間層の次元数。通常 4 * d_model
n_heads¶
Multi-Head Attentionのヘッド数(例:8, 12, 16)
n_layers¶
Transformerブロックの層数(例:6, 12, 24)
コンパイラとの対応関係¶
Transformer用語 | コンパイラ用語 | 説明 |
---|---|---|
Tokenization | 字句解析 | テキストを基本単位に分割 |
Embedding | シンボルテーブル | トークンを内部表現に変換 |
Self-Attention | 文脈解析 | 要素間の依存関係を解析 |
Layer | 最適化パス | 段階的な変換処理 |
Position Encoding | 行番号/位置情報 | 要素の位置を記録 |
Feed-Forward | 変換規則 | 個別要素の変換 |
Decoder | コード生成 | 最終的な出力を生成 |