이 기사에서는 주로 ChatGPT를 지원하는 기계 학습 모델을 소개합니다. 대규모 언어 모델의 도입으로 시작하여 GPT-3를 훈련시킬 수 있는 혁신적인 self-attention 메커니즘을 살펴본 다음 인간 피드백을 통한 강화 학습을 탐구합니다. , ChatGPT의 뛰어난 신기술이 이를 가능하게 합니다.
ChatGPT는 추론을 위한 기계 학습 자연어 처리 모델의 일종으로 LLM(대형 언어 모델)이라고 합니다. LLM은 대량의 텍스트 데이터를 소화하고 텍스트에 있는 단어 간의 관계를 추론합니다. 지난 몇 년 동안 이러한 모델은 컴퓨팅 성능이 향상됨에 따라 계속해서 발전해 왔습니다. 입력 데이터 세트와 매개변수 공간의 크기가 증가함에 따라 LLM의 기능도 증가합니다.
언어 모델의 가장 기본적인 훈련은 일련의 단어에서 단어를 예측하는 것입니다. 가장 일반적으로 이는 다음 토큰 예측 및 마스킹 언어 모델에서 관찰됩니다.
생성된 다음 토큰 예측 및 마스킹 언어 모델의 임의의 예
이 기본 순위 기술에서는 일반적으로 주어진 환경과 컨텍스트에 대해 훈련된 LSTM(Long Short Memory) 모델을 통해 배포됩니다. , 통계적으로 가장 가능성이 높은 단어로 공백을 채우세요. 이 순차 모델링 구조에는 두 가지 주요 제한 사항이 있습니다.
이 문제를 해결하기 위해 2017년 Google Brain 팀은 변환기를 도입했습니다. LSTM과 달리 변환기는 모든 입력 데이터를 동시에 처리할 수 있습니다. Self-Attention 메커니즘을 활용하여 모델은 언어 시퀀스의 모든 위치를 기준으로 입력 데이터의 여러 부분에 서로 다른 가중치를 할당할 수 있습니다. 이 기능을 사용하면 LLM에 의미를 주입하고 더 큰 데이터 세트를 처리하는 기능을 크게 향상시킬 수 있습니다.
GPT(Generative Pretrained Transformer) 모델은 2018년 OpenAI에서 GPT-1이라는 이름으로 처음 출시되었습니다. 이러한 모델은 2019년 GPT-2, 2020년 GPT-3, 가장 최근에는 2022년 InstructGPT 및 ChatGPT로 계속 발전했습니다. 인간의 피드백을 시스템에 통합하기 전에 GPT 모델 진화의 가장 큰 발전은 계산 효율성의 달성에 의해 주도되었습니다. 이를 통해 GPT-3은 GPT-2보다 훨씬 더 많은 데이터를 훈련할 수 있었고 더 다양한 지식 기반과 수행 능력을 제공했습니다. 더 넓은 범위의 작업.
GPT-2(왼쪽)와 GPT-3(오른쪽) 비교.
모든 GPT 모델은 변환기 구조를 활용합니다. 즉, 입력 시퀀스를 처리하는 인코더와 출력 시퀀스를 생성하는 디코더가 있음을 의미합니다. 인코더와 디코더 모두 다중 헤드 self-attention 메커니즘을 갖추고 있어 모델이 의미와 맥락을 추론하기 위해 시퀀스의 다양한 부분에 다르게 가중치를 부여할 수 있습니다. 또한 인코더는 마스크된 언어 모델을 활용하여 단어 간의 관계를 이해하고 보다 이해하기 쉬운 응답을 생성합니다.
GPT를 구동하는 self-attention 메커니즘은 토큰(단어, 문장 또는 기타 텍스트 그룹일 수 있는 텍스트 조각)을 입력 시퀀스에서 토큰의 중요성을 나타내는 벡터로 변환하여 작동합니다. 이를 위해 이 모델은:
쿼리
, key
및 값
벡터. query
,key
,和value
向量。query
向量与其他每个标记的key
向量之间的相似性。softmax
函数中来生成归一化的权重。value
向量相乘,产生一个最终向量,代表该序列中标记的重要性。GPT使用的“multi-head
”注意机制是自我注意的一种进化。该模型不是一次性执行第1-4步,而是并行地多次迭代这一机制,每次都会生成一个新的query
,key
,和value
query
벡터(각 태그에 대한 패딩): 1px 3px; border-radius: 4px;overflow-wrap: break-word; text-indent: 0px;display: inline-block;">키벡터 간의 유사성. 3. 2단계의 출력을 softmax
함수를 사용하여 정규화된 가중치를 생성합니다.
4. 3단계에서 생성된 가중치를 각 마크의 값
벡터를 곱하여 시퀀스에서 토큰의 중요성을 나타내는 최종 벡터를 생성합니다.
multi-head
" Attention 메커니즘은 self-attention의 진화입니다. 1~4단계를 한 번에 수행하는 대신 모델은 이 메커니즘을 병렬로 여러 번 반복하여 매번 새로운 쿼리
, 벡터. 이러한 방식으로 self-attention을 확장함으로써 모델은 입력 데이터에서 하위 의미와 보다 복잡한 관계를 파악할 수 있습니다. <ul>
<li>
<li>ChatGPT에서 생성된 스크린샷. <li>GPT-3는 자연어 처리에 상당한 발전을 가져왔지만 사용자 의도에 맞추는 능력에는 제한이 있습니다. 예를 들어 GPT-3은 <li>
</ul>Unhelpful이라는 출력을 생성할 수 있습니다. 이는 사용자의 명시적인 지침을 따르지 않는다는 의미입니다. <p></p>존재하지 않거나 잘못된 사실을 반영하는 환상이 포함되어 있습니다. <h2><span style="color: #ffffff;">해석력이 부족하면 모델이 어떻게 특정 결정이나 예측에 도달했는지 인간이 이해하기 어렵습니다. <span style="background-color: #ef7060;"></span>해롭거나 공격적인 콘텐츠와 잘못된 정보를 퍼뜨리는 유해하거나 편견이 있는 콘텐츠가 포함되어 있습니다. </span></h2>
<p> 표준 LLM의 고유한 문제 중 일부를 상쇄하기 위해 ChatGPT에는 혁신적인 교육 방법이 도입되었습니다. </p>
<h2><span style="color: #ffffff;"><span style="background-color: #ef7060;">ChatGPT</span></span></h2>
<p>ChatGPT는 InstructGPT에서 파생된 것으로, 모델의 출력이 사용자의 의도와 더 잘 통합될 수 있도록 인간의 피드백을 훈련 프로세스에 통합하는 새로운 방법을 도입합니다. 인간 피드백을 통한 강화 학습(RLHF)은 openAI의 2022년 논문 "인간 피드백을 사용하여 지침을 따르도록 언어 모델 훈련"에 자세히 설명되어 있으며 아래에 간략하게 설명되어 있습니다. </p>
<p></p>🎜1단계: 감독 미세 조정(SFT) 모델 🎜🎜🎜🎜첫 번째 개발에는 GPT-3 모델을 미세 조정하는 작업이 포함되었으며, 40명의 계약자를 고용하여 알려진 입력이 있는 감독 훈련 데이터 세트를 생성했습니다. 출력은 다음에 사용됩니다. 모델 학습. 입력 또는 프롬프트는 오픈 API에 대한 실제 사용자 입력에서 수집됩니다. 그런 다음 태거는 프롬프트에 적절한 응답을 작성하여 각 입력에 대해 알려진 출력을 생성합니다. 그런 다음 이 새로운 지도 데이터 세트를 사용하여 GPT-3 모델을 미세 조정하여 SFT 모델이라고도 알려진 GPT-3.5를 생성합니다. 🎜🎜팁 데이터 세트의 다양성을 극대화하기 위해 특정 사용자 ID에서 200개의 팁만 가져올 수 있으며 긴 공통 접두어를 공유하는 팁은 제거됩니다. 마지막으로 개인 식별 정보(PII)가 포함된 모든 팁이 제거되었습니다. 🎜<p>OpenAI API에서 프롬프트 정보를 집계한 후 라벨러는 실제 샘플 데이터가 거의 없는 카테고리를 채우기 위해 프롬프트 정보 샘플을 생성하도록 요청받았습니다. 관심 카테고리는 다음과 같습니다: </p>
<ul>
<li>
<strong>일반 팁: </strong>무작위 문의. </li>
<li>
<strong>몇 가지 힌트: </strong>여러 쿼리/답변 쌍이 포함된 지침. </li>
<li>
<strong>사용자 기반 팁: </strong>OpenAI API에 대해 요청된 특정 사용 사례에 해당합니다. </li>
</ul>
<p>응답을 생성할 때 태거는 사용자의 지시가 무엇인지 추론하기 위해 최선을 다해야 합니다. 이 문서에서는 프롬프트가 정보를 요청할 수 있는 세 가지 주요 방법을 설명합니다. </p>
<ul>
<li>
<strong> 직접: </strong> "...에 대해 말해 보세요." </li>
<li>
<strong> 몇 마디: </strong> 이 두 이야기의 예를 제시하고 같은 주제에 대한 다른 이야기를 작성하세요. </li>
<li>
<strong>계속: </strong>이야기의 시작을 알리고 마무리하세요. </li>
</ul>
<p>OpenAI API의 프롬프트와 라벨러가 직접 작성한 프롬프트를 편집하여 감독 모델에 사용할 수 있는 13,000개의 입력/출력 샘플을 생성합니다. </p>
<p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/887/227/168354097256307.png" alt="ChatGPT: 강력한 모델, 주의 메커니즘 및 강화 학습의 융합"></p>
<p style="text-align: center;">"인간 피드백을 통해 지침을 따르도록 언어 모델 훈련" OpenAI 외, 2022 https://arxiv.org/pdf/2203.02155.pdf에서 삽입된 이미지(왼쪽). (오른쪽) 추가 컨텍스트가 빨간색으로 추가되었습니다. </p>
<h2><span style="color: #ffffff;"><span style="background-color: #ef7060;">2단계: 모델 보상 </span></span></h2>
<p>1단계에서 SFT 모델을 훈련한 후 모델은 사용자 프롬프트에 대해 더 좋고 일관된 응답을 생성했습니다. 다음 개선 사항은 훈련 보상 모델의 형태로 이루어졌습니다. 여기서 모델에 대한 입력은 일련의 단서와 응답이고 출력은 보상이라고 하는 확장된 값입니다. 모델이 보상을 최대화하는 출력을 생성하는 방법을 학습하는 강화 학습을 활용하려면 보상 모델이 필요합니다(3단계 참조). </p>
<p>보상 모델을 훈련하기 위해 라벨러는 단일 입력 프롬프트에 대해 4~9개의 SFT 모델 출력을 제공합니다. 그들은 이러한 출력을 최고에서 최악까지 순위를 지정하도록 요청받아 다음과 같은 출력 순위 조합을 만들었습니다. </p>
<p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/887/227/168354097238929.png" alt="ChatGPT: 강력한 모델, 주의 메커니즘 및 강화 학습의 융합"></p>
<p style="text-align: center;">응답 순위 조합의 예. </p>
<p>모델의 각 조합을 별도의 데이터 포인트로 포함하면 과적합(표시된 데이터 이상으로 추정할 수 없음)이 발생합니다. 이 문제를 해결하기 위해 모델은 각 순위 세트를 별도의 데이터 포인트 배치로 사용하여 구축되었습니다. </p>
<p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/887/227/168354097397037.png" alt="ChatGPT: 강력한 모델, 주의 메커니즘 및 강화 학습의 융합"></p>
<p style="text-align: center;">"인간 피드백을 통해 지침을 따르도록 언어 모델 훈련" OpenAI 외, 2022 https://arxiv.org/pdf/2203.02155.pdf에서 삽입된 이미지(왼쪽). (오른쪽) 추가 컨텍스트가 빨간색으로 추가되었습니다. </p>
<h2><span style="color: #ffffff;"><span style="background-color: #ef7060;">3단계: 강화 학습 모델 </span></span></h2>
<p>마지막 단계에서는 모델에 무작위 프롬프트가 표시되고 응답이 반환됩니다. 응답은 2단계에서 모델이 학습한 "정책"을 사용하여 생성됩니다. 정책은 이 경우 보상을 극대화하기 위해 기계가 목표를 달성하는 데 사용하는 방법을 학습한 전략을 나타냅니다. 2단계에서 개발된 보상 모델을 기반으로 큐와 응답 쌍에 대해 확장된 보상 값이 결정됩니다. 그런 다음 보상은 모델에 다시 공급되어 전략을 개발합니다. </p>
<p>2017년 Schulman et al.은 각 응답이 생성될 때 모델의 정책을 업데이트하는 방법인 PPO(Proximal Policy Optimization)를 도입했습니다. PPO는 SFT 모델에 Kullback-Leibler(KL) 페널티를 통합합니다. KL 발산은 두 분포 함수의 유사성을 측정하고 극단적인 거리에 불이익을 줍니다. 이 경우 KL 페널티를 사용하면 1단계에서 훈련된 SFT 모델의 출력에서 응답의 거리를 줄여 보상 모델을 과도하게 최적화하고 인간 의도 데이터 세트에서 너무 많이 벗어나는 것을 방지할 수 있습니다. </p>
<p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/887/227/168354097386857.png" alt="ChatGPT: 강력한 모델, 주의 메커니즘 및 강화 학습의 융합"></p>
<p style="text-align: center;">"인간 피드백을 통해 지침을 따르도록 언어 모델 훈련" OpenAI 외, 2022 https://arxiv.org/pdf/2203.02155.pdf에서 삽입된 이미지(왼쪽). (오른쪽) 추가 컨텍스트가 빨간색으로 추가되었습니다. </p>
<p>프로세스의 2단계와 3단계는 계속해서 반복될 수 있지만 아직 실제로 널리 사용되지는 않습니다. </p>
<p style="text-align:center;"><img src="https://img.php.cn/upload/article/000/887/227/168354097484387.png" alt="ChatGPT: 강력한 모델, 주의 메커니즘 및 강화 학습의 융합"></p>
<p style="text-align: center;">ChatGPT에서 생성된 스크린샷. </p>
<h2><span style="color: #ffffff;"><span style="background-color: #ef7060;">모델 평가</span></span></h2>
<p>모델 평가는 훈련 중에 모델이 보지 못한 테스트 세트를 예약하여 수행됩니다. 테스트 세트에서는 모델이 이전 모델인 GPT-3보다 성능이 더 좋은지 확인하기 위해 일련의 평가가 수행됩니다. </p>
<p>유용성: 사용자 지침을 추론하고 따르는 모델의 능력입니다. 라벨러는 85±3%의 경우 GPT-3보다 InstructGPT의 출력을 선호했습니다. </p>
<p>진정성: 모델이 환각을 느끼는 경향. <code style=" background-color: rgb(231, 243, 237); padding: 1px 3px; border-radius: 4px; Overflow-wrap: break-word; text-indent: 0px; display: inline-block 사용 ;">TruthfulQA
데이터 세트를 평가한 결과 PPO 모델에서 생성된 출력의 신뢰성과 정보성이 약간 증가한 것으로 나타났습니다. TruthfulQA
数据集进行评估时,PPO模型产生的输出在真实性和信息量方面都有小幅增加。
无害性:模型避免不适当的、贬低的和诋毁的内容的能力。无害性是使用RealToxicityPrompts
RealToxicityPrompts
테스트할 데이터 세트입니다. 테스트는 세 가지 조건에서 진행됐다. ChatGPT 및 InstructGPT를 생성하는 데 사용되는 방법에 대한 자세한 내용은 OpenAI에서 발행한 "인간 피드백을 통해 지침을 따르도록 언어 모델 훈련"(2022 https://arxiv.org/pdf/2203.02155) 원본 논문을 읽어보세요. PDF
. ChatGPT에서 생성된 스크린샷. 🎜위 내용은 ChatGPT: 강력한 모델, 주의 메커니즘 및 강화 학습의 융합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!