OpenRLHF
레이와 vLLM 을 결합한 강화학습 훈련 프레임워크
pip install openrlhf사람 피드백 기반 강화학습을 대규모로 돌리는 프레임워크입니다. 분산 실행 계층과 추론 엔진을 결합하고 그 위에 에이전트 기반 실행 구조를 통일해 얹었습니다. PPO 와 REINFORCE++, GRPO, RLOO 같은 알고리즘을 제공합니다. 보상 함수를 직접 짜는 단일 회차 훈련과 복잡한 환경에서 여러 번 주고받는 다중 회차 훈련을 모두 지원합니다. 0.10 부터는 이미지를 프롬프트와 환경 응답 양쪽에 넣는 시각 언어 모델 강화학습이 들어갔습니다. 화면 캡처를 환경 응답으로 받는 식의 훈련이 가능합니다. 더 큰 규모를 겨냥한 새 백엔드가 추가되어 기존 작업 흐름 그대로 수천억 규모까지 넓힙니다.
판단
이럴 때 씁니다
- 보상 함수를 직접 정의해 모델을 다듬을 때
- 여러 회차 환경 상호작용으로 훈련할 때
- GPU 여러 대로 분산 훈련해야 할 때
이럴 땐 쓰지 마세요
- GPU 자원이 없으면 시작할 수 없습니다
- 추론만 필요하면 쓸 데가 없습니다
- 분산 구성이 복잡해 준비가 오래 걸립니다
차별점
- 분산 실행과 추론 엔진을 결합한 구조입니다.
- 여러 알고리즘을 같은 작업 흐름으로 씁니다.
- 단일 회차와 다중 회차 에이전트 훈련을 모두 지원합니다.
- 이미지를 프롬프트와 환경 응답 양쪽에 넣는 훈련이 가능합니다.
워크플로
- 01분산 환경과 추론 엔진을 준비합니다.
- 02지도 학습으로 먼저 다듬습니다.
- 03보상 모델을 만들거나 보상 함수를 정의합니다.
- 04강화학습 훈련을 돌립니다.
- 05필요하면 여러 회차 환경으로 확장합니다.
주요 명령
| 명령 | 설명 |
|---|---|
pip install openrlhf | 설치합니다. |
pip install openrlhf[vllm] | 추론 엔진을 함께 씁니다. |
함정
설치 전에 확인하세요
- 분산 실행 계층과 추론 엔진, 학습 백엔드가 각각 준비물입니다. 하나만 어긋나도 안 돕니다.
- 새 백엔드는 기존 작업 흐름을 그대로 두고 규모만 넓히는 선택지입니다. 필수가 아닙니다.
- 판마다 알고리즘 구현의 세부가 바뀝니다. 재현하려면 판을 고정해야 합니다.
- 시각 언어 모델 훈련은 0.10 부터입니다. 그 아래 판에서는 없습니다.
비교
강화학습 훈련 코드는 직접 짜면 분산과 추론 결합에서 대부분 막힙니다. 이쪽은 그 조합을 미리 맞춰 두고 알고리즘을 갈아 끼우게 합니다. 대신 자원 요구가 크고 준비 단계가 깁니다.
최근 변경
잠재 버그 두 개를 잡았습니다. 표본이 하나일 때의 방어 처리와 마스크 정규화의 형태 확장이 대상이었습니다. 다중 회차 실행기와 평가 데이터셋을 함께 쓸 수 있게 된 수정도 들어갔습니다.