リソース/モデルのトレーニング/チャットからトレーニング例へ

概念

ターゲット(学習可能な返答)

モデルに学習させるために選択するアシスタントの返答。ターゲットが学習される仕組み、優れたターゲットの条件、そしてターゲットより前にあるすべてのものがコンテキストである理由。

第3章読了時間 2分参考文献 4件

ターゲットとは何か

教師ありファインチューニングは例を用いて学習させます。つまり、状況を提示し、求める返答を提示します。チャットにおいて、状況とはそれまでの会話であり、返答とはアシスタントのメッセージです。学習する価値があるとマークした返答がターゲットであり、トレーニング可能な返答とも呼ばれます。ターゲットより前にあるすべてのものがそのコンテキストです。

1つのトレーニングレコード — 最後のメッセージがターゲット
{"messages": [
  {"role": "system",    "content": "You are Scalata's support assistant."},
  {"role": "user",      "content": "How do I reset my password?"},
  {"role": "assistant", "content": "Open Settings → Security and choose Reset password. You'll get an email link valid for 30 minutes."}
]}

モデルはマッピングを学習します。つまり、このシステムプロンプトとこの質問が与えられたら、この回答を生成するという対応関係です。何百ものレコードを通じて、モデルはメニューパスのスタイル、長さ、詳細度、トーンなど、回答に共通する要素を習得します。

systemあなたはScalataのサポートアシスタントです。読み取り · マスク済み
userパスワードをリセットするにはどうすればよいですか?読み取り · マスク済み
assistant設定 → セキュリティを開き、パスワードをリセットを選択します。スコア化 · 損失計上
モデルはすべてのトークンを読み取りますが、その誤差はターゲットとなる返答でのみ測定されます。コンテキストは予測を形成しますが、それ自体が評価されることはありません。

ターゲットが学習される仕組み

各ターゲットについて、モデルはコンテキストを読み取り、返答を1トークンずつ予測します。すべての位置で、次に続く可能性のあるすべてのトークンに確率を割り当てます。実際に次に続くトークンに高い確率を割り当てた場合、トレーニング誤差(交差エントロピー損失)は低くなります。その後、類似のコンテキストが次に現れたときにターゲットのトークンがより選ばれやすくなるように、重みが調整されます。コンテキストトークンは読み取られますが、スコア化はされません。Loss maskingを参照してください。

これには2つの結果が伴います。第一に、モデルはターゲットに関するすべて(事実、言い回し、長さ、誤り)を学習します。第二に、モデルは各ターゲットをそのコンテキストの中で学習します。ある質問の直後では正しい返答でも、似たような質問の後では誤りになる可能性があり、モデルはコンテキストがそれを示している場合にのみ、その違いを識別できます。

適切なターゲットの選択

  • 正確性。 誤った事実、破綻した手順、古いメニュー名も、正しいものと同様に忠実に学習されます。
  • 得られた回答ではなく、求める回答。 返答がほぼ正しい場合でも、そのままにするのではなく修正してください。
  • 自己完結性。 添付ファイルや共有画面など、モデルが認識できない情報があるからこそ意味をなす返答は、存在しないものを参照するようにモデルに教えてしまいます。
  • 一貫性。 類似の質問には類似の形式の回答を用意する必要があります。そうしないと、モデルは不一致を学習してしまいます。
  • 実際の回答。 エラーメッセージ、プラットフォームによる拒否、生成されたファイルを通知するだけの返答は、学習すべき回答ではありません。
3つの返答があるチャットでのターゲットの選択
  1. 返答1: 「こんにちは!本日はどのようなご用件でしょうか?」 — 挨拶。無害ですが、学習する価値はありません。コンテキストとして残してください。
  2. 返答2: 「設定を確認してください。」 — 曖昧です。実際の手順に修正するか、コンテキストとして残してください。
  3. 返答3: 「設定 → 通知を開き、『週次ダイジェスト』をオフにします。」 — 具体的かつ正確です。ターゲットとしてマークしてください。
  4. 結果: 1つのターゲットと、コンテキストとしての挨拶および曖昧な返答。返答2を修正した場合、それは2つ目のターゲットになり得ます。

よくある間違い

  • 挨拶や繋ぎの言葉を含め、デフォルトですべてのアシスタントの返答をターゲットとしてマークすること。
  • ほぼ正しい返答を修正せずにターゲットとして保持すること。
  • モデルが持たない添付ファイルやツールの結果に依存する返答を含めること。
  • 後で誤りであることが判明した返答でトレーニングすること。

参考文献および関連資料

外部ソースは新しいタブで開きます。

  1. 01SFT TrainerHugging Face TRL docs · huggingface.coオープンソースのトレーナーがアシスタントの返答のみをトレーニングする方法。
  2. 02Supervised fine-tuningOpenAI API docs · developers.openai.comホスト型プロバイダーによるトレーニング例の準備に関するガイダンス。
  3. 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org慎重に選択された1,000個のターゲットがもたらす効果。
  4. 04Supervised Fine-TuningHugging Face LLM Course · huggingface.coチャットデータを用いた教師ありファインチューニングの実践的なウォークスルー。

専門家が数週間かける作業を数分に短縮します

Scalataがお客様のチーム、データ、および統制にどのように適合するかをご確認ください。

営業へのお問い合わせ