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개의 그림으로 구성된 참조 풀을 통해 정의되며, love와 okay 두 수준으로 나뉩니다. 이 이미들은 네 개의 오픈 웨이트 모델(GLM-5.2, Kimi-K3, Qwen3-Coder-Next, Qwen3.5-122B-A10B)에 의해 생성되었으며, 시각적 비평가를 통해 보정된 후 수동 평가되었습니다. 훈련 중에 쌍별 판정자는 두 수준에서 참조를 추출하여, 정책 개발의 초기 약한 단계에서도 모델이 신호를 받을 수 있도록 합니다.
훈련 구현 및 최적화
이 프로젝트는 TRL의 GRPOTrainer와 Qwen/Qwen3.5-35B-A3B 모델을 사용했습니다. 학습을 가능하게 하기 위해 몇 가지 핵심 구성 변경이 필요했습니다:
- 학습률: 2e-5에서 5e-5로 증가.
- 스케줄러:
linear에서constant_with_warmup으로 변경하여 학습률이 너무 일찍 감소하는 것을 방지. - 보상 스케일링:
scale_rewards를none으로 설정하여 단일 게이트 거부가 전체 그룹의 이점을 축소하는 것을 방지. - LoRA 대상 모듈:
all-linear로 변경하여 어댑터가 MoE 아키텍처의 모든 선형 계층에 도달하도록 보장.
주요 발견 및 학습 결과
분포 이동
모든 실행에서 모델은 먼저 '나쁜' 그림(거의 흰 캔버스나 형태 없는 물감 흐름)을 제거하는 것을 배웠습니다. hps-only 실행에서는 개선이 주로 분포의 중앙값에서 발생했습니다. 그러나 judge-led와 hps-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)을 수행하는 것.