翻訳者|朱 仙中 レビュー | Chonglou 導入通常、事前トレーニング済みの大規模言語モデル (LLM) では、次のトークンの予測しか実行できないため、質問に答えることができません。これは、これらの基本モデルが最終的に本当に役立つ人工アシスタントとして機能する前に、指示と回答のペアに基づいてさらに微調整する必要がある理由を説明しています。しかし、このプロセスにはまだ欠陥がある可能性があり、LLM を微調整すると偏った出力や有害な出力が生成される可能性があります。ここで、人間からのフィードバックによる強化学習( RLHF )が役立ちます。 具体的には、 RLHFはLLM に対してさまざまな回答を提供でき、それらは望ましい動作 (有益、有害など)に応じてランク付けされます。モデルはこれらの候補から最適な回答を出力するように学習し、それによって私たちが「植え付けたい」行動を模倣します。このプロセスは、モデルを監査する方法としてよく見られ、最近ではモデルneural - chat - 7b- v3-1などのモデルのパフォーマンスを効果的に向上できることから人気が高まっています。 この記事では、 RLHF のような手法である Direct Preference Optimization (DPO) を使用してモデルOpenHermes-2.5 を微調整し、 NeuralHermes-2.5を作成します。これを実現するために、好みのデータセットを導入し、DPO アルゴリズムの仕組みを説明し、それをモデルに適用します。オープンソースLLM リーダーボード上のベースモデルのパフォーマンスが大幅に向上することがわかります。 いつものように、この記事のサンプルプロジェクトのコードはGitHubとGoogle Colabで入手できます。 嗜好データセット嗜好データセットは標準化されていませんが、通常は人間がランク付けした一連の回答で構成されます。 RLHF プロセスは LLM を微調整して優先回答を出力するため、このソートは不可欠です。以下は、人気のある嗜好データセット Anthropic/hh-rlhfからの例です。 著者提供の画像 データセットの構造が単純であることは簡単にわかります。各行には、選択された(優先される)回答と拒否された回答があります。 RLHF の目標は、モデルが推奨される回答を出力するように導くことです。 嗜好データセットは、人間からの手動フィードバックを収集する必要があるため、作成が非常に高価で困難であることが知られています。このフィードバックも主観的なものであり、自信のある(しかし間違った)回答に偏ったり、矛盾が生じたり(注釈者によって値が異なります)する可能性があります。業界では、時間の経過とともに、人間によるフィードバックを人工知能によるフィードバック (RLAIF) に置き換えるなど、これらの問題に対処するためのいくつかのソリューションを提案してきました。 一方、これらのデータセットは、微調整データセットよりもはるかに小さくなる傾向があります。これを文脈に当てはめると、優れたneural-chat-7b-v3–1モデル(リリース時点でOpen LLMリーダーボードで最高の 7B パラメータLLM )は、微調整に518kサンプルを使用しますが (Open Orca/SlimOrca)、RLHF (Intel/Orca_dpo_pars) は 12.9k サンプルしか使用しません。この場合、著者らはGPT-4/3.5を使用して回答を生成し、優先回答を作成し、 Llama-2-13b-chatを使用して拒否回答を生成しました。これは、人間からのフィードバックを回避し、さまざまなパフォーマンス レベルのモデルのみに依存する賢い方法です。 直接的な嗜好最適化RLHF の概念はロボット工学で長い間使用されてきましたが、 OpenAI の論文「人間の好みから言語モデルを微調整する」でLLM に一般化されました。本論文では、報酬モデルをトレーニングして人間のフィードバックを近似できるようにするフレームワークを提案しています。この報酬モデルは、近似ポリシー最適化 (PPO )アルゴリズムを使用して、微調整されたモデルのポリシーを最適化するために使用されます。 著者提供の画像 PPO の中心的な概念は、ポリシーを少しずつ更新することを中心に展開されます。大規模な更新は、不安定なソリューションや最適ではないソリューションにつながる可能性があるためです。経験的には、残念ながらこの手法はまだ不安定(損失の発散)で、再現が難しく(ハイパーパラメータの数が多く、ランダムシードに敏感)、計算コストも高くなります。 ここで、直接選好最適化 (DPO) が役立ちます。 DPO は、タスクを分類問題として扱うことで制御を簡素化します。具体的には、トレーニング済みモデル (またはポリシー モデル) と参照モデルと呼ばれるコピーの 2 つのモデルを使用します。トレーニング中の目標は、トレーニングされたモデルが参照モデルよりも高い確率で優先回答を出力するようにすることです。逆に、回答を拒否する確率を低く出力することも望んでいます。これは、LLM に対して、悪い回答に対してはペナルティを与え、良い回答に対しては報酬を与えることを意味します。 著者提供の画像 DPO は、LLM 自体を報酬モデルとして使用し、バイナリ クロスエントロピー目標を採用することで、広範なサンプリング、報酬モデルのフィッティング、複雑なハイパーパラメータの調整を必要とせずに、モデルの出力を人間の好みに効果的に合わせます。そうすることで、より安定した、効率的で、計算負荷の少ないプロセスが実現します。 データのフォーマットこの例では、教師あり学習のみで微調整された Mistral- 7Bモデルである優れたOpenHermes -2.5-Mistral- 7B モデルを微調整します。これを実現するために、 Intel/orca_dpo_paries データセットを使用してモデルを調整し、パフォーマンスを向上させます。このモデルをNeuralHermes-2.5-Mistral-7Bと呼びます。 具体的には、これを実現するための最初のステップは、次のように必要なライブラリをインストールすることです。 それが完了したら、ライブラリのインポートに進むことができます。また、 Google Colabのシークレットタブを使用して、Hugging Face のロゴ情報を保存しました。 OpenHermes-2.5-Mistral-7B はChatMLと呼ばれる特定のチャット テンプレートを使用します。このテンプレートを使用してフォーマットされた会話の例を次に示します。 ご覧のとおり、ChatML はさまざまなロール (システム、ユーザー、アシスタント) を定義し、それらを区別するために特別なマーカー(<|im_start|> と <|im_end|>) を追加します。さらに、DPOTrainer では、 prompt 、 choice 、およびdeclinedの 3 つの列を含む特定の形式が必要です。 データセットには、 system 、 question 、 chatgpt 、 llama2–13b - chatの4 つの列が含まれています。システム列と質問列をプロンプト列に連結するだけです。また、chatgpt列を「chosen 」列にマッピングし、 llama2–13b-chatを「 rejected 」列にマッピングします。データセットを信頼性の高い方法でフォーマットするには、すでに ChatML を使用しているトークナイザーのapply_chat_template ()関数を使用します。 ここで、フォーマットされたデータセットの例を印刷して、すべてが正しく動作していることを確認しましょう。 プロンプトはシステム指示とユーザー指示の組み合わせであることがわかります。 add_generation_prompt=True パラメータのおかげで、アシスタントの回答の冒頭も追加されていることに気づくでしょう。この手順をスキップする場合は、前処理済みのデータセットをmlabonne/chatml_dpo_pairsとして直接使用できます。 DPOを使用してモデルをトレーニングする次に、モデルをトレーニングするための LoRA 構成を定義します。 Intel のブログ投稿で説明されているように、ランク値を lora_lfa と等しく設定しましたが、これは珍しいことです (一般的な経験則は2*rです)。アダプタ付きのすべてのリニア モジュールも考慮する必要があります。 これで、 DPO を使用して微調整するモデルをロードする準備が整いました。この場合、微調整するモデルと参照モデルの 2 つのモデルが必要です。これは主に読みやすさのためです。DPOTrainer オブジェクトは、参照モデルが提供されていない場合は自動的に参照モデルを作成します。 最後のステップは、すべてのハイパーパラメータを TrainingArguments と DPOTrainer に提供することです。
これでモデルのトレーニングを開始できます。 A100 GPU が必要であり、トレーニングには約1 時間かかることに注意してください。 モデルは微調整されました。このプロジェクトの重みとバイアスは、 https://wandb.ai/mlabonne/NeuralHermes-2-5-Mistral-7B/runs/axe71gr0?workspace=user- mlabonne で確認できます。分析する上で興味深い指標をいくつか紹介します。 著者提供の画像 興味深いことに、 100 の「ウォームアップ」ステップを使用しているにもかかわらず、トレーニング損失はすぐにゼロに低下します (50 ステップ前)。一方、他の指標も進化しています。 上の図では、 train/rewards/chosenとtrain/rewards/rejected のプロットは、トレーニング済みモデルと参照モデルによって出力された対数確率の平均差に対応しています。時間の経過とともに、トレーニングされたモデルが優先される回答を学習するにつれて、それらの回答が分岐していくのは当然のことです。さらに、トレーニング/報酬/マージン プロットには、2 つのプロットの差も表示されます。最後に、トレーニング/報酬/精度のプロットは、優先回答が選択された頻度を示します。トレーニングされたモデルはすぐに完璧な精度スコアに到達しました。これは良い兆候ですが、優先回答と拒否回答の差が大きすぎることを意味する可能性もあります。 トレーニングが完了したので、アダプターを元のモデルとマージできます。次に、マージされたモデルとトークナイザーを保存し、Hugging Face ハブにプッシュします。 それでは、実際のテストでモデルがどのように機能するかを見てみましょう。基本的な質問をするようにプロンプトをフォーマットします: 「大規模言語モデルとは何ですか? 」 モデルによって与えられた回答は次のとおりです。 対応する中国語の意味は次のとおりです。「大規模言語モデルは、大量のテキスト データでトレーニングされた人工知能システムです。これらのモデルは、人間の言語を理解して生成するように設計されており、テキスト生成、言語翻訳、質問への回答など、さまざまな自然言語処理タスクを実行できます。大規模言語モデルは通常、リカレント ニューラル ネットワーク (RNN) やトランスフォーマーなどのディープラーニング技術を使用して、データ内のパターンと関係性を学習し、一貫性があり文脈に適した応答を生成できるようにします。これらのモデルのサイズ (パラメーターの数とトレーニングされるデータの量) は、複雑な言語構造を理解して生成する能力に重要な役割を果たします。」 すべてがうまく機能しているようで、結合モデルを評価できるようになりました。これは一般的なモデルなので、 lm 評価ツールを使用して評価できます。このプロセスはリソースを大量に消費するため、評価のためにOpen LLM ランキングWeb サイトに直接送信することもできます。このプロセスには数日かかる場合がありますが、他の OpenHermesモデルと比較すると次のようになります。 著者提供の画像 NeuralHermes-2–5-Mistral-7B モデルは、元のモデルと比較して平均 6.7 ポイントのスコア向上を達成しました(特に GSM8K の場合)。これは予想外に大きな改善であり、直接的な好みの最適化の威力を実証しています。 結論は本稿では、DPO を使用して教師あり微調整モデルを微調整し、独自のNeuralHermes-2.5 モデルを作成します。高品質の嗜好データセットを活用することで、サンプル効率の高い微調整スキームを開発し、 Open LLM リーダーボードで大幅な改善を実現しました。試してみたい場合は、このモデルの量子化されたバリアントを探すか、 Hugging Face Spaceで実験してみてください。 最後に、私たちの微調整スキームはさまざまな方法でさらに改善できることに注意してください。たとえば、使用されている嗜好データセットはまだかなり未加工であり、フィルタリングをさらに行ったり、異なるモデルを使用したりすることで改善できる可能性があります。さらに、多くのハイパーパラメータを調整することで、より良い結果を得ることができます。特に、より多くのステップでモデルをトレーニングし、より多くの好みデータを注入するために、学習率を下げることもできます。 参考文献
翻訳者紹介Zhu Xianzhong 氏は、51CTO のコミュニティ エディターであり、51CTO の専門ブロガー兼講師であり、濰坊の大学のコンピューター教師であり、フリーランス プログラミング コミュニティのベテランです。 原題:直接選好最適化によるミストラル 7b モデルの微調整、著者: Maxime Labonne |
<<: 世界最強のモデルが一夜にして手を変え、GPT-4 の時代は終わりました。クロード3号はGPT-5を上回り、1万語の論文を3秒で読み、理解力は人間に近い。
>>: Sora では 1 分間のビデオを生成するのに 1 時間以上かかります。これによりユーザー エクスペリエンスにどのような変化がもたらされるのでしょうか?
論文アドレス: https://arxiv.org/pdf/2310.08579.pdf Githu...
編集者 | Yifeng制作:51CTO テクノロジースタック(WeChat ID:blog) Or...
人工知能が本格的に普及しつつあります。AIの知識を学ばなければ、自分が新時代の後継者だと言えるでしょ...
著者 |張開峰ソフトウェア業界は長い間、コスト削減と効率性向上に取り組んできました。長期にわたる開発...
新たな科学技術革命と産業変革が起こりつつあり、デジタル技術とインテリジェント技術は我が国のサービス産...
数学の巨匠、テレンス・タオ氏は、論文執筆ツールがついにアップグレードされたと投稿しました。以前は T...
機械学習はデータ内のパターンを使用して物事にラベルを付けます。魔法のように聞こえますが、核となる概念...
[[407014]]デジタル ホログラフィーは、生物医学イメージングでよく使用される顕微鏡技術です。...
生成的敵対的ネットワーク (GAN) は、人工知能の分野で強力なツールとなり、イノベーションと研究の...