OpenRLHF

레이와 vLLM 을 결합한 강화학습 훈련 프레임워크

pip install openrlhf

사람 피드백 기반 강화학습을 대규모로 돌리는 프레임워크입니다. 분산 실행 계층과 추론 엔진을 결합하고 그 위에 에이전트 기반 실행 구조를 통일해 얹었습니다. PPO 와 REINFORCE++, GRPO, RLOO 같은 알고리즘을 제공합니다. 보상 함수를 직접 짜는 단일 회차 훈련과 복잡한 환경에서 여러 번 주고받는 다중 회차 훈련을 모두 지원합니다. 0.10 부터는 이미지를 프롬프트와 환경 응답 양쪽에 넣는 시각 언어 모델 강화학습이 들어갔습니다. 화면 캡처를 환경 응답으로 받는 식의 훈련이 가능합니다. 더 큰 규모를 겨냥한 새 백엔드가 추가되어 기존 작업 흐름 그대로 수천억 규모까지 넓힙니다.

판단

이럴 때 씁니다

  • 보상 함수를 직접 정의해 모델을 다듬을 때
  • 여러 회차 환경 상호작용으로 훈련할 때
  • GPU 여러 대로 분산 훈련해야 할 때

이럴 땐 쓰지 마세요

  • GPU 자원이 없으면 시작할 수 없습니다
  • 추론만 필요하면 쓸 데가 없습니다
  • 분산 구성이 복잡해 준비가 오래 걸립니다

차별점

  • 분산 실행과 추론 엔진을 결합한 구조입니다.
  • 여러 알고리즘을 같은 작업 흐름으로 씁니다.
  • 단일 회차와 다중 회차 에이전트 훈련을 모두 지원합니다.
  • 이미지를 프롬프트와 환경 응답 양쪽에 넣는 훈련이 가능합니다.

워크플로

  1. 01분산 환경과 추론 엔진을 준비합니다.
  2. 02지도 학습으로 먼저 다듬습니다.
  3. 03보상 모델을 만들거나 보상 함수를 정의합니다.
  4. 04강화학습 훈련을 돌립니다.
  5. 05필요하면 여러 회차 환경으로 확장합니다.

주요 명령

명령설명
pip install openrlhf설치합니다.
pip install openrlhf[vllm]추론 엔진을 함께 씁니다.

함정

설치 전에 확인하세요

  • 분산 실행 계층과 추론 엔진, 학습 백엔드가 각각 준비물입니다. 하나만 어긋나도 안 돕니다.
  • 새 백엔드는 기존 작업 흐름을 그대로 두고 규모만 넓히는 선택지입니다. 필수가 아닙니다.
  • 판마다 알고리즘 구현의 세부가 바뀝니다. 재현하려면 판을 고정해야 합니다.
  • 시각 언어 모델 훈련은 0.10 부터입니다. 그 아래 판에서는 없습니다.

비교

강화학습 훈련 코드는 직접 짜면 분산과 추론 결합에서 대부분 막힙니다. 이쪽은 그 조합을 미리 맞춰 두고 알고리즘을 갈아 끼우게 합니다. 대신 자원 요구가 크고 준비 단계가 깁니다.

최근 변경

잠재 버그 두 개를 잡았습니다. 표본이 하나일 때의 방어 처리와 마스크 정규화의 형태 확장이 대상이었습니다. 다중 회차 실행기와 평가 데이터셋을 함께 쓸 수 있게 된 수정도 들어갔습니다.