Transformerを基盤とする大規模言語モデルの代表であるBERTとGPT系列を学ぶ項目です。両者の事前学習タスクの違いと、ファインチューニングからプロンプトベースの利用への流れが理解の中心になります。

📖 概要

大規模言語モデル(LLM)は、大量のテキストコーパスから言語の統計的な性質を学習した、Transformerベースの巨大なニューラルネットワークです。その学習は、ラベルなしテキストから汎用的な言語表現を獲得する事前学習と、獲得した表現を個別タスクに適応させるファインチューニングの2段階で構成されるのが基本です。テキスト自身から教師信号を作るため、人手のラベル付けなしに膨大なデータで学習できる点が本質です。

BERTはTransformerのエンコーダを積み重ねたモデルで、文中の単語を隠して当てるMasked Language Modeling(MLM)と、2つの文が連続しているかを判定するNext Sentence Prediction(NSP)という2つのタスクで事前学習します。双方向の文脈を同時に参照できるため、文分類や質問応答などの理解系タスクに強みがあります。

一方GPT系列はTransformerのデコーダ型のモデルで、直前までの文脈から次のトークンを予測するNext token predictionで事前学習します。GPT系列の発展の中で、モデルを大規模化するとファインチューニングなしでもプロンプト(指示文)の与え方だけで多様なタスクをこなせることが示され、Zero Shot learningFew Shot learningPrompt Based Learningという利用形態が広がりました。こうした広範なタスクの土台となるモデルは基盤モデルと呼ばれます。さらに、外部知識を検索して回答に活用するRAGのような拡張手法も実用上重要になっています。

🔍 キーワード解説

BERTの事前学習: MLMとNSP

Masked Language Modeling(MLM)は、入力文のトークンの一部(BERTでは15%程度)をマスクし、前後両方向の文脈からマスクされた元のトークンを予測させるタスクです。左から右への一方向の言語モデルと異なり、双方向の文脈を同時に使った表現が学べます。Next Sentence Prediction(NSP)は、文Aと文Bのペアを入力し、Bが実際にAの次の文か、それとも無関係な文かを2値分類するタスクで、文間関係の理解を促す目的で導入されました。

事前学習とファインチューニング

事前学習は、ラベルなしの大規模コーパスを使い、MLMやNext token predictionのような自己教師ありタスクで汎用的な言語知識をモデルに獲得させる段階です。ファインチューニングは、事前学習済みモデルのパラメータを初期値として、感情分析や質問応答など個別タスクのラベル付きデータで追加学習する段階です。少量のタスクデータでも高い性能が得られることが、この2段階方式の大きな利点です。

BERTの入力表現: positional embeddingsとsegment embeddings

BERTの入力は、トークン自体の埋め込みに加えて2種類の埋め込みを足し合わせて作られます。positional embeddingsは、Transformerが語順を直接扱えないため、系列内の位置情報を与える埋め込みです(BERTでは学習によって獲得します)。segment embeddingsは、文ペアを入力する際に各トークンが文Aと文Bのどちらに属するかを示す埋め込みで、NSPのような文ペアタスクに必要な区別を与えます。

GPT系列: Next token predictionと基盤モデル

Next token predictionは、それまでの系列を条件として次のトークンの確率分布を予測する自己回帰的な学習タスクで、GPT系列の事前学習そのものです。この単純なタスクを超大規模なデータとモデルで学習すると、文章生成にとどまらず翻訳・要約・質問応答など幅広い能力が創発的に得られることが示されました。このように、大規模データで事前学習され、さまざまな下流タスクの共通基盤として適応・利用できるモデルを基盤モデル(Foundation Model)と呼びます。

プロンプトによる利用: Zero Shot・Few Shot・Prompt Based Learning

Zero Shot learningは、タスクの例示を一切与えず指示文だけでタスクを解かせる方法、Few Shot learningは、プロンプト内に少数の入出力例を示してからタスクを解かせる方法です。いずれもパラメータの更新(勾配による学習)を行わず、文脈内の情報だけでタスクに適応させる点が特徴です。このように、モデルの重みを変えずにプロンプトの設計によってタスクを解かせるパラダイムをPrompt Based Learningと呼び、タスクごとにファインチューニングする従来方式と対比されます。

RAG

RAG(Retrieval-Augmented Generation、検索拡張生成)は、質問に関連する文書を外部の知識源(文書データベースなど)から検索し、それをプロンプトに含めてLLMに回答を生成させる枠組みです。モデルのパラメータに記憶されていない最新情報や社内文書などを回答に反映でき、事実に基づかない生成(ハルシネーション)の抑制にも役立つとされます。モデル本体を再学習せずに知識を更新できる点が実用上の利点です。

📝 試験でのポイント

💡 ポイント
  • BERT(エンコーダ型・MLM+NSP・双方向)とGPT(デコーダ型・Next token prediction・自己回帰)の対比が最頻出です
  • BERTの入力が「トークン埋め込み+segment embeddings+positional embeddings」の和で構成されることを押さえましょう
  • Zero Shot / Few Shotの違い(例示の有無)と、どちらもパラメータ更新を伴わない点がファインチューニングとの決定的な違いです
  • RAGの流れ(検索→プロンプトに文脈として付与→生成)と利点(知識の更新性、根拠の提示)を説明できるようにしましょう
  • 「事前学習は自己教師あり(ラベル不要)」という位置づけは、学習方法の分類問題とも関連して問われます

📚 まとめ

LLMは、事前学習とファインチューニングという2段階の枠組みで発展してきました。BERTはMLMとNSPによる双方向エンコーダ、GPTはNext token predictionによる自己回帰デコーダという対照的な設計です。モデルの大規模化に伴い、Zero Shot・Few ShotなどのPrompt Based Learningやそれを支える基盤モデルという概念、外部知識を活用するRAGが登場し、利用の形が大きく広がっています。