【一周回ってど忘れした自分へ】
たまに忘れてしまう用語たちを振り返りつつ、Qiita に残していこうと思います。
もし誤りなどありましたら、コメントいただけると幸いです。
1. はじめに: LLMの学習プロセス
LLM (大規模言語モデル) がどのように学習し、どのように実用化されるのかを理解するために、
- 事前学習 (Pretraining)
- 事後学習 (Post-training)
を理解するとよさそうです。
2. 事前学習 (Pretraining): AIの基礎を構築する
事前学習は、膨大なテキストデータを用いて、LLMが 言語の構造、文法、文脈の相関を理解するための基礎を構築するフェーズ と表現できます。
事前学習に関する専門用語
◆ LLMの基盤アーキテクチャ
-
Transformer
- LLMの基本構造
- あの有名な「Atention Is All You Need」の論文で紹介された、長距離依存関係を効率的に学習するディープラーニングモデル
- RNN や CNN に比べて並列計算が容易で大規模データの学習に向いている
-
Self-Attention
- 入力されたトークン同士の関連度を計算、情報の重み付けを行う仕組み
- Transfomer では、各単語が文章内すべての単語と関連付けられるため、長距離の依存関係を捉えやすく、文脈理解能力が向上する
- Multi-Head Attention といって、複数の自己注意機構を並列実行することで、情報の多様性を向上する手法もある
- FlashAttention など、最適化手法もある、計算コストを削減しつつ高速な処理を可能に
-
Mixture of Experts (MoE)
- 通常の Transfomer とちがい、入力ごとに特定のサブネットワークが動作して、最も適したエキスパートが選択される構造(Expert: 専門家みたいな)
-
State Space Model (SSM, Mamba)
- 系列データの処理に適したアーキテクチャで、Transfomer 代替として研究されている
- より少ない計算量で長いシーケンスの処理が可能となった
-
Scaling Laws
-スケーリング則(モデルサイズ・データ量・計算量のバランスが重要)- 単にモデルを大きくするだけではなく、データ効率や計算コストの最適も不可欠
◆ 事前学習の手法
事前学習の手法は、モデルが言語のパターンや意味を理解するために設計されています。
たとえば下記のような手法です。
-
Causal Language Modeling (CLM)
- 次の単語を予測(GPT系)
- 自己回帰型学習で、文章の前半部分を使って、次の単語を予測する
- テキスト生成が得意、コンテキストの一貫性が高い
- 並列計算が難しく、長いシーケンスの学習が非効率になりがち
-
Masked Language Modeling (MLM)
- 一部の単語を隠して予測(BERT系)
- 双方向的学習(Bidirectional)で、文章の一部の単語をマスク、それを推測する
- 文全体の意味を考慮して単語を推測できるため、文脈理解力が向上
- 推論時にはマスクトークンがないため、ファインチューニングが必要
-
Denoising Autoencoder
- データの復元を目的とする自己教師あり学習で、文章にノイズを加えてそれを復元することで学習する
- 生成タスクと文脈理解の両方に適用可能
- ノイズの種類によっては、学習効率が低くなる可能性あり
-
Contrastive Learning (コントラスト学習)
- 文の類似度を比較して、意味的な距離を学習する
- 文章の意味をエンコーディングする際、類似する文を近づけ、異なる文を遠ざけることができる
- 負例の選択が学習の効率に大きく影響する
最後に
会話中に瞬間的にど忘れする、もしくはうまく解説できなくてどもってしまうので、しっかり記憶していきたい所存です。
どんどん新しい用語が増えたり、技術も発展しているのでキャッチアップするのが大変ですね。
次は事後学習あたりをメモしていきたいと思います。
まだまだ続きます。