Reasoning Gym: 절차적 추론(procedural resoning) 데이터셋 생성기

Reasoning Gym 소개

‘Reasoning Gym’은 커뮤니티 주도로 만들어진 파이썬 기반 라이브러리로, 절차적으로 생성된 데이터셋과 알고리즘적으로 검증 가능한 추론 환경을 제공합니다. 이를 통해 강화 학습(Reinforcement Learning)을 활용하여 추론 모델을 훈련시킬 수 있습니다. 이 라이브러리는 대수학, 산수, 계산, 인지, 기하학, 그래프 이론, 논리 등 다양한 분야에서 80개 이상의 과제를 포함하고 있으며, 일부 과제는 단일 정답을 가지지만, 루빅스 큐브(Rubik's Cube)카운트다운(Countdown)과 같은 과제는 여러 정답이 존재합니다. 각 과제는 표준 인터페이스를 통해 솔루션을 검증할 수 있도록 설계되었습니다.

기존의 데이터셋은 고정된 문제와 정답을 제공하는 반면, ‘Reasoning Gym’은 절차적 생성 방식을 통해 무한에 가까운 다양한 문제를 생성할 수 있습니다. 이는 모델이 다양한 상황에서 추론 능력을 향상시키는 데 큰 도움이 됩니다.

Reasoning Gym의 주요 특징

  • 다양한 과제 제공: 대수학, 산수, 계산 등 다양한 분야의 80개 이상의 과제를 포함하고 있습니다.

  • 절차적 데이터셋 생성: 무한에 가까운 다양한 난이도의 데이터셋을 생성할 수 있습니다.

  • 알고리즘적 검증: 각 과제는 표준 인터페이스를 통해 솔루션을 검증할 수 있도록 설계되었습니다.

설치 및 사용 방법

‘Reasoning Gym’은 파이썬 3.11 이상의 버전을 필요로 합니다. 설치는 PyPI를 통해 간단하게 진행할 수 있습니다:

pip install reasoning-gym

설치 후, 다음과 같이 ‘leg_counting’ 데이터셋을 생성하고 사용할 수 있습니다:

import reasoning_gym
data = reasoning_gym.create_dataset('leg_counting', size=10, seed=42)
for i, x in enumerate(data):
    print(f'{i}: q="{x["question"]}", a="{x["answer"]}"')
    print('metadata:', x['metadata'])
    assert data.score_answer(answer=x['answer'], entry=x) == 1.0

이 코드는 다양한 동물의 다리 수를 계산하는 문제를 생성하고, 각 문제에 대한 정답을 검증합니다.

Reasoning Gym에 포함된 다양한 데이터셋에 대해서는 :framed_picture: Dataset Gallery를 참고해주세요!

라이선스

Reasoning Gym 프로젝트는 Apache-2.0 라이선스로 공개 및 배포되고 있습니다.

:github: Reasoning Gym 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: