ChatGPT는 OpenAI가 출시한 최신 언어 모델로, 이전 GPT-3보다 크게 개선되었습니다. 많은 대규모 언어 모델과 유사하게 ChatGPT는 정확성, 서술적 세부 사항 및 문맥 일관성 측면에서 더 나은 성능을 통해 다양한 스타일과 다양한 목적으로 텍스트를 생성할 수 있습니다. 이는 OpenAI의 최신 세대 대규모 언어 모델을 대표하며 상호 작용에 중점을 두고 설계되었습니다.
OpenAI는 지도 학습과 강화 학습의 조합을 사용하여 ChatGPT를 조정하고 강화 학습 구성 요소를 통해 ChatGPT를 독특하게 만듭니다. OpenAI는 훈련에 인간 피드백을 사용하여 도움이 되지 않거나 왜곡되거나 편향된 출력을 최소화하는 "인간 피드백을 통한 강화 학습"(RLHF) 훈련 방법을 사용합니다.
이 기사에서는 GPT-3의 한계와 이것이 훈련 과정에서 발생하는 이유를 분석하고 ChatGPT가 RLHF를 사용하여 GPT-3의 문제를 극복하는 방법을 이해합니다. 이 방법의 제한 사항에 대해 설명합니다.
"일관성 대 기능"은 "정확성 대 정밀도"에 대한 보다 추상적인 비유로 생각할 수 있습니다.
기계 학습에서 모델의 기능은 특정 작업 또는 작업 집합을 수행하는 모델의 능력을 의미합니다. 모델의 능력은 일반적으로 목적 함수를 최적화할 수 있는 정도에 따라 평가됩니다. 예를 들어, 시장 가격을 예측하는 데 사용되는 모델에는 모델 예측의 정확성을 측정하는 목적 함수가 있을 수 있습니다. 시간에 따른 요금 변화를 정확하게 예측할 수 있다면 모델의 성능이 높다고 간주됩니다.
일관성은 모델이 훈련받은 것이 아니라 모델이 실제로 수행하기를 원하는 것에 초점을 맞춥니다. 그것이 제기하는 질문은 모델 목표와 행동이 인간의 기대를 충족시키는 정도에 따라 "목적 함수가 기대를 충족하는지 여부"입니다. 로그 손실을 훈련 목표로 사용하여 새 분류기를 "참새" 또는 "울새"로 분류하도록 훈련시키고 궁극적인 목표는 매우 높은 분류 정확도라고 가정해 보겠습니다. 모델의 로그 손실이 낮을 수 있습니다. 즉, 모델의 능력은 더 뛰어나지만 테스트 세트에서는 정확도가 떨어집니다. 이는 모델이 훈련 목표를 최적화할 수 있지만 최종 목표와 일치하지 않는 불일치의 예입니다.
원래 GPT-3는 비균일 모델입니다. GPT-3와 같은 대규모 언어 모델은 인터넷의 대량 텍스트 데이터에 대해 훈련을 받고 인간과 유사한 텍스트를 생성할 수 있지만 항상 인간의 기대와 일치하는 출력을 생성하는 것은 아닙니다. 실제로, 그들의 목적 함수는 일련의 단어에 대한 확률 분포이며, 일련의 다음 단어가 무엇인지 예측하는 데 사용됩니다.
그러나 실제 애플리케이션에서 이러한 모델의 목적은 어떤 형태로든 가치 있는 인지 작업을 수행하는 것이며, 이러한 모델이 훈련되는 방식과 예상되는 사용 방식 간에는 분명한 차이가 있습니다. 수학적으로 말하면 단어 시퀀스의 통계적 분포를 계산하는 기계는 언어 모델링에 효율적인 선택일 수 있지만 인간은 알려진 배경 지식과 상식을 사용하여 주어진 상황에 가장 적합한 텍스트 시퀀스를 선택하여 언어를 생성합니다. 이는 대화 시스템이나 지능형 개인 비서와 같이 높은 수준의 신뢰도가 필요한 응용 프로그램에서 언어 모델을 사용할 때 문제가 될 수 있습니다.
대량의 데이터에 대해 훈련된 이러한 대규모 모델은 지난 몇 년 동안 매우 강력해졌지만 실제로 사람들의 삶을 더 쉽게 만드는 데 사용될 때 잠재력이 부족한 경우가 많습니다. 대규모 언어 모델의 일관성 문제는 종종 다음과 같이 나타납니다.
그러나 일관성 문제는 정확히 어디에서 발생합니까? 언어 모델 자체가 훈련되는 방식이 불일치하기 쉬운가요?
다음 토큰 예측과 마스크 언어 모델링은 언어 모델을 훈련하는 데 사용되는 핵심 기술입니다. 첫 번째 접근 방식에서는 모델에 단어 시퀀스가 입력으로 제공되고 시퀀스의 다음 단어를 예측하도록 요청됩니다. 모델에 입력 문장
"The cat sat on the"
을 제공하면 다음 단어를 "mat", "chair" 또는 "floor"로 예측할 수 있습니다. 이전 컨텍스트에서 이러한 단어는 발생 확률이 높습니다. 언어 모델은 실제로 이전 시퀀스가 주어지면 가능한 각 단어의 가능성을 평가할 수 있습니다.
마스킹 언어 모델링 방법은 입력 문장의 일부 단어가 [MASK]와 같은 특수 토큰으로 대체되는 Next-token-prediction의 변형입니다. 그런 다음 모델은 마스크 위치에 삽입되어야 하는 올바른 단어를 예측하도록 요청받습니다. 모델에 문장이 주어진 경우:
"The [MASK] sat on the "
MASK 위치에 채워져야 할 단어는 "cat"과 "dog"이라고 예측할 수 있습니다.
이러한 목적 함수의 장점 중 하나는 모델이 일반적인 단어 순서, 단어 사용 패턴과 같은 언어의 통계적 구조를 학습할 수 있다는 것입니다. 이는 종종 모델이 보다 자연스럽고 유창한 텍스트를 생성하는 데 도움이 되며 모든 언어 모델의 사전 학습 단계에서 중요한 단계입니다.
그러나 이러한 목적 함수는 문제를 일으킬 수도 있습니다. 주로 모델이 중요한 오류와 중요하지 않은 오류를 구별하지 못하기 때문입니다. 매우 간단한 예는 다음과 같은 문장을 모델에 입력하는 경우입니다.
"The Roman Empire [MASK] with the rule of Augustus."
MASK 위치가 "began" 또는 "로 채워져야 한다고 예측할 수 있습니다. 끝났다', 이 두 단어가 나올 확률이 매우 높기 때문이다.
일반적으로 이러한 훈련 전략은 좀 더 복잡한 작업에서 언어 모델의 불일치를 유발할 수 있습니다. 왜냐하면 텍스트 시퀀스에서 다음 단어를 예측하도록 훈련된 모델은 일부 상위 수준 표현을 반드시 학습하지 못할 수도 있기 때문입니다. 따라서 이 모델은 언어에 대한 더 깊은 이해가 필요한 작업으로 일반화하기 어렵습니다.
연구원들은 대규모 언어 모델의 일관성 문제를 해결하기 위해 다양한 방법을 연구하고 있습니다. ChatGPT는 원래 GPT-3 모델을 기반으로 하지만 모델의 불일치를 해결하기 위한 학습 프로세스를 안내하기 위해 사람의 피드백을 사용하여 추가로 훈련되었습니다. 사용된 특정 기술은 앞서 언급한 RLHF입니다. ChatGPT는 실제 시나리오에서 이 기술을 사용하는 최초의 모델입니다.
그렇다면 ChatGPT는 일관성 문제를 해결하기 위해 어떻게 사람의 피드백을 사용할까요?
접근 방식은 일반적으로 세 가지 단계로 구성됩니다.
1단계는 한 번만 수행되지만 2단계와 3단계는 계속 반복될 수 있습니다. 새로운 RM 모델을 훈련하기 위해 현재 최상의 정책 모델에 대한 더 많은 비교 데이터를 수집한 다음 새 정책을 훈련합니다. 다음으로 각 단계의 세부 사항을 자세히 설명하겠습니다.
1단계: 지도 조정 모델
첫 번째 단계는 데이터를 수집하여 지도 정책 모델을 교육하는 것입니다.
ChatGPT와 같은 범용 챗봇을 만들기 위해 개발자는 일반 텍스트 모델이 아닌 "코드 모델"을 조정합니다.
이 단계의 데이터 양이 제한되어 있기 때문에 이 프로세스에서 얻은 SFT 모델은 여전히 사용자가 관심을 가질 수 없는 텍스트를 출력할 수 있으며 종종 불일치로 어려움을 겪습니다. 여기서 문제는 지도 학습 단계의 확장성 비용이 높다는 것입니다.
이 문제를 극복하기 위해 사용되는 전략은 인간 주석자가 더 큰 선별된 데이터 세트를 생성하도록 하는 대신 인간 주석자가 SFT 모델의 다양한 출력을 정렬하여 RM 모델을 생성하도록 하는 것입니다.
2단계: 보상 모델 학습
이 단계의 목표는 데이터에서 직접 목적 함수를 학습하는 것입니다. 이 기능의 목적은 이러한 출력이 인간에게 얼마나 바람직한지를 나타내는 SFT 모델 출력의 점수를 매기는 것입니다. 이는 선택된 휴먼 어노테이터의 특정 선호도와 이들이 따르기로 동의한 공통 지침을 강력하게 반영합니다. 궁극적으로 이 프로세스를 통해 데이터에서 인간의 선호도를 모방하는 시스템이 탄생하게 됩니다.
작동 방식은 다음과 같습니다.
주석자가 처음부터 레이블을 지정하는 것보다 출력을 정렬하는 것이 훨씬 쉽고 프로세스를 더 효율적으로 확장할 수 있습니다. 실제로 선택된 프롬프트의 수는 약 30-40,000개이며 정렬된 출력의 다양한 조합을 포함합니다.
3단계: PPO 모델을 사용하여 SFT 모델 미세 조정
이 단계에서는 강화 학습을 적용하여 RM 모델을 최적화하여 SFT 모델을 조정합니다. 사용되는 특정 알고리즘을 PPO(Proximal Policy Optimization)라고 하며, 튜닝 모델을 Proximal Policy Optimization 모델이라고 합니다.
PPO란 무엇인가요? 이 알고리즘의 주요 특징은 다음과 같습니다:
이 단계에서는 PPO 모델이 SFT 모델로 초기화되고 가치 함수가 RM 모델로 초기화됩니다. 이 환경은 무작위 프롬프트를 생성하고 프롬프트에 대한 응답을 기대하는 "산적 환경"입니다. 주어진 프롬프트와 응답에 대해 해당 보상(RM 모델에 의해 결정됨)을 생성합니다. SFT 모델은 RM 모델의 과도한 최적화를 피하기 위해 각 토큰에 KL 페널티 요소를 추가합니다.
모델은 사람이 주석을 추가한 입력을 기반으로 교육되기 때문에 평가의 핵심 부분도 사람의 입력을 기반으로 합니다. 즉, 주석자가 모델 출력의 품질을 평가하도록 하는 것입니다. 훈련 단계에 관련된 주석자의 판단이 과적합되는 것을 방지하기 위해 테스트 세트는 훈련 데이터에 나타나지 않은 다른 OpenAI 클라이언트의 프롬프트를 사용했습니다.
모델은 세 가지 기준에 따라 평가됩니다.
질문 응답, 독해, 요약과 같은 전통적인 NLP 작업에 대한 제로샷 학습 성능에 대해서도 모델이 평가되었습니다. 개발자들은 이러한 작업 중 일부에서 모델이 GPT-3보다 성능이 떨어지는 것을 발견했습니다. . 이는 인간 피드백 강화 학습을 기반으로 한 정렬 절차가 특정 작업의 성능을 희생하는 "정렬 세금"의 예입니다.
사전 훈련 혼합이라는 트릭을 사용하면 이러한 데이터 세트의 성능 회귀를 크게 줄일 수 있습니다. 경사하강법을 통해 PPO 모델을 훈련하는 동안 경사 업데이트는 SFT 모델과 PPO 모델의 경사를 혼합하여 계산됩니다.
이 방법의 매우 명백한 한계는 언어 모델을 인간의 의도에 맞추는 과정에서 미세 조정 모델에 사용되는 데이터가 다양하고 복잡하고 주관적인 영향을 받게 된다는 것입니다. 영향을 미치는 요소는 주로 다음과 같습니다.
ChatGPT의 저자는 훈련 과정에 참여하는 주석 작성자와 연구원이 언어 모델의 모든 잠재적 최종 사용자를 완전히 대표하지 못할 수도 있다는 명백한 사실도 인정합니다.
이 방법에는 이러한 명백한 "내인성" 제한 외에도 해결해야 할 몇 가지 다른 단점과 문제도 있습니다.
관련 읽기:
위 내용은 ChatGPT의 작동 원리를 간단한 용어로 설명하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!