ServiceNow AI 팀이 강화학습 시스템 PipelineRL을 vLLM V0에서 V1으로 마이그레이션하면서 발생한 로그 확률 불일치 문제를 분석하고 해결한 과정을 공유했다. 핵심 수정 사항은 네 가지로, 처리된 로그 확률 사용(processed_logprobs), V1 런타임 기본값 명시적 설정, 인플라이트 가중치 업데이트 경로 정렬, 그리고 fp32 lm_head 적용이다. 이 수정들로 V1의 훈련 지표(클립률, KL, 엔트로피, 보상)가 V0 참조 실행과 일치하게 되었으며, 핵심 교훈은 목적 함수 측 보정 추가 전에 추론 백엔드의 정확성을 먼저 확보해야 한다는 것이다.
- •vLLM V1은 기본적으로 온도 스케일링 등 후처리 전 원시 로그 확률을 반환하므로, RL 훈련기 호환을 위해 processed_logprobs 설정이 필수다.
- •V1의 프리픽스 캐싱과 비동기 스케줄링 같은 새 런타임 기본값이 V0과 차이를 유발하여 패리티 비교 시 명시적으로 비활성화해야 했다.
- •인플라이트 가중치 업데이트 시 mode='keep'과 clear_cache=False 옵션으로 V0의 업데이트 동작을 V1에서 재현했다.
- •훈련기와 롤아웃 백엔드 모두 fp32 lm_head를 사용해야 로그 확률의 수치적 일관성이 보장되며, 이는 정책 비율과 KL 발산에 직접 영향을 미친다.
- •추론 백엔드 정확성을 먼저 검증한 후 목적 함수 보정을 추가하는 단계적 접근이 RL 마이그레이션의 핵심 원칙이다.
vLLM V0 to V1: Correctness Before Corrections in RL
- 1.vLLM V0→V1 마이그레이션 시 RL 학습 지표(클립률·KL·엔트로피·보상) 불일치 발생, 4가지 수정으로 해결
- 2.processed_logprobs 설정으로 샘플러 분포 기반 로그확률 반환, 의미적 불일치 제거
- 3.prefix caching·async scheduling 기본값 명시 및 inflight 가중치 업데이트 경로 V0 동작에 맞춰 조정
- 4.fp32 lm_head 경로 포함 시 V1이 V0 기준 학습 곡선과 완전 수렴
왜 중요한가?
온라인 RL에서 추론 엔진의 로그확률 정확성은 정책 비율·KL·클리핑에 직접 영향을 미치므로, RL 목적함수 보정을 추가하기 전에 반드시 백엔드 정확성을 먼저 검증해야 한다는 실증적 교훈을 제공한다.
🏷️ 언급 프로젝트
전체 내용이 궁금하다면?
원문을 직접 읽어보세요