Stanford CS229 Machine Learning Spring 2026 Lecture 13: LLMs and Next-Word Prediction Loss

Representation Learning and Embeddings

Representation learning(表現学習)は、画像、テキスト、音声、ビデオなどの生の入力 $x$ を、$m$ 次元のユークリッド空間におけるベクトル $v_{\theta}(x)$ に変換する写像($\theta$ によってパラメータ化される)を作成することを目的としています。一般的にembeddings(埋め込み)と呼ばれるこれらのベクトルは、類似した入力が類似した埋め込み(空間内の近い点)にマッピングされ、異なる入力は遠い埋め込みにマッピングされるように設計されています。

Embeddingsにより、ベクトル空間内のクエリ埋め込みの最近傍を見つけることで類似したアイテムを特定できるsimilarity search(類似性検索)が可能になります。以前はembeddingsは線形分類(linear probing)の入力として使用されていましたが、現代のアプリケーションではエンドツーエンドのモデルや直接的な類似性検索が好まれます。

Tuning Embeddings: Supervised vs. Unsupervised Learning

Supervised Pre-training

教師あり事前学習では、ニューラルネットワークは、離散的なクラスを予測するために、大規模なラベル付きデータセット(例:1,000のラベルを持つImageNet)でトレーニングされます。表現はpenultimate layer(最終分類ヘッドの前の最後の層)から抽出され、下流の類似性タスクのために分類ヘッドは破棄されます。

  • Limitation: この手法には、高コストで大規模なラベル付きデータセットが必要です。ラベルセットが十分に多様でない場合(例:バイナリラベルのみ)、学習された表現が他のタスクに有用なほど複雑なパターンを捉えられない可能性があります。

Contrastive Learning (Unsupervised)

Contrastive learning(対照学習)は、同じ入力の異なるバージョンを「類似している」ものとして、異なる入力を「類似していない」ものとしてモデルに認識させることで、ラベルなしで表現を学習します。

  1. Augmentation: 単一の画像 $x$ は、ランダムクロップ(最も重要)、反転、ぼかし、またはガウスノイズの追加などの手法を使用して、2つの異なるバージョン $\hat{x}$ と $\tilde{x}$ に変換されます。
  2. Objective: モデルは、同じ画像の拡張(augmentation)間の埋め込み($f_{\theta}(\hat{x})$ と $f_{\theta}(\tilde{x})$)の距離を最小化し、異なる画像の拡張($x$ と $z$)の距離を最大化するようにトレーニングされます。

Addressing False Negatives: 2つの異なる画像(例:2つの異なる猫)がネガティブペアとして扱われ、引き離されるという潜在的な問題が発生します。しかし、大規模なデータセットでは、ランダムなペアの大部分は真に非類似(例:猫と椅子)であるため、ランダムな画像を遠ざけるメリットは、類似しているが同一ではない画像を遠ざけることによる「付随的なダメージ」を上回ります。

The SimCLR Objective Function

対照学習を効率的に実装するために、SimCLRのようなバッチベースのアプローチが使用されます。このプロセスには、$B$ 個の画像のバッチをサンプリングし、各画像に対して2つの拡張を作成し、正規化された埋め込みの内積(またはコサイン類似度)に基づいて類似度行列を構築することが含まれます。

Mathematical Formulation

与えられた拡張 $\hat{x}_i$ に対して、損失関数はタスクをマルチクラス分類問題として扱います。つまり、バッチ内の他の $2B-1$ 個の埋め込みのうち、どれが対応するペア $\tilde{x}_i$ であるかを特定します。

単一の列 $i$ の損失は次のように表されます: $$\mathcal{L}_i = -\log \frac{\exp(\text{sim}(\hat{x}_i, \tilde{x}i) / \tau)}{\sum{j=1}^{2B} \exp(\text{sim}(\hat{x}_i, x_j) / \tau)}$$

  • Numerator: ポジティブペア(同じ画像の拡張)の類似度を大きくするように促します。
  • Denominator: 他のすべてのペア(ネガティブペア)の類似度を小さくするように促します。

Practical Optimizations

  • Hard Negative Mining: ランダムにサンプリングされたネガティブペアは、区別するのが簡単すぎることがよくあります。「Hard negatives」(見た目は似ているが同一ではない例。例:サッカーをしている子供の写真 vs. FIFAワールドカップに関するテキスト)を使用して、損失関数をより厳格にし、結果として得られる表現をより堅牢にします。
  • Data Source Sampling: 同じデータソース(例:同じコードベースやプログラミング言語)からバッチ $B$ をサンプリングすることで、自然に「より難しい」ネガティブペアが生成され、損失が急速に小さくなりすぎるのを防ぎます。

Semantic Search and RAG

Implementing Semantic Search

Semantic search(セマンティック検索)は、事前計算された埋め込みを利用して、クエリ $q$ に対して最も関連性の高いオブジェクトを見つけます:

  1. Indexing: すべてのドキュメント $D_1, \dots, D_n$ の埋め込みが計算され、vector databaseに保存されます。
  2. Querying: クエリ $q$ は同じモデル $f_{\theta}$ を使用して埋め込み化されます。
  3. Retrieval: システムは、$f_{\theta}(q)$ と $f_{\theta}(D_i)$ の間の内積を最大化するドキュメント $D_i$ を見つけます。

Retrieval-Augmented Generation (RAG)

RAGは、高コストなファインチューニングを必要とせずに、大規模言語モデル(LLM)に独自の、または最新の情報を提供するために使用されます。

  • Process: クエリを受け取ると、システムはセマンティック検索を使用してプライベートなコーパスから関連ドキュメントの小さなサブセットを検索します。これらのドキュメントは、プロンプト(コンテキスト)の一部としてLLMに提供され、LLMはクエリと検索されたテキストの両方に基づいて回答を生成します。
  • Advantages over Fine-Tuning:
    • Modularity: 検索システムはLLMとは独立しています。
    • Data Governance: 検索段階でアクセス制御を適用できます(例:特定のユーザーが機密メモを検索するのを防ぐ)。
    • Ease of Update: コーパスからドキュメントを削除すると、モデルの潜在的な回答から即座に削除されます。一方、ファインチューニングされたモデルから情報を「忘却」させることは、未解決の研究課題です。

Alternative Retrieval Methods

セマンティック検索が普及していますが、一部の最先端モデル(例:Anthropicのもの)は、キーワード検索のために複雑なregular expressions(正規表現)を生成するためにLLMを利用しています。これは、関数名やファイルツリーがマッチングのための厳格なパターンを提供するコードのような構造化データに対して特に効果的です。

Sources