次の方法で共有


直接優先設定の最適化 (プレビュー)

直接選好最適化 (DPO) は、大規模言語モデル用の調整手法であり、人間の嗜好に基づいてモデルの重みを調整するために使用されます。 これは、報酬モデルの適合を必要とせず、トレーニングに単純なバイナリ データの選好を使用するという点で、人間のフィードバックによる強化学習 (RLHF) とは異なります。 RLHF よりも計算量が少なく高速でありながら、調整においては同等の効果があります。

DPO が有用な理由

DPO は、明確な正解が存在せず、トーンやスタイル、特定のコンテンツの嗜好といった主観的な要素が重要なシナリオで特に役立ちます。 このアプローチにより、モデルは肯定的な例 (正しいか理想的と考えられるもの) と否定的な例 (望ましくないか間違っているもの) の両方から学習することもできます。

DPO は、顧客が高品質のトレーニング データ セットを生成しやすくする手法であると考えられています。 多くの顧客は、教師あり微調整に十分な大規模データ セットを生成するのに苦労していますが、ユーザー ログ、A/B テスト、または小規模な手動注釈作業に基づいて、選好データが既に収集されている場合がよくあります。

直接選好の最適化データセット形式

直接選好の最適化ファイルの形式は、教師あり微調整のものとは異なります。 顧客は、システム メッセージと初期ユーザー メッセージを含む "会話" を提供し、その後、ペアになった選好データを含む "入力候補" を提供します。 ユーザーが提供できるのは 2 つの入力候補のみです。

3 つの上位フィールド: inputpreferred_outputnon_preferred_output

  • preferred_output、non_preferred_output の各要素には、少なくとも 1 つのアシスタント メッセージが含まれている必要があります
  • preferred_output、non_preferred_output の各要素は、(assistant、tool) のロールのみを持つことができます
{  
  "input": {  
    "messages": {"role": "system", "content": ...},  
    "tools": [...],  
    "parallel_tool_calls": true  
  },  
  "preferred_output": [{"role": "assistant", "content": ...}],  
  "non_preferred_output": [{"role": "assistant", "content": ...}]  
}  

トレーニング データセットは jsonl 形式である必要があります。

{{"input": {"messages": [{"role": "system", "content": "You are a chatbot assistant. Given a user question with multiple choice answers, provide the correct answer."}, {"role": "user", "content": "Question: Janette conducts an investigation to see which foods make her feel more fatigued. She eats one of four different foods each day at the same time for four days and then records how she feels. She asks her friend Carmen to do the same investigation to see if she gets similar results. Which would make the investigation most difficult to replicate? Answer choices: A: measuring the amount of fatigue, B: making sure the same foods are eaten, C: recording observations in the same chart, D: making sure the foods are at the same temperature"}]}, "preferred_output": [{"role": "assistant", "content": "A: Measuring The Amount Of Fatigue"}], "non_preferred_output": [{"role": "assistant", "content": "D: making sure the foods are at the same temperature"}]}
}

直接選好の最適化モデルのサポート

  • gpt-4o-2024-08-06gpt-4.1-2025-04-14gpt-4.1-mini-2025-04-14 では、それぞれの微調整リージョンでの直接優先設定の最適化がサポートされています。 モデルのページで、最新の利用可能なリージョンが更新されます

ユーザーは、サポートされているモデルやバージョンである限り、基本モデルだけでなく、教師あり微調整を使用して既に微調整されているモデルでも、選好の微調整を利用できます。

直接選好の最適化微調整を使用する方法

選好の最適化微調整手順の GIF。

  1. jsonl のデータセットを選好の形式で用意します。
  2. モデルを選択し、カスタマイズ方法 [直接選好の最適化] を選択します。
  3. データセット - トレーニングと検証をアップロードします。 必要に応じてプレビューします。
  4. ハイパーパラメーターを選択します。最初の実験には既定値をお勧めします。
  5. 選択内容を確認し、微調整ジョブを作成します。

次のステップ