RLHF のためのデータ準備

人間のフィードバックによる強化学習(RLHF)

Mina Parham

AI Engineer

選好データセット vs. プロンプトデータセット

RLHF の全体プロセス。

人間のフィードバックによる強化学習(RLHF)

選好データセット vs. プロンプトデータセット

初期プロンプトデータセットを含む RLHF の全体プロセス。

人間のフィードバックによる強化学習(RLHF)

選好データセット vs. プロンプトデータセット

初期プロンプトデータセットと、報酬モデルに入力される選好データセットを含む RLHF の全体プロセス。

人間のフィードバックによる強化学習(RLHF)

プロンプトデータセット

  • モデルへの質問
  • Hugging Face のデータセットで見つけられます
prompt_data = load_dataset("center-for-humans-and-machines/rlhf-hackathon-prompts", 
                           split="train")
prompt_data['prompt'][0]
'How important is climate change?'
  • プロンプトの抽出が必要な場合があります
  • Input=、{{Text}}:、###Human: のようなマーカーを探します
人間のフィードバックによる強化学習(RLHF)

選好データセットを調べる

from datasets import load_dataset
preference_data = load_dataset("qgallouedec/hh-rlhf-helpful-base-trl-style", 
                               split="train")
人間のフィードバックによる強化学習(RLHF)

選好データセットを処理する

def extract_prompt(text):
    # Extract the prompt as the first element in the list
    prompt = text[0]["content"]
    return prompt
# Apply the extraction function to the dataset
preference_data_with_prompt = preference_data.map(
    lambda example: {**example, 'prompt': extract_prompt(example['chosen'])}
)
  • プロンプトの抽出方法は、データセットごとに異なります
人間のフィードバックによる強化学習(RLHF)

最終的な選好データセット

sample = preference_data_with_prompt.select(range(1))
sample['prompt']
'What vitamins are essential for the body to function?'
sample['chosen']
[ { "content": "What vitamins are essential for the body to function?", "role": 
   "user" }, { "content": "There are some very important vitamins that ensure the 
   proper functioning of the body, including Vitamins A, C, D, E, and K along ...}]
人間のフィードバックによる強化学習(RLHF)

練習しましょう!

人間のフィードバックによる強化学習(RLHF)

Preparing Video For Download...