このドキュメントでは、Gemini モデルのプリファレンス チューニング データセットを定義する方法について説明します。
プリファレンス チューニング データセットについて
プリファレンス チューニング データセットは、高評価 / 低評価、ペアワイズ、スコア付きフィードバックなどのシグナルを使用して人間の好みを把握するために作成されます。
カスタマイズされたプリファレンス チューニング データを準備する
この例では、次のようになります。
example は、入力と completions フィールドのペアで構成されます。
入力には contents と、オプションの system_instruction が含まれます。最大入力トークン数と最大出力トークン数の合計が 128,000 以下である必要があります。
contents フィールドは、教師ありファインチューニングで使用される形式と同じです。ユーザーターンで終わる必要があるマルチターンのテキストデータがサポートされています。マルチモーダル データはサポートされていません。
completions フィールドは、ペアのコンプリーションとそのスコアで構成されます。ペアには、望ましいコンプリーションと望ましくないコンプリーションが 1 つずつ必要です。
completion は、モデルのレスポンスを示す単一のモデルターンです。score フィールドは、コンプリーションが望ましいか望ましくないかを示します。有効な値は 0 と 1 のみです。0 は望ましいコンプリーション、1 は望ましくないコンプリーションを表します。
各 example の completions ターンのみトレーニングします。
Gemini のデータセットの例
{
"system_instruction": {
"parts": [
{
"text": "You are a chat bot."
}
]
},
"contents": [
{
"role": "user",
"parts": [
{
"text": "What is my favorite fruit?"
}
]
}
],
"completions": [
{
"score": 1,
"completion": {
"role": "model",
"parts": [
{
"text": "Apple! Apple! Apple!"
}
]
}
},
{
"score": 0,
"completion": {
"role": "model",
"parts": [
{
"text": "Your favorite fruit is apple."
}
]
}
}
]
}