事前学習(Pre-training)
概要
事前学習は、大規模言語モデル の訓練における最初のステップであり、ラベルづけされていない大規模テキストコーパス を使って、文中の次の単語を予測することを学習目的とします。明示的な人手のラベルを必要としない 自己教師あり学習(Self-Supervised Learning) であり、ここで得られる ベースモデル が後続の ファインチューニング の土台となります。
“garbage in, garbage out” — 事前学習データの品質がモデルの品質を決める。
学習目的の種類
LLM の自己教師あり学習の目的は、おおよそ3つに分けられます。
| 目的 | 内容 | 得意なタスク |
|---|---|---|
| 完全言語モデリング(FLM) | 完全に因果的に次トークンを予測 | 生成(GPT 型) |
| 接頭辞言語モデリング(PrefixLM) | 接頭辞部分には非因果的な注意を許す | 生成・理解の両立 |
| マスク言語モデリング(MLM) | マスクされた位置のトークンを予測 | 分類(BERT 型) |
FLM で訓練されたモデルは生成タスクに、MLM で訓練されたモデルは分類タスクに強みを持ちます。
主な事前学習データセット
- Common Crawl / C4 — Web 上で公開されている最大級のテキストソース。事前学習データの大きな割合を占める
- The Pile — EleutherAI が提供
- WebText / OpenWebText / OpenWebText2
- Wikipedia
- BooksCorpus / BooksCorpus 2
- FineWeb — 現時点で世界最大規模の公開事前学習データセット
近年は「インターネットから訓練データが消えつつある」という課題もあり、合成事前学習データ(Microsoft の phi シリーズ、Cosmopedia など、LLM 自身で生成)も活用されています。
データ前処理パイプライン
未加工のデータセットから事前学習データを作る主な工程:
- データの収集
- 言語識別 / テキスト抽出
- 品質フィルタリング(高品質/低品質文書を識別する分類器の構築)
- 評価セットの混入除去(n-gram マッチングなど)
- 重複排除(Deduplication)
- 個人識別情報(PII, Personally Identifiable Information)の除去
- クリーニングとフィルタリング
エポック(Epoch) とは、訓練過程でモデルが訓練データセット全体に一度触れることを意味します。
位置づけ
- 前提技術:Transformer、トークン化
- 次のステップ:ファインチューニング
- 関連能力:In-context Learning(大規模な事前学習の創発的副産物)