시작하기무료로 시작하기

선호도 데이터셋 준비하기

이번 연습에서는 "chosen"과 "rejected" 형태의 출력으로 구성된 사람의 피드백이 담긴 데이터셋을 다뤄봅니다. "chosen" 열에서 프롬프트를 추출하고, 보상 모델(reward model) 학습을 위한 데이터를 준비하는 것이 이번 과제입니다.

datasets의 load_dataset 함수는 미리 임포트되어 있습니다.

이 연습은 강의의 일부입니다

Reinforcement Learning from Human Feedback (RLHF)

강의 보기

연습 안내

  • Hugging Face에서 qgallouedec/hh-rlhf-helpful-base-trl-style 데이터셋을 불러오세요.
  • 'content' 필드에서 프롬프트를 추출하는 함수를 작성하세요. 이때 프롬프트는 함수 입력값의 0 인덱스에 있다고 가정합니다.
  • 프롬프트를 추출하는 함수를 'chosen' 데이터셋 서브셋에 적용하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Load the dataset
preference_data = ____

# Define a function to extract the prompt
def extract_prompt(text):
    ____
    return prompt

# Apply the function to the dataset 
preference_data_with_prompt = ____(
    lambda sample: {**sample, 'prompt': ____(sample['chosen'])}
)

sample = preference_data_with_prompt.select(range(1))
print(sample['prompt'])
코드 편집 및 실행