TRL과 OpenEnv를 사용하여 코딩 모델로 수채화를 그리는 방법

Hugging Face는 코딩 모델이 JavaScript 코드를 작성하여 수채화를 생성하도록 훈련하는 프로젝트의 오픈 재현본을 공개했습니다. TRL과 OpenEnv를 활용함으로써, 이 프로젝트는 강화학습(RL)이 '취향'과 미적 선호도에 적용될 수 있음을 보여주며, 모델이 통계적으로 평균적인 이미지를 넘어서 특정 예술 스타일로 나아갈 수 있음을 보여줍니다.

미적 취향에 대한 강화학습

이 프로젝트의 핵심 목표는 RL이 검증 가능한 사실이 아닌 미적 선호도를 최적화하는 데 사용될 수 있는지 여부를 판단하는 것입니다. 보상 함수는 특정 수채화 스타일로 모델을 이끄는 데 목적을 둔 네 가지 구성 요소의 가중 혼합입니다:

  • 쌍별 판정자 (60%): 시각 모델(Qwen3-VL-30B-A3B-Instruct)이 후보 그림을 수동으로 정제된 풀에서 무작위로 선택한 네 개의 참조와 비교합니다. 이는 큐레이터의 특정 취향을 반영합니다.
  • HPSv3 (30%): 일반 인구가 텍스트 설명을 기반으로 그림을 얼마나 선호할지 평가하는 오픈 소스 7B 선호 모델입니다.
  • 게이트 (5%): 스케치가 컴파일되는지, 허용된 라이브러리를 사용하는지, 실제로 색소를 생성하는지 확인하는 이진 검사이며, 예를 들어 캔버스에 텍스트를 쓰는 등의 ' cheating'을 방지합니다.
  • 길이 (5%): 더 긴 코드 스니펫으로의 부드러운 유도.

이 판정자의 영향을 테스트하기 위해 세 가지 훈련 실행이 수행되었습니다:

실행 쌍별 판정자 가중치 HPSv3 가중치 결과
judge-led 0.60 0.30 가장 다양하고 예술적으로 흥미로운 결과.
hps-led 0.30 0.60 일관된 '습식 위 습식' 느낌을 가진 설득력 있는 수채화.
hps-only 0.00 0.90 신뢰할 수 있지만 빠르게 유사한 색상과 스타일로 수렴함.

기술 환경과 제약 조건

훈련 파이프라인은 모델의 출력을 감싸고 시각적 렌더링으로 변환하는 특수한 RL 환경에 의존합니다.

p5.brush 라이브러리

기본 형태를 그리는 대신, 모델은 물리적 수채화 특성(예: 색소 퍼짐, 종이 질감, 흐름 필드)을 시뮬레이션하는 p5.brush 라이브러리를 사용합니다. 수채화의 미적 특성을 유지하기 위해 모델은 fillBleed, fillTexture, beginShape와 같은 단지 10개의 메서드만 허용되는 엄격한 허용 목록에 제한됩니다.

참조 풀

취향은 178개의 그림으로 구성된 참조 풀을 통해 정의되며, loveokay 두 수준으로 나뉩니다. 이 이미들은 네 개의 오픈 웨이트 모델(GLM-5.2, Kimi-K3, Qwen3-Coder-Next, Qwen3.5-122B-A10B)에 의해 생성되었으며, 시각적 비평가를 통해 보정된 후 수동 평가되었습니다. 훈련 중에 쌍별 판정자는 두 수준에서 참조를 추출하여, 정책 개발의 초기 약한 단계에서도 모델이 신호를 받을 수 있도록 합니다.

훈련 구현 및 최적화

이 프로젝트는 TRL의 GRPOTrainerQwen/Qwen3.5-35B-A3B 모델을 사용했습니다. 학습을 가능하게 하기 위해 몇 가지 핵심 구성 변경이 필요했습니다:

  • 학습률: 2e-5에서 5e-5로 증가.
  • 스케줄러: linear에서 constant_with_warmup으로 변경하여 학습률이 너무 일찍 감소하는 것을 방지.
  • 보상 스케일링: scale_rewardsnone으로 설정하여 단일 게이트 거부가 전체 그룹의 이점을 축소하는 것을 방지.
  • LoRA 대상 모듈: all-linear로 변경하여 어댑터가 MoE 아키텍처의 모든 선형 계층에 도달하도록 보장.

주요 발견 및 학습 결과

분포 이동

모든 실행에서 모델은 먼저 '나쁜' 그림(거의 흰 캔버스나 형태 없는 물감 흐름)을 제거하는 것을 배웠습니다. hps-only 실행에서는 개선이 주로 분포의 중앙값에서 발생했습니다. 그러나 judge-ledhps-led 실행에서는 상위 품질도 증가했으며, 모델이 큐레이션된 풀의 스타일을 따라가도록 보상받음에 따라 물감 커버리지가 두 배로 증가했습니다.

제약 조건 vs. 보상

모델은 보상과 관련이 없는 시스템 프롬프트의 명시적 지시를 무시하는 것을 배웠습니다. 예를 들어, 1530개의 채워진 형태를 생성하라는 요청은 보상과 상관이 없기 때문에 무시되었으며, 대신 79개의 형태를 생성하는 데 초점을 맞추었습니다.

인프라 및 비용

이 파이프라인은 Hugging Face에서 엔드 투 엔드로 호스팅되며, 훈련에는 HF Jobs, RL 환경과 HPSv3 스코어러에는 Spaces, 쌍별 판정자에는 Inference Providers를 사용합니다.

  • 계산: 110단계의 단일 실행은 하나의 H200 GPU에서 약 34시간이 소요되었습니다.
  • 병목 현상: 렌더링이 주요 시간 소모 요소로, 헤드리스 Chromium이 CPU 기반 Spaces에서 WEBGL 캔버스를 소프트웨어로 렌더링하기 때문에 단계 시간의 70~80%를 차지합니다.

미래 방향성

저자는 향후 반복에서 가능한 개선점을 몇 가지 제시합니다:

  • 다단계 피드백: 모델이 자신의 그림을 보고 개선할 수 있는 루프를 구현하는 것. 참조 풀이 생성된 방식과 유사합니다.
  • 모델 확장: 초기 실험 결과에 따르면, 더 작은 모델(예: 4B)도 유효한 스케치를 생성할 수 있으므로, 이를 테스트하는 것.
  • SFT 사전 훈련: RL을 시작하기 전에 풀 소스에 대해 감독형 미세조정(SFT)을 수행하는 것.

Sources