07

学習の仕組み:事前学習とファインチューニング

2025年7月8日
事前学習ファインチューニングLLM転移学習大規模データ

「LLMはどうやって賢くなるの?」「なぜChatGPTは様々な質問に答えられるの?」その秘密は、事前学習ファインチューニング という2段階の学習プロセスにあります。これは、人間が「基礎教育」を受けた後に「専門教育」を受けるのと似ています。この記事では、LLMがどのように段階的に学習し、高度な能力を獲得するのかを分かりやすく解説します。

人間の学習プロセスとの類似

はじめに、人間の学習プロセスとLLMの学習プロセスの類似点について紹介します。

人間の段階的学習

人間は 段階的に学習 を進めます。まず基礎的な知識を身につけ、その後に専門的な知識を学びます。

たとえば

  1. 基礎教育:読み書き、基本的な数学、一般常識を学ぶ
  2. 専門教育:医学、法律、工学などの専門知識を学ぶ
  3. 職業訓練:実際の職場で必要な具体的なスキルを学ぶ

この段階的な学習により、人間は幅広い基礎知識を持ちながら、特定の分野で高い専門性を発揮できます。

LLMの2段階学習

LLMも人間と同じように 2段階の学習 を行います。

たとえば

  1. 事前学習(Pre-training):大量のテキストデータで基礎的な言語能力を学習
  2. ファインチューニング(Fine-tuning):特定のタスクに特化した能力を学習

要するに、LLMは「言語の基礎」を学んだ後に「特定の仕事」を学ぶという、人間と似たプロセスで賢くなっているのです。

事前学習(Pre-training)とは

次に、LLMの第1段階である事前学習について説明します。

事前学習の目的

事前学習 とは、大量のテキストデータを使って、言語の基本的なパターンを学習する段階 です。これは、人間が子供の頃に言葉を覚えるプロセスに似ています。

たとえば

  • 子供:「おはよう」の後には「ございます」が続くことが多い、ということを経験から学習
  • LLM:「おはよう」の後には「ございます」が続く確率が高い、ということをデータから学習

学習データの規模

事前学習では 膨大な量のテキストデータ が使用されます。

たとえば

  • 書籍: 数百万冊の書籍データ
  • Webページ: 数十億のWebページ
  • Wikipedia: 多言語のWikipediaデータ
  • ニュース記事: 数千万件のニュース記事

このデータ量は、人間が一生かけて読める量の数万倍から数十万倍に相当します。

次の単語予測タスク

事前学習の基本的なタスクは 次の単語予測 です。

たとえば

  • 入力:「今日は良い天気なので」
  • 予測:「散歩に行きたい」「外出したい」「洗濯物を干した」など

LLMは、この単純なタスクを数兆回繰り返すことで、言語の深いパターンを学習します。

自己教師学習

事前学習では 自己教師学習 という手法が使われます。これは、人間が答えを教えなくても、データ自体から学習する 方法です。

たとえば

  • 従来の学習: 人間が「この文章は感情的に良い」「この文章は感情的に悪い」と一つずつ教える
  • 自己教師学習: 「今日は良い天気なので」の後に「散歩に行きたい」が続く、という関係をデータから自動的に学習

要するに、LLMは大量のテキストデータから「言語の使い方」を自分で発見しているのです。

ファインチューニング(Fine-tuning)とは

次に、LLMの第2段階であるファインチューニングについて解説します。

ファインチューニングの目的

ファインチューニング とは、事前学習で獲得した基礎能力を、特定のタスクに特化させる段階 です。

たとえば

  • 質問応答: 事前学習で身につけた言語能力を使って、質問に適切に答える能力を学習
  • 文章要約: 長い文章を短く要約する能力を学習
  • 翻訳: 言語間の変換能力を学習
  • 対話: 人間との自然な会話能力を学習

教師あり学習

ファインチューニングでは 教師あり学習 が使われます。これは、人間が正解を教える 学習方法です。

たとえば: 質問応答のファインチューニング:

  • 入力: 「太郎は何歳ですか?」
  • 正解: 「太郎は25歳です」
  • LLMの回答: 「太郎は25歳です」
  • 評価: 正解と一致しているので良い評価

このように、人間が用意した正解データを使って、LLMを特定のタスクに特化させます。

少量データでの学習

ファインチューニングでは、事前学習と比べて少量のデータ で効果的な学習が可能です。

たとえば

  • 事前学習: 数百GB〜数TBのテキストデータ
  • ファインチューニング: 数MB〜数GBのタスク特化データ

これは、事前学習で身につけた基礎能力を活用するためです。人間が基礎教育を受けた後、専門分野を短期間で学べるのと同じです。

転移学習の仕組み

次に、事前学習からファインチューニングへの知識転移について説明します。

転移学習とは

転移学習 とは、一つの分野で学んだ知識を、他の分野に活用する学習方法 です。

たとえば

  • 人間: 数学の論理的思考力を、プログラミングの学習に活用
  • LLM: 事前学習で学んだ言語パターンを、質問応答タスクに活用

LLMの2段階学習は、この転移学習の典型的な例です。

知識の階層化

事前学習では、階層的な知識 が獲得されます。

たとえば

  • 低レベル: 「文字」「単語」「文法」のパターン
  • 中レベル: 「文章構造」「文脈」「意味」のパターン
  • 高レベル: 「論理」「常識」「推論」のパターン

ファインチューニングでは、これらの階層的知識を組み合わせて、特定のタスクに適応します。

パラメータの調整

転移学習では、パラメータの調整 が重要です。

たとえば

  • 事前学習: 全てのパラメータを大きく調整
  • ファインチューニング: 一部のパラメータを細かく調整

これにより、事前学習で獲得した基礎能力を保ちながら、新しい能力を追加できます。

実際の学習プロセス

次に、実際のLLMがどのように学習されるのかについて説明します。

GPTの学習プロセス

GPT の学習プロセスを具体例として見てみましょう。

事前学習段階

  1. データ収集: インターネット上の大量のテキストデータを収集
  2. データ処理: 低品質データの除去、重複データの削除
  3. トークン化: 文章をトークンに分割
  4. 学習: 次の単語予測タスクを数兆回実行

ファインチューニング段階

  1. タスク設計: 質問応答、文章生成などのタスクを設計
  2. データ作成: 人間が高品質な入力-出力ペアを作成
  3. 学習: 教師ありデータを使って特定タスクの学習
  4. 評価: 人間による品質評価

強化学習からの人間フィードバック(RLHF)

ChatGPTでは、さらに RLHF(Reinforcement Learning from Human Feedback) という技術が使われています。

たとえば

  1. LLMの回答生成: 質問に対して複数の回答を生成
  2. 人間の評価: 評価者が「どの回答が良いか」を判定
  3. 学習: 人間が好む回答を生成するように学習
  4. 改善: より人間らしい自然な回答ができるように改善

この結果、ChatGPTは人間の好みに合った自然な応答ができるようになりました。

継続的な改善

LLMの学習は 継続的な改善プロセス です。

たとえば

  • 新しいデータの追加: 最新の情報を学習データに追加
  • フィードバックの活用: ユーザーからのフィードバックを学習に活用
  • モデルの更新: 定期的にモデルを更新して性能を向上

これにより、LLMは常に進化し続けています。

事前学習の重要性

最後に、なぜ事前学習が重要なのかについて解説します。

汎用的な能力の獲得

事前学習により、LLMは 汎用的な言語能力 を獲得します。

たとえば

  • 語彙理解: 数十万語の語彙とその意味
  • 文法理解: 複雑な文法構造の理解
  • 常識: 世界に関する基本的な知識
  • 推論: 論理的な推論能力

これらの能力は、様々なタスクの基盤となります。

効率的な学習

事前学習により、新しいタスクの学習が効率的 になります。

たとえば

  • 事前学習なし: 翻訳タスクを一から学習→数ヶ月必要
  • 事前学習あり: 基礎能力を活用して翻訳を学習→数日で完了

要するに、事前学習は「言語の基礎体力」を向上させ、新しいタスクへの適応を高速化するのです。

少数データでの学習

事前学習により、少数のデータでも効果的な学習 が可能になります。

たとえば

  • 医療分野: 限られた医療データでも、一般的な言語能力を活用して高精度な診断支援システムを構築
  • 法律分野: 法律文書の少数例から、法律相談システムを構築

これは、専門分野でデータが限られている場合に特に重要です。

まとめ

LLMの学習は、事前学習で汎用的な言語能力を獲得し、ファインチューニングで特定のタスクに特化するという2段階のプロセスです。これは人間の基礎教育から専門教育への流れと似ており、転移学習の原理を活用した効率的な学習方法です。事前学習により獲得した基礎能力が、様々なタスクへの適応を可能にし、現在のLLMの高い性能を支えています。

要するに、LLMの学習は「広く浅く基礎を学び、その後に深く専門性を身につける」という、人間と同じような段階的学習プロセスなのです。

次回の記事では、LLMを実際に活用するためのテクニック「プロンプトエンジニアリング」について、上手な質問の仕方とコツを詳しく解説していきます。