Yolo 비전 선전
선전
지금 참여하기
용어집

보상 모델링

머신 러닝에서의 보상 모델링을 탐구하세요. 인간 피드백을 활용하여 AI 에이전트와 Ultralytics 모델을 정렬시켜 더 안전하고 정확한 성능을 구현하는 방법을 알아보세요.

보상 모델링은 인공 지능 시스템이 인간의 선호도에 기반하여 자신의 행동을 평가하고 우선순위를 정하는 방법을 가르치는 데 사용되는 기계 학습 기법입니다. 전통적인 강화 학습 환경에서 AI 에이전트는 비디오 게임의 점수와 같이 미리 정의된 수학적으로 엄격한 보상 함수를 극대화함으로써 학습합니다. 그러나 정중한 이메일 작성이나 교차로 안전 통과와 같이 "좋은" 행동이 주관적이거나 미묘한 차이를 보이는 복잡한 현실 세계 작업의 경우, 완벽한 보상 함수를 수동으로 작성하는 것은 거의 불가능합니다. 보상 모델링은 보조 신경망 (보상 모델)을 훈련시켜 인간 판단의 대리 역할을 수행하게 함으로써 이 문제를 해결합니다. 이 모델은 주 AI의 출력을 평가하고 스칼라 점수를 부여함으로써 주 모델을 안전하고 유용하며 정확한 행동 방향으로 동적으로 안내합니다.

보상 모델링의 작동 방식

보상 모델 구축을 위한 파이프라인은 고품질의 인간 피드백 수집에 크게 의존합니다.

  • 데이터 라벨링 및 선호도 설정: 인간 주석 작업자에게는 AI 모델이 생성한 여러 응답과 함께 프롬프트가 제공됩니다. 평가자는 유용성, 무해성, 정확성 등의 기준에 따라 이러한 응답을 최상에서 최하로 순위를 매깁니다. 이러한 대규모 주석 작업 워크플로는 Ultralytics 사용하여 원활하게 관리할 수 있습니다.
  • 프록시 네트워크 훈련: 이 인간 비교 데이터셋을 통해 특수한 신경망이 훈련됩니다. 최적화 과정을 통해, 신경망은 인간이 선호할 출력을 예측하는 법을 학습하며, 행동이나 텍스트 응답의 임베딩을 단일 스칼라 보상 값으로 매핑합니다. 신경망 아키텍처 구축에 대한 자세한 내용은PyTorch 문서에서 확인할 수 있습니다.
  • 정책 최적화: 기본 모델은 보상 모델로부터 지속적으로 제공되는 피드백을 활용하여 자신의 행동을 개선하며, 일반적으로 근사 정책 최적화(PPO)와 같은 알고리즘을 사용합니다. 이 단계는 모델의 정책을 학습된 인간 의도와 반복적으로 정렬시킵니다.

보상 모델링 대 RLHF

보상 모델링과 인간 피드백 기반 강화 학습(RLHF)을 구분하는 것이 중요합니다. 두 용어가 종종 함께 논의되지만 동의어는 아닙니다. RLHF는 모델 정렬을 위한 포괄적인 종단간 파이프라인으로, 지도 학습 기반 미세 조정, 데이터 수집, 정책 업데이트를 포괄합니다. 보상 모델링은 RLHF 파이프라인 내 특정 핵심 구성 요소입니다. 이는 이산적인 인간 순위 정보를 강화 학습 알고리즘이 최적화할 수 있는 연속적인 수학적 신호로 변환하는 가교 역할을 합니다.

실제 애플리케이션

보상 모델링은 인간 및 물리적 세계와 직접 상호작용하는 현대 AI 시스템 개발에 핵심적인 역할을 합니다.

  • 대규모 언어 모델(LLMs): 대화형 AI 어시스턴트는 답변이 사실적으로 정확할 뿐만 아니라 예의 바르고 관련성이 있으며 유해한 언어가 없도록 보장하기 위해 보상 모델에 의존합니다. AI 안전성을 탐구하는 조직들은 도움이 되고 무해한 AI 정렬을 반영하는 시스템을 구축하기 위해 보상 모델링을 지속적으로 발전시킵니다.
  • 자율주행 차량과 로봇공학: 물리적 자동화에서 보상 모델은 로봇이 복잡한 운전 예절이나 물체 조작 전략을 이해하는 데 도움을 줍니다. Ultralytics 기반 인식 시스템은 detect 도로 표지판을 detect 수 있으며, 보상 모델은 차량의 계획된 궤적을 평가하여 AI가 순수하게 공격적인 지점 간 이동보다 승객의 편의와 안전을 우선시하도록 보장합니다.

기본 보상 모델 개념 구현

다음 Python 사용합니다. torch 보상 모델의 기초 구조를 보여주기 위함이다. 실제적으로 이 신경망은 인간의 선호도와 부합하는 출력에 더 높은 스칼라 점수를 할당하도록 학습한다.

import torch
import torch.nn as nn


# Define a simplified reward model architecture
class SimpleRewardModel(nn.Module):
    def __init__(self):
        super().__init__()
        # Maps the AI's output embedding to a single reward score
        self.fc = nn.Linear(768, 1)

    def forward(self, embeddings):
        return self.fc(embeddings)


# Initialize the model
reward_model = SimpleRewardModel()

# Simulated embeddings for a human-preferred action and a rejected action
chosen_action = torch.randn(1, 768)
rejected_action = torch.randn(1, 768)

# The model predicts scalar scores to guide the primary agent
print(f"Chosen Action Reward: {reward_model(chosen_action).item():.4f}")
print(f"Rejected Action Reward: {reward_model(rejected_action).item():.4f}")

오픈소스 파운데이션 모델에 정렬이 미치는 영향에 대해 더 깊이 알아보려면, 언어 모델을 인간의 의도와 정렬시키는 기초 연구를 탐구하고 컴퓨터 비전(CV) 시스템이 동적 환경과 안전하게 상호작용하기 위해 고급 피드백 루프를 어떻게 활용하는지 알아보세요.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기