노이즈 선호 쌍을 비교 신호로 재활용하는 zeroth-order LLM 정렬 기법 ComPO
A Zeroth-Order Paradigm for LLM Preference Alignment
무엇인가
이 논문은 LLM을 인간 선호에 맞추는 직접 선호 정렬(direct preference alignment)의 문제점인 likelihood displacement를 다룬다. DPO 같은 방법은 선호 응답과 비선호 응답의 로그 가능도 마진을 키우지만, 그 과정에서 선호 응답의 절대 확률이 오히려 낮아지고 반대 의미의 응답으로 확률 질량이 이동할 수 있다. 논문은 No 대 Never를 선호하도록 학습한 모델이 Yes의 가능도를 급격히 높이거나, Gemma-2B-it이 테러 조직의 정부 침투 절차를 묻는 프롬프트에 거부하던 것이 DPO 후에는 따르게 되는 사례를 든다. 또한 RLHF나 직접 정렬 후 응답이 품질 향상 없이 길어지는 verbosity 문제도 언급한다. 저자들은 이런 문제가 선호/비선호 응답의 가능도 차이가 작은 noisy preference pair와 관련 있다고 보고, 기존처럼 이런 쌍을 필터링해 버리는 대신 비교 신호로 활용하는 ComPO를 제안한다.
어떻게 동작하나
ComPO의 핵심은 비교 오라클(comparison oracle)과 zeroth-order 최적화다. 명시적인 미분 가능 선호 손실을 noisy pair에 직접 최적화하지 않고, 현재 정책을 작은 반경 r로 섭동시킨 뒤 그 섭동이 선호 응답의 로그 가능도를 높이고 비선호 응답의 로그 가능도를 낮추는지 평가한다. 논문은 집합 S에 대해 Δ+S(θ,θ′)를 선호 응답 로그 가능도 변화의 평균, Δ−S(θ,θ′)를 비선호 응답 로그 가능도 변화의 평균으로 정의하고, 선호 비교 오라클이 Δ+S>0이고 Δ−S<0일 때 −1을 반환하도록 정의한다. 이 −1 신호들을 모아 정규화된 업데이트 방향을 추정한다. 실무적 offline 구현은 출력층(lm_head) 파라미터에만 섭동을 주고, entry-wise thresholding으로 큰 좌표만 업데이트한다. clean pair에는 기존 DPO나 SimPO 같은 직접 정렬을 적용하고, noisy pair에는 ComPO를 적용해 두 신호를 보완한다. online ComPO는 offline 비교 메커니즘은 유지하되, 라벨 없는 현재 정책 생성물을 사용해 reference policy에 대한 reverse-KL을 제어하고 step size를 조정한다.
무엇과 다른가
이론적으로 저자들은 기본 offline scheme에 대해 smoothness, gradient sparsity, oracle compatibility 가정 아래 best-iterate 수렴 보장을 세운다. online scheme에 대해서는 정확한 reverse-KL 제약 아래 feasibility를 증명하고, local coverage 조건 아래 in-distribution pairwise reward error로 성능 갭을 bound한다. 여기서 local coverage는 reference policy 주변의 reverse-KL 이웃 안에서 정책 밀도 비율이 상수 Cκ로 제한된다는 별도 가정이며, KL 제약 자체가 이 가정을 함의하지 않는다고 논문은 명시한다. 또한 정렬 자체를 하나의 명시적 목적 함수로 정의하는 것은 매우 어렵기 때문에, latent alignment objective에 대한 비교 신호로 noisy pair를 다룬다는 관점을 취한다.
어떻게 쓰나
실험은 UltraFeedback 데이터셋으로 진행됐다. offline 실험은 Mistral-7B Base/Instruct, Llama-3-8B Base/Instruct, Gemma-2-9B-it에서 수행했고, online 실험은 Qwen3-4B-Base, Llama-3.2-3B-Instruct, Gemma-3-4B-it를 추가한다. 평가는 AlpacaEval 2-v0.6.6의 raw win rate와 length-controlled win rate, Arena-Hard, MT-Bench를 사용한다. Mistral 계열에는 r=0.0005, m=1600, λg=0.00022, λ=0.2를, Llama-3-8B와 Gemma-2-9B-it에는 r=0.00075, m=1800, λg=0.00008, λ=0.2를 쓴다. offline 실험은 30대의 NVIDIA A40 GPU(각 46GB)에서 수행됐다. online ComPO는 Qwen3-4B-Base에 r=0.0008, m=1800, λg=0.000085, Gemma-3-4B-it에 r=0.00045, m=1800, λg=0.000075를 사용하고 replay buffer window는 n=50이다.
전제와 한계
주요 결과로, DPO_clean+ComPO는 DPO_clean과 DPO를 비교했을 때 AlpacaEval 2 LC에서 특히 일관된 개선을 보였고, 단 100개의 noisy pair만 사용하고도 대부분의 모델-벤치마크 조합에서 향상됐다. 다만 low-margin pair를 필터링하는 것만으로는 DPO가 균일하게 좋아지지 않았고, Llama-3-Instruct-8B 같은 일부 초기화에서만 DPO_clean이 더 나았다. 예외적으로 Mistral-7B-Instruct의 Arena-Hard에서는 DPO 14.4 대 DPO_clean+ComPO 10.5로 ComPO가 낮았는데, 평균 응답 길이가 DPO 513, ComPO 468으로 차이가 있었고 Arena-Hard가 길이 보정 없는 raw win rate를 보고한다는 점이 설명으로 제시된다. SimPO에 ComPO를 적용한 실험에서는 세 모델 모두 AlpacaEval 2 두 지표가 개선됐고, Arena-Hard는 Mistral-7B-Instruct와 Llama-3-8B-Instruct에서 개선, Gemma-2-9B-it에서 동률을 기록했으며 MT-Bench 평균도 소폭 올랐다. pair-level 진단으로 Llama-3-Instruct-8B, γ=1의 첫 trial에서 선호/비선호 로그 가능도가 (−46.761, −47.410)에서 (−46.728, −47.520)으로 바뀌어 선호 응답은 더 가능해지고 비선호 응답은 덜 가능해졌다.
ablation과 효율성도 보고된다. 섭동 수 m을 800에서 5400으로 늘리면 평균 WR과 LC가 향상되지만 이득은 점차 줄고, peak memory는 변하지 않는다. 출력층 외에 Mistral-7B-Instruct의 30–31층 MLP까지 섭동하면 세 지표가 모두 개선되며 peak GPU 메모리는 16.3GB에서 16.7GB로, 600회 섭동 시간은 50초에서 60초로 늘어난다. gradient threshold λg는 약 1%–6%의 entry를 남길 때 가장 좋았고, noisy pair를 100개에서 300개로 늘리면 AlpacaEval 2 두 지표와 Arena-Hard 평균이 더 올랐다. ComPO는 Mistral-7B와 Llama-3-8B에서 출력층 entry의 약 1%만 유지하며, Mistral-7B의 경우 0.13B 출력층 중 1.18%인 약 150만 파라미터, 전체 7B의 0.02%만 업데이트한다. Llama-3-8B ComPO의 peak는 A40 GPU당 약 23GB였고, 논문은 DPO 77GB, SimPO 69GB를 H100에서 보고했지만 하드웨어가 달라 직접 비교는 아니라고 밝힌다. online ComPO에서는 damping이 Qwen3-4B-Base에서 AlpacaEval 2 LC +1.23, WR +1.47, Arena-Hard +0.6%p, Llama-3.2-3B-Instruct에서 +0.35, +0.73, +0.5%p, Gemma-3-4B-it에서 +2.07, +1.83, +5.6%p를 더했고, replay를 추가하면 세 모델 모두 세 지표가 추가로 개선됐다.
개발자 관점에서 ComPO는 이미 공개된 정렬 모델 체크포인트를 task-specific하고 noisy한 선호 데이터로 소폭 refine하는 워크플로를 제안한다. 전체 모델 backpropagation 없이 출력층의 일부 좌표만 업데이트하므로 full fine-tuning이나 LoRA보다 메모리 요구가 낮을 수 있고, DPO뿐 아니라 SimPO 체크포인트에도 적용 가능하다. 다만 적용 전에 noisy/clean 분할 기준, λg와 λ, m, r, noisy pair 수, online damping과 replay 여부를 확인해야 한다. AlpacaEval 2 LC는 길이 보정 후 판단 성능으로 해석해야 하며, 응답이 짧아졌다는 직접 증거는 아니다. Arena-Hard raw WR은 긴 응답에 유리할 수 있어 길이 효과를 함께 봐야 한다.
한계로, online ComPO 구현은 기본 scheme에 대한 heuristic approximation이며 제안된 다음 정책을 평가하지 않고 Theorem 3.4에서 분석한 hard sequence-level reverse-KL 제약을 강제하지 않는다. local coverage는 KL 제약으로 보장되지 않는 별도 가정이다. low-margin margin은 pair ambiguity의 불완전한 proxy이고, CHES 같은 더 풍부한 기준이 더 정확할 수 있다. pair-level likelihood 진단은 in-training sanity check일 뿐 population-level 성능 보장이 아니다. 큰 step size는 실무 scheme을 불안정하게 만들 수 있고, Theorem 3.2는 기본 scheme의 step size만 분석한다. Mistral-7B-Instruct의 Arena-Hard 하락과 응답 길이 차이의 인과관계도 논문은 확립하지 않는다.