Openaiの好みの微調整(PFT):LLMをユーザー設定に合わせるためのガイド
優先微調整(PFT)は、ユーザーの好みを備えた大規模な言語モデル(LLM)を調整するための強力な手法です。 OpenAIによって最近導入されたPFTは、モデル出力を形成する方法として、監視付き微調整(SFT)と補強微調整(RFT)を補完します。この記事では、PFTの簡潔な説明を提供し、Openaiの開発者ダッシュボードを使用してそのアプリケーションを実証しています。
OpenaiのPFTを理解しています
特定の入力の特定の出力の生成に焦点を当てたSFTとは異なり、PFTは、望ましくない応答を避けながら、モデルを好ましい応答に導くことを目指しています。 OpenAIのPFTのコアテクニックである直接選好最適化(DPO)は、シンプルでありながら効果的なアライメント方法です。 RLHFとは異なり、DPOは報酬モデルの複雑さをバイパスし、損失関数を直接最適化します。これにより、実装が簡素化され、計算効率が向上しますDPOデータセットは、各プロンプトのペア応答で構成されています。 OpenaiのPFTの場合、このデータセットは次の構造でJSONL形式でなければなりません。
Openaiは、SFTとPFTを組み合わせて最適なアライメントを組み合わせることをお勧めします。 通常、PFTは、教師付きデータセットに最初のSFT後に適用されます。
pft{ "input": { "messages": [ { "role": "user", "content": "Prompt text here" } ], "tools": [], "parallel_tool_calls": true }, "preferred_output": [ { "role": "assistant", "content": "Preferred response here" } ], "non_preferred_output": [ { "role": "assistant", "content": "Non-preferred response here" } ] }
優先データセットを作成するには、LLM出力のペアを生成し(例:異なる温度設定を使用する)、別のLLM(理想的にはより強力なもの)を使用して、各ペアを「優先」および「非プロファー」とラベル付けすることが含まれます。
このチュートリアルでは、簡略化されたアプローチを使用しています。既存の優先データセット(例:顔から顔から
)をダウンロードし、Pythonスクリプトを使用して最初の50行を再構築します。 このスクリプトは、OpenAIのPFTに必要なJSONL形式にデータセットを変換します。最終的なデータセットがJSONL形式であることを確認し、後続の空の行を削除することを忘れないでください。
OpenaiのPFT argilla/ultrafeedback-binarized-preferences
を実行しています
# ... (Python code to process and convert the Hugging Face dataset to OpenAI's JSONL format is omitted for brevity but described in the original article) ...
Openaiダッシュボードにアクセスします。
微調整セクションに移動して、新しい微調整ジョブを開始します。
微調整方法として「直接設定最適化」を選択します
準備されたトレーニングと検証データセット(利用可能な場合)をアップロードします。以上がOpenai'の好みの微調整:例のあるガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。