NCA(Noise Contrastive Alignment)(エヌシーエー ノイズ コントラスティブ アライメント)
コントラスティブ学習のアプローチをLLM整合に適用した手法。好ましい応答と好ましくない応答の対比学習をノイズコントラスト推定の枠組みで定式化し、参照モデルなし・安定した選好整合を実現する。
NCA(Noise Contrastive Alignment)とは
NCA(Noise Contrastive Alignment)は、自然言語処理の選好整合問題をノイズコントラスト推定(Noise Contrastive Estimation、NCE)の枠組みで定式化するLLM後処理整合手法。コントラスティブ学習が画像認識や表現学習で示した強力な性能を、LLMの指示追従・選好整合に転用する試みとして提案された。
ノイズコントラスト推定(NCE)の背景
NCEはGutmann & Hyvärinen(2010)が提案した確率モデルの学習手法で、データ分布とノイズ分布を区別する分類問題として対数尤度最大化を近似する。SimCLR・MoCo・CLIPなどのコントラスティブ学習はNCEの変形版(InfoNCEロス)を使って表現空間の構造化を行う。
NCAのLLM整合への適用
Positive/Negative の定義
NCAでは選好データを以下のようにマッピングする:
- Positive sample: chosenレスポンス(人間に好まれる応答)
- Negative sample(ノイズ): rejectedレスポンス(好まれない応答)
- クエリ: 入力プロンプト
参照モデル不要の理由
DPOが「参照モデルとの確率比」でKL制約を間接的に実現するのに対し、NCAは正負サンプル間のスコア差の最大化という構造的な学習信号を持つため、参照モデルが不要。同じデータバッチ内のnegativeが自然なコントラスト信号を提供する。
DPOとの比較
主な比較点:
- 参照モデル: DPOは必要、NCAは不要
- ロス設計: DPOはBradley-Terry対数尤度、NCAはInfoNCEコントラスティブ
- hard negative活用: DPOは限定的、NCAは自然に対応
- 複数negative: DPOは通常1ペア、NCAはバッチ内複数negative可
In-Batch Negative の活用
NCAはバッチ内の他サンプルをnegativeとして活用するin-batch negativeに対応しており、選好データの利用効率を高められる。chosenとrejectedのペアを明示的に用意しなくても良い形式的拡張も研究されている。
実験評価
LLaMA-2やMistral系モデルでの評価では、MT-Bench・AlpacaEvalにおいてDPOと同等〜微増の性能を、参照モデルなしで達成することが報告されている。特にバッチサイズが大きい場合にコントラスティブ効果が強まり性能が安定する傾向がある。
今後の展望
NCE/InfoNCEフレームワークは多数のnegativeを使えるほど識別能力が上がる特性を持つ。LLM整合においても、より多様なrejectedサンプルを活用したhard negative miningとの組み合わせが研究されており、DPOを超える整合品質の達成が期待されている。