[Wiki] [一覧]

事前学習(Pre-training)

概要

事前学習は、大規模言語モデル の訓練における最初のステップであり、ラベルづけされていない大規模テキストコーパス を使って、文中の次の単語を予測することを学習目的とします。明示的な人手のラベルを必要としない 自己教師あり学習(Self-Supervised Learning) であり、ここで得られる ベースモデル が後続の ファインチューニング の土台となります。

“garbage in, garbage out” — 事前学習データの品質がモデルの品質を決める。

学習目的の種類

LLM の自己教師あり学習の目的は、おおよそ3つに分けられます。

目的内容得意なタスク
完全言語モデリング(FLM)完全に因果的に次トークンを予測生成(GPT 型)
接頭辞言語モデリング(PrefixLM)接頭辞部分には非因果的な注意を許す生成・理解の両立
マスク言語モデリング(MLM)マスクされた位置のトークンを予測分類(BERT 型)

FLM で訓練されたモデルは生成タスクに、MLM で訓練されたモデルは分類タスクに強みを持ちます。

主な事前学習データセット

近年は「インターネットから訓練データが消えつつある」という課題もあり、合成事前学習データ(Microsoft の phi シリーズ、Cosmopedia など、LLM 自身で生成)も活用されています。

データ前処理パイプライン

未加工のデータセットから事前学習データを作る主な工程:

  1. データの収集
  2. 言語識別 / テキスト抽出
  3. 品質フィルタリング(高品質/低品質文書を識別する分類器の構築)
  4. 評価セットの混入除去(n-gram マッチングなど)
  5. 重複排除(Deduplication)
  6. 個人識別情報(PII, Personally Identifiable Information)の除去
  7. クリーニングとフィルタリング

エポック(Epoch) とは、訓練過程でモデルが訓練データセット全体に一度触れることを意味します。

位置づけ

参考資料