대규모 언어 모델(LLM)을 인간의 가치와 의도에 맞추려면 인간의 피드백을 학습하여 유용하고 정직하며 무해한지 확인하는 것이 중요합니다. LLM 정렬 측면에서 효과적인 접근 방식은 인간 피드백(RLHF)을 기반으로 한 강화 학습입니다. RLHF 방법의 결과는 훌륭하지만 몇 가지 최적화 문제가 있습니다. 여기에는 보상 모델을 훈련한 다음 해당 보상을 극대화하기 위해 정책 모델을 최적화하는 것이 포함됩니다.
일부 연구자들은 최근에 더 단순한 오프라인 알고리즘을 탐구했는데, 그 중 하나가 직접 선호 최적화(DPO)입니다. DPO는 RLHF의 보상 기능을 매개변수화하여 선호도 데이터를 기반으로 직접 정책 모델을 학습하므로 명시적인 보상 모델이 필요하지 않습니다. 이 방법은 간단하고 안정적이며 실제로 널리 사용되었습니다.
DPO를 사용할 때 암시적 보상을 얻는 방법은 현재 정책 모델과 SFT(Supervised Fine-Tuning) 모델 간의 응답 가능성 비율의 로그를 사용하는 것입니다. 그러나 보상을 구성하는 이러한 방식은 정책 모델에 의해 생성된 응답의 대략적인 평균 로그인 부트스트랩 생성 측정항목과 직접적으로 일치하지 않습니다. 훈련과 추론의 이러한 차이는 성능 저하로 이어질 수 있습니다.
이를 위해 버지니아 대학교 조교수 Meng Rui, 프린스턴 대학교 박사과정생 Xia Mengzhou, 조교수 Chen Danqi가 공동으로 간단하고 효과적인 오프라인 선호도 최적화 알고리즘인 SimPO를 제안했습니다. . SimPO의 설계는 최적화 문제를 연속 블랙박스 기능의 최소화 문제로 모델링하는 것을 기반으로 합니다. SimPO는 지속적인 반복을 통해 최상의 최적화 전략을 찾고 효율적인 융합을 달성할 수 있습니다. 기존 최적화 알고리즘과 비교하면
알고리즘의 핵심은 선호 최적화 목표의 보상 기능을 다음과 결합하는 것입니다. 세대 지표 정렬. SimPO는 두 가지 주요 구성 요소로 구성됩니다. (1) 정책 모델을 사용하여 보상에 있는 모든 토큰의 평균 로그 확률로 계산된 길이로 정규화된 보상 (2) 승패를 보장하기 위한 목표 보상 차이 응답 간 보상 차이 이 차이를 초과합니다.
결론적으로 SimPO는 다음과 같은 특징을 가지고 있습니다.
팀은 광범위한 분석을 수행한 결과 SimPO가 선호도 데이터를 보다 효과적으로 활용하여 검증 세트에서 고품질 및 저품질 응답 가능성의 순위를 더 정확하게 매길 수 있음을 보여주었습니다. 이를 통해 더 나은 전략을 만들 수 있습니다. 모델.
표 1에서 볼 수 있듯이 팀은 Llama3-8B-instruct를 기반으로 최고 성능의 모델을 구축했습니다. 이 모델은 AlpacaEval 2에서 길이 제어 승률 44.7을 달성하여 리더보드 Claude 3 Opus를 능가했습니다. 또한 Arena-Hard의 승률은 33.8로 현재 가장 강력한 8B 오픈 소스 모델입니다.
다음에서는 이해의 편의를 위해 먼저 DPO의 배경을 소개한 후 DPO의 보상과 생성에 사용되는 가능성 측정의 차이점을 설명하고 참조 없는 방법을 제안합니다. 이 문제를 완화하기 위한 대체 보상 공식입니다. 마지막으로 SimPO 목표는 목표 보상 마진 항을 Bradley-Terry 모델에 통합하여 도출됩니다.
배경: 직접 선호도 최적화(DPO)
DPO는 가장 일반적으로 사용되는 오프라인 선호도 최적화 방법 중 하나입니다. DPO는 명시적인 보상 모델을 학습하지 않지만 최적의 정책과 함께 폐쇄형 표현식을 사용하여 보상 함수 r을 다시 매개변수화합니다.
여기서 π_θ는 정책 모델이고 π_ref는 참조입니다. 정책(일반적으로 SFT 모델)이고 Z(x)는 분할 함수입니다. 이러한 보상 구축 방식을 Bradley-Terry(BT) 순위 목표인 에 통합함으로써 DPO는 보상 모델 대신 정책 모델을 사용하여 선호도 데이터의 확률을 나타낼 수 있으며 결과적으로 다음 목표를 달성할 수 있습니다.
여기서 (x, y_w, y_l)은 선호도 데이터 세트 D의 프롬프트, 승리 응답 및 패배 응답으로 구성된 선호 쌍입니다.
생성된 결과에 맞춰진 간단한 참조 없는 보상
DPO의 보상과 생성된 보상의 차이. 암시적 보상 표현식으로 방정식 (1)을 사용하면 다음과 같은 단점이 있습니다. (1) 훈련 단계에는 추가 메모리 및 컴퓨팅 비용을 가져오는 참조 모델 π_ref가 필요합니다. (2) 훈련 단계 및 사용된 생성에서 최적화된 보상입니다. 추론에서 지표들 사이에는 차이가 있습니다. 구체적으로, 생성 단계에서 정책 모델 π_θ는 다음과 같이 정의된 평균 로그 우도를 대략 최대화할 수 있는 시퀀스를 생성하는 데 사용됩니다.
디코딩 중에 이 지표를 직접 최대화하는 것은 매우 어렵습니다. 프로세스에서는 그리디 디코딩, 빔 검색, 커널 샘플링, top-k 샘플링과 같은 다양한 디코딩 전략을 사용할 수 있습니다. 또한 이 측정항목은 언어 모델이 다중 선택 작업을 수행할 때 옵션 순위를 지정하는 데 자주 사용됩니다. DPO에서는 모든 삼중 항(x, y_w, y_l)에 대해 보상 순위 r(x, y_w) > r(x, y_l)을 충족한다고 해서 반드시 가능성 순위 를 충족한다는 의미는 아닙니다. 실제로 DPO로 훈련할 때 홀드아웃 세트의 세 쌍 중 약 50%만이 이 조건을 충족합니다(그림 4b 참조).
길이에 따라 정규화된 보상을 구성합니다. 당연히 (3)의 p_θ를 사용하여 DPO의 보상 구성을 대체하여 부트스트랩에서 생성된 우도 측정 항목과 일치하도록 하는 것을 고려할 것입니다. 결과적으로 보상은 길이가 정규화됩니다.
여기서 β는 보상 차이의 크기를 제어하는 상수입니다. 팀은 응답 길이를 기준으로 보상을 정규화하는 것이 중요하다는 사실을 발견했습니다. 보상 공식에서 길이 정규화 항을 제거하면 모델이 더 길지만 품질이 낮은 시퀀스를 생성하는 경향이 있습니다. 이를 통해 보상 구축 시 참조 모델이 필요하지 않으므로 참조 모델에 의존하는 알고리즘보다 메모리와 계산 효율성이 향상됩니다.
SimPO 대상
대상 보상 차이. 또한 팀은 승리한 응답의 보상 r(x, y_w)가 실패한 응답의 보상 r(x, y_l)을 초과하는지 확인하기 위해 Bradley-Terry 목표에 대해 목표 보상 차이 항 γ > 0을 도입했습니다. 최소 γ 기준:
두 클래스의 차이는 분류기의 일반화 능력에 영향을 미치는 것으로 알려져 있습니다. 무작위 모델 초기화를 사용하는 표준 훈련 설정에서는 목표 마진을 늘리면 일반적으로 일반화 성능이 향상됩니다. 선호도 최적화에서 이 두 범주는 단일 입력에 대한 응답을 얻거나 잃습니다.
실제로 팀은 목표 격차가 커질수록 초기에는 발전 품질이 향상되지만 격차가 너무 커지면 발전 품질이 떨어지는 것을 관찰했습니다. DPO의 변형인 IPO도 SimPO와 유사한 목표 보상 마진을 구축하지만 전체 목표는 SimPO보다 덜 효과적입니다.
목표. 마지막으로 방정식 (4)를 방정식 (5)에 대체하면 SimPO 목표를 얻을 수 있습니다.
결론적으로 SimPO는 생성된 지표와 직접 정렬되는 암시적 보상 형식을 채택하므로 참조 모델 요구 사항이 필요합니다. 또한 승리와 패배 응답을 구분하기 위해 목표 보상 차이 γ를 도입합니다.
모델 및 훈련 설정. 팀의 실험에서는 Base 및 Instruct 설정 모두에서 Llama3-8B와 Mistral-7B라는 두 가지 유형의 모델을 사용했습니다.
평가 벤치마크. 팀은 가장 일반적으로 사용되는 세 가지 개방형 규정 준수 벤치마크인 MT-Bench, AlpacaEval 2 및 Arena-Hard v0.1을 사용했습니다. 이러한 벤치마크는 다양한 쿼리에 대한 모델의 다양한 대화 기능을 평가하며 커뮤니티에서 널리 채택되었습니다. 표 2에는 몇 가지 세부 정보가 나와 있습니다.
기준 방법. 표 3은 SimPO와 비교한 다른 오프라인 선호도 최적화 방법을 나열합니다.
주요 결과 및 절제 연구
SimPO는 항상 기존의 선호도 최적화 방법보다 훨씬 더 나은 성능을 발휘합니다. 표 4에서 볼 수 있듯이 모든 선호도 최적화 알고리즘은 SFT 모델보다 성능이 우수하지만 Simple SimPO는 모든 벤치마크 및 설정에서 최고의 성능을 달성합니다. 전반적으로 이러한 큰 격차는 SimPO의 견고성과 효율성을 보여줍니다.
벤치마크 품질은 다양합니다. Arena-Hard의 승률이 AlpacaEval 2의 승률보다 현저히 낮은 것을 볼 수 있는데, 이는 Arena-Hard가 더 어려운 벤치마크임을 나타냅니다.
Instruct 설정은 상당한 성능 향상을 가져옵니다. 볼 수 있듯이 Instruct 설정은 모든 벤치마크에서 전반적으로 Base 설정보다 성능이 뛰어납니다. 이는 이러한 모델에 의한 초기화를 위해 더 높은 품질의 SFT 모델을 사용하고 이러한 모델에 의해 생성된 더 높은 품질의 선호도 데이터 때문일 수 있습니다.
SimPO의 핵심 디자인은 두 가지가 중요합니다. 표 5는 SimPO의 각 핵심 설계에 대한 절제 실험 결과를 보여줍니다. (1) (4)에서 길이 정규화를 제거합니다(즉, LN 없음). (2) (6)의 목표 보상 차이를 0으로 설정합니다(즉, γ = 0).
길이 정규화를 제거하는 것이 결과에 가장 큰 영향을 미칩니다. 팀의 연구에 따르면 이로 인해 모델이 길고 반복적인 패턴을 생성하여 결과의 전반적인 품질이 심각하게 저하되는 것으로 나타났습니다. γ를 0으로 설정하면 SimPO의 성능 저하가 발생하여 0이 최적의 목표 보상 마진이 아님을 나타냅니다.
이 두 가지 디자인 선택에 대한 심층 분석은 원본 논문을 참조하세요.
DPO와 SimPO의 심층 비교
마지막으로 팀은 (1) 우도 길이 상관 관계, (2) 보상 구성, (3)의 네 가지 관점에서 DPO와 SimPO를 종합적으로 비교했습니다. ) 보상 정확도, (4) 알고리즘 효율성. 결과는 SimPO가 정확성과 효율성 측면에서 DPO보다 우수한 것으로 나타났습니다.
DPO 보상은 암묵적으로 길이 정규화를 촉진합니다.
DPO 보상 표현 (파티션 기능 없음)에는 길이 정규화에 대한 명시적인 용어가 부족하지만 정책 모델과 참조 모델 간의 로그 비율은 암시적으로 길이 편향을 상쇄할 수 있습니다. 표 6 및 그림 4a에 표시된 것처럼 DPO를 사용하면 길이 정규화가 없는 방법(LN이 없는 SimPO로 표시됨)에 비해 평균 로그 우도와 응답 길이 사이의 Spearman 상관 계수가 감소합니다. 그러나 SimPO와 비교할 때 여전히 더 강한 양의 상관 관계를 보여줍니다.
DPO 보상이 생성된 가능성과 일치하지 않습니다.
DPO의 보상과 세대에 직접적인 영향을 미치는 평균 로그 가능성 지표에는 차이가 있습니다. 그림 4b에 표시된 것처럼 UltraFeedback 훈련 세트의 인스턴스에서 데이터 쌍의 거의 절반이 을 갖습니다. 반면 SimPO는 평균 로그 우도(β로 스케일링)를 보상 표현식으로 직접 사용하여 차이를 완전히 제거합니다.
DPO는 보상 정확도 측면에서 SimPO만큼 좋지 않습니다.
그림 4c는 SimPO와 DPO의 보상 정확도를 비교하여 최종 학습된 보상이 홀드아웃 세트의 선호도 레이블과 얼마나 잘 일치하는지 평가합니다. SimPO의 보상 정확도가 DPO의 보상 정확도보다 높은 것을 볼 수 있는데, 이는 SimPO의 보상 설계가 보다 효과적인 일반화 및 고품질 생성을 달성하는 데 도움이 됨을 나타냅니다.
SimPO는 DPO보다 메모리 효율성과 계산 효율성이 더 높습니다.
SimPO의 또 다른 큰 장점은 효율성입니다. 결국 참조 모델을 사용하지 않습니다. 그림 4d는 8×H100 GPU에서 Llama3-Base 설정을 사용할 때 SimPO 및 DPO에 대한 GPU당 전체 런타임 및 최대 메모리 사용량을 보여줍니다. SimPO는 참조 모델을 사용하여 정방향 패스를 제거한 덕분에 원래 DPO 구현에 비해 런타임을 약 20%, GPU 메모리 사용량을 약 10% 줄였습니다.
자세한 내용은 원문을 읽어주세요.
위 내용은 DPO를 완전히 능가함: Chen Danqi 팀은 단순 선호도 최적화 SimPO를 제안하고 가장 강력한 8B 오픈 소스 모델도 개선했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!