Ultralytics YOLO27:
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Direct Preference Optimization

직접 선호 최적화(DPO)는 보상 모델이나 RL 없이 하나의 손실 함수를 사용해 선호 응답과 비선호 응답의 쌍으로 언어 모델을 정렬합니다.

직접 선호도 최적화(DPO)는 선호하는 응답과 거부된 응답으로 이루어진 쌍을 사용해 대규모 언어 모델(LLM)을 인간의 선호도에 맞추도록 직접 학습하는 방법이며, 단일 분류 방식의 손실 함수를 사용합니다. 별도의 보상 모델이나 학습 중 모델에서 샘플링하는 강화 학습 루프 없이 인간 피드백 기반 강화 학습(RLHF)의 목표를 달성합니다. Stanford의 Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher Manning, Chelsea Finn은 2023년 NeurIPS 2023에서 발표한 Direct Preference Optimization: Your Language Model is Secretly a Reward Model에서 이 방법을 소개했습니다. 핵심 아이디어는 학습 중인 언어 모델이 자체적인 암묵적 보상을 정의하므로 보상 모델과 정책을 한 단계에서 학습할 수 있다는 것입니다.

DPO 작동 방식#

각 학습 예제는 사람이 또는 다른 모델이 라벨링한 프롬프트와 선택된 응답, 거부된 응답으로 구성됩니다. 학습은 이미 지도 파인튜닝, 대개 명령어 튜닝을 거친 모델에서 시작하며, 이 모델의 동결된 사본을 기준 모델로 유지합니다. 각 응답에 대해 DPO는 학습 중인 모델의 로그 확률과 기준 모델의 로그 확률을 비교합니다. 응답의 암묵적 보상은 해당 로그 비율에 β를 곱한 값이며, 손실은 선택된 응답의 보상에서 거부된 응답의 보상을 뺀 값에 대한 음의 로그-시그모이드입니다. 이 손실을 최소화하면 거부된 응답에 비해 선택된 응답의 확률이 높아지고, 모델이 여전히 순위를 잘못 매기는 응답 쌍에는 더 큰 업데이트가 적용됩니다.

계수 β는 RLHF에서 KL 페널티 역할을 합니다. Rafailov 등은 RLHF에서 사용하는 KL 제약 보상 최대화에 닫힌 형태의 최적 정책이 있음을 보였습니다. 이 정책은 보상을 β로 나눈 값의 지수 함수로 기준 확률을 재가중한 것이며, 이 공식을 재정리해 정책 자체를 통해 보상을 표현했습니다. β가 작을수록 학습 과정에서 모델이 기준 모델로부터 더 멀리 이동할 수 있습니다.

이 PyTorch 예제는 Hugging Face Transformers의 GPT-2를 사용해 고객 서비스 선호도 쌍 두 개로 DPO를 10단계 실행한 다음, 모델이 학습한 적 없는 세 번째 쌍을 확인합니다:

import copy

import torch
import torch.nn.functional as F
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
policy = AutoModelForCausalLM.from_pretrained("gpt2")
reference = copy.deepcopy(policy).requires_grad_(False)  # frozen copy of the starting model
optimizer = torch.optim.Adam(policy.parameters(), lr=1e-5)

# Preference pairs: (prompt, chosen reply, rejected reply)
train = [
    ("My order arrived broken.", " Sorry about that, we will send a replacement today.", " That is not our problem."),
    ("I was charged twice.", " Sorry for the trouble, we have refunded the extra charge.", " Check your bank again."),
]
held_out = ("My package is a week late.", " Sorry for the delay, we will track it down for you.", " Be more patient.")


def log_prob(model, prompt, reply):
    """Sum of the log-probabilities the model gives the reply tokens after the prompt."""
    ids = tokenizer(f"Customer: {prompt}\nAgent:{reply}", return_tensors="pt").input_ids
    token_logps = model(ids).logits[0, :-1].log_softmax(-1).gather(1, ids[0, 1:, None])
    return token_logps[-len(tokenizer(reply).input_ids) :].sum()


def margin(prompt, chosen, rejected):
    """Policy-to-reference log-ratio of the chosen reply minus that of the rejected reply."""
    chosen_ratio = log_prob(policy, prompt, chosen) - log_prob(reference, prompt, chosen)
    return chosen_ratio - (log_prob(policy, prompt, rejected) - log_prob(reference, prompt, rejected))


for step in range(10):
    loss = sum(-F.logsigmoid(0.1 * margin(*pair)) for pair in train) / len(train)  # DPO loss, beta = 0.1
    if step in {0, 9}:
        print(f"Step {step}: training loss {loss.item():.3f}")
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

with torch.no_grad():
    print(f"Held-out margin: {margin(*held_out).item():+.1f}")

0단계에서 학습 손실 0.693을 출력합니다. 정책이 여전히 기준 모델과 같고 두 응답의 암묵적 보상이 모두 0이므로 이 값은 ln 2입니다. 9단계의 손실은 0.047이며, 홀드아웃 마진은 +7.8입니다. 한 번도 보지 못한 불만 사례에서 모델은 사과하는 답변의 로그 확률을 기준 모델 대비 높였으며, 그 증가 폭은 무시하는 답변보다 7.8 더 컸습니다.

DPO와 RLHF 비교#

기존 RLHF는 선호도 쌍으로 보상 모델을 학습한 다음, 매 단계마다 모델에서 새로운 샘플을 생성해야 하는 근접 정책 최적화(PPO)로 언어 모델을 최적화합니다. 이 방식은 정책, 가치 모델, 보상 모델, 기준 모델을 메모리에 유지합니다. DPO는 정책과 기준 모델만 필요하며 일반적인 지도 학습처럼 고정 데이터셋으로 학습하므로 튜닝이 더 간단하고 실행 비용도 훨씬 저렴합니다. 원래의 실험에서 DPO는 정해진 KL 예산으로 생성된 영화 리뷰의 감성을 제어하는 데 PPO보다 우수했습니다. TL;DR Reddit 요약 작업에서 GPT-4는 샘플링 온도 0일 때 DPO 요약이 사람이 작성한 기준 요약보다 낫다고 61%의 경우에 판단했습니다. PPO는 최적 온도에서도 57%였습니다. Anthropic의 유용하고 무해한 대화 데이터에서는 DPO가 데이터셋의 선호 응답을 개선한 유일한 계산 효율적 방법이었습니다.

DPO의 단점은 제공된 응답 쌍만으로 학습한다는 점입니다. 그룹 상대 정책 최적화(GRPO)와 같은 온라인 RL 방법은 학습 중 현재 모델에서 새로운 샘플을 생성해 점수를 매깁니다. 따라서 검증기가 새 답변을 모두 채점할 수 있는 수학 및 코드 분야의 검증 가능한 보상을 이용한 강화 학습(RLVR)에서 이러한 방법이 주로 사용됩니다. 선호도 라벨은 헌법적 AI처럼 문서화된 원칙을 바탕으로 하는 AI 모델이 생성할 수도 있으며, DPO는 이러한 라벨로도 동일한 방식으로 학습합니다.

DPO의 활용 분야#

DPO는 오픈 웨이트 챗봇의 표준 사후 학습 단계가 되었습니다. Hugging Face의 Zephyr-7B-β는 AI가 순위를 매긴 UltraFeedback 데이터를 사용해 DPO를 적용했고, Meta의 Llama 3 모델은 여러 차례의 지도 파인튜닝에 이어 DPO를 적용해 정렬되었습니다. TRL 라이브러리는 즉시 사용할 수 있는 DPO 트레이너를 제공합니다. Ultralytics LLM 인터페이스는 로컬 서버를 포함한 모든 OpenAI 호환 엔드포인트를 통해 모델을 호출하므로, DPO로 정렬된 오픈 모델이 Ultralytics YOLO26 비전 파이프라인의 텍스트 부분을 생성할 수 있습니다.

이 방법은 이미지에도 적용됩니다. Diffusion-DPO는 디퓨전 모델에 맞게 손실을 재구성하고 Pick-a-Pic 데이터셋의 크라우드소싱 쌍별 선호도 851,000개로 Stable Diffusion XL 기본 모델을 파인튜닝해 텍스트-이미지 생성의 프롬프트 정합성과 시각적 매력을 개선했습니다. 비전-언어 모델(VLM)의 경우 RLHF-V는 환각을 일으킨 이미지 설명에 대한 세그먼트 수준의 인간 수정 데이터를 수집하고 밀집형 DPO로 학습해, 주석이 달린 샘플 1,400개만으로 기본 모델의 환각률을 34.8% 낮췄습니다.

DPO 변형#

  • IPO(동일성 선호도 최적화): 로그 시그모이드를 고정 마진을 향한 제곱 손실로 대체합니다. 이를 통해 같은 응답이 항상 선택될 때 암묵적 보상이 무한정 커지고 과적합되는 문제를 방지합니다.
  • KTO(Kahneman-Tversky 최적화): 바람직하거나 바람직하지 않다고 라벨링된 개별 응답으로 학습하므로 쌍별 비교가 필요하지 않습니다.
  • ORPO(오즈 비율 선호도 최적화): 기준 모델을 제거하고 지도 파인튜닝 손실에 오즈 비율 페널티를 추가해 명령어 튜닝과 선호도 정렬을 한 단계로 통합합니다.
  • SimPO(단순 선호도 최적화): 응답의 길이 정규화 평균 로그 확률을 보상으로 사용하고 기준 모델을 제거하며, 선택된 응답의 보상과 거부된 응답의 보상 사이에 목표 마진을 요구합니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기
스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기
스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요