アンドレイ・カルパシーによるLLMの詳細解説(パート3):ポストトレーニング後訓練

大規模言語モデル(LLM)のトレーニングは、主に2つの段階に分かれています:

  1. 事前学習(Pretraining):ベースモデル(Base Model)を訓練します。
  2. 後学習(Post-training):ベースモデルをインタラクティブなアシスタントモデル(Assistant Model)に調整します。

1. プリトレーニング(事前学習)

  • プリトレーニング段階の主要な目標はインターネットテキストの統計的パターンを学ぶことです本質的にはトークン予測タスクです

    • 大量のインターネットデータを使用してモデルを訓練し、トークン列を予測する方法を学ばせます。
    • 訓練の最終的な成果物はベースモデル(Base Model)、それは単なるトークンジェネレーターです、超高度の自動補完システム
  • 基盤モデルの欠点

    • 質問を理解しない、訓練データの統計的パターンに基づいてテキストを生成するだけです。
    • 不適切な質問を拒否できない、安全性や正確性に欠けるコンテンツを出力する可能性がある。
    • インタラクティブ性が不足している、複数のラウンドにわたる対話や複雑なタスクを実行できない。

2. 後学習(Post-training)

基盤モデルを真のAI アシスタントに変えるためには、事後学習(フィネスティング)が必要であり、そのコストは事前学習よりもずっと低いです。事後学習の主な内容としては以下が含まれます:

  1. 命令微調整(Instruction Tuning):モデルが単にトークンを予測するだけでなく、質問にどのように回答すべきかを学ぶプロセスです。
  2. 報酬モデルの訓練(Reward Model Training):「良い」回答と「良くない」回答を定義する。
  3. 強化学習(RLHF):人間のフィードバックを使用してモデルを最適化し、より人間の期待に沿った答えを生成させる。

3. AIアシスタントを訓練するための重要なデータ:対話データ

  • 対話データの出典

    • 人間によるラベリング (Human Labeling):人間のラベラーを雇って記述する理想的な回答、これらの回答を模倣するためにモデルを訓練する。
    • 既存のデータセット:フォーラム、ソーシャルメディアなどのデータを使用して微調整を行う。
    • 合成データ(Synthetic Data):既存のLLMを用いて高品質な回答を生成し、その後人間が審査する。
  • 対話の例

    • 数千回に及ぶこのような会話があり得ます。非常に長く、様々なテーマをカバーしています。

  • 訓練プロセス
    • 人間が理想的な答えを先に示したいくつかの会話を整理します。

    • 会話をトークン列としてマーク付けし、<im_start>はこれまで訓練を受けたことがない新しいトークンで、後訓練段階でのみ作成され、モデルに発話者がユーザかアシスタントかを伝えるために使用されます。

    • ニューラルネットワークはこれらの会話データを使って訓練され、モデルがこれらの回答を模倣できるようにします。
    • モデルはこれらの回答を模倣します
    • モデルは迅速に調整され、これらのヒューマンアノテーターの回答スタイルを学習します
    • 推論段階になると、モデルは次善のトークン予測を続けていきます

4. 学習方法

  • 事前学習との違い

    • データセットの規模が小さい(事前学習では数兆トークンを使用するのに対し、後続の学習では百万単位の対話のみ使用される場合がある)。
    • 学習時間が短い(事前学習には3ヶ月かかる可能性がある一方で、後続の学習は数時間から数日で済むことが多い)。
    • 目標が異なる(事前学習でトークンの統計パターンを学び、後続の学習でインタラクション行動を学ぶ)。

5. コマンド微調整(Instruction Tuning)

OpenAI は2022年に発表しましたInstructGPT研究論文で、初めてその方法について詳細に説明しました対話データの微調整についてベースモデル(Base Model)をユーザーのニーズに合った形で訓練しますAIアシスタント(Assistant Model)

人間によるラベル付けデータ

トレーニング中にInstructGPTトレーニングプロセスにおいて、OpenAIは人間のラベラー(ヒューマン・ラベラー)、彼らの任務は:

  • ユーザ入力(プロンプト)を設計すること、例えば:
    - 職業的な情熱を再び燃え立たせる方法は?
    - 10冊のSF小説をおすすめします。
    - この文をスペイン語に翻訳してください。
  • 理想的なアシスタントの回答を提供するモデルの応答品質を確保するために。

ラベリングガイドライン

標準を統一するため、アノテーターは詳細なアノテーションガイドライン(通常数百ページ)に従う必要があります。その中核的な要件は以下の通りです:

  1. 有用性(Helpful):回答はユーザーのニーズを満たすものでなければなりません。
  2. 真実(Truthful):正確な情報を提供し、幻覚(Hallucination)を避ける。
  3. 無害(Harmless):安全でないまたは有害なコンテンツの出力を回避する。

これらのガイドラインを通じて会社はAIアシスタントの行動を間接的にプログラミングするその応答が期待通りであることを確認します。

6. 現在のオープンソースの試み

OpenAIがInstructGPTのトレーニングデータを公開していないものの、一部のオープンソースプロジェクト(例:Open Assistant)はそれに類似したプロセスを再現しようとしています:

  • ユーザーが寄稿したサンプル対話、例えば:
    Q: 経済学における「独占」という概念を説明し、例を挙げてください。
    A: 独占とは市場にただ一つの供給者しか存在しない状況を指します...(具体的な回答)
  • クラウドソーシングを利用して高品質なトレーニングデータを作成するモデルを微調整します。

7. AIが生成するデータの役割

過去数年間、InstructGPTその論文が発表されて以来、AIアシスタントのトレーニング方法は大きく変わりました現代では、人間のアノテーターが完全に手動で訓練データを作成する必要はなく、代わりにLLMが一部のデータを自動生成することを活用しますその後、人間がそのデータを確認し、最適化を行います

AI支援によるデータ作成

  • 過去:人間のアノテーターから書き上げる対話データを生成し、AIアシスタントの学習例を提供する。
  • 現在:LLMまず自動で回答を生成するその後、人間が行う審査と修正、効率を向上させる。

例えば、データセットUltraChatは主にAI によって生成されたしかし、人間の編集を経て品質を確保しています。この方法は訓練コストを大幅に削減し、データセットのカバレッジを広げます。

現在、これらのデータセットには何百万もの対話が含まれています。その大半は合成されたもので、一部は人間によって編集されています。非常に多様な内容を持ち、下図はSFT Mixtures(監督微調整データ混合)を示しています。監督微調整(Supervised Fine-Tuning, SFT)段階では、複数の異なるソースからのデータセットを使用してモデルを微調整し、さまざまなタスクにおけるモデルのパフォーマンスを向上させます。

8. 統計的シミュレーション と 実際の知能

AIとやり取りする際には、モデルの応答はリアルタイムの検索に基づいていません。ではなく統計的シミュレーション訓練データにおける人間のアノテーター。例えば:

  • もし質問が訓練データに含まれている場合、AIは非常に類似した答えを出力する可能性があります。
  • トレーニングデータに問題が含まれていない場合、AI は統計的なパターンに基づいて可能な答えを推測します、しかし誤差が生じる可能性があります

本質的に、ChatGPT は世界を真正に「理解」する AI ではなく、最適化された「人間のアノテーターのシミュレーター」ですそれは、これらの答えを書くために雇われる関連分野の専門家、つまり教育を受けた専門家に尋ねるのに似ています。

9. AIはどのように回答するのか

ユーザーがChatGPTに入力したとき:

パリの五大ランドマークを教えてください。

AIはリアルタイムで検索せず、以下の方法を使います:

  1. 訓練データに問題があるかどうかを確認する、あれば、類似の答えを返す可能性がある。
  2. パリに関する大量の事前学習情報と、その後の学習におけるデータセットを組み合わせる。
  3. もし問題が訓練データにない場合、統計パターンに基づいて推測
  • 高い頻度で出現するランドマークが推薦される可能性が高い(例:エッフェル塔、ルーブル美術館)。
  • 低い頻度で出現するコンテンツは無視されたり、誤った回答が返される可能性がある