ChatGPT 해부: 이 AI 챗봇은 어떻게 훈련되었나
이 글에서는 OpenAI의 ChatGPT를 살펴보며, 작동 원리와 학습 과정, 그리고 인간 피드백을 통한 강화학습(RLHF)의 역할을 설명합니다. 이 글은 기계 번역된 기사입니다. 오역 가능성이 있으면 댓글로 알려주세요.
Created on September 15|Last edited on September 15
Comment
OpenAI의 최신 대화형 모델인 ChatGPT는 출시 직후 인터넷을席권하며 단 5일 만에 100만 명의 사용자를 돌파했습니다. 자연스러운 대화는 물론 시 창작부터 코드 작성, 심지어 가상의 운영체제 구상까지 해내는 성능은 그야말로 놀랍습니다.
대화형 AI는 어떻게 이렇게 빨리 이렇게까지 좋아졌을까? OpenAI는 다음 방식을 통해 그 해답을 찾아낸 것으로 보입니다: 인간 피드백을 통한 강화학습(RLHF) – 사람이 시범을 통해 모델을 원하는 행동으로 유도하도록 하는 방법.
왜 ChatGPT에게 그냥 물어보지 않을까요?

에즈라 파운드급은 아니지만, 그래도 꽤 인상적입니다. 아직 써 보지 않았다면, 무료로 제공되는 연구용 프리뷰를 확인해 보세요. OpenAI 작성 여기이 글에서는 ChatGPT의 학습 기법을 풀어서 설명하고, 그 이면에서 어떤 과정이 이루어지는지 더 깊이 살펴보겠습니다.
ChatGPT의 학습에 관한 근본적인 세부 사항이 공개되지 않았기 때문에, 이 글은 다음을 기반으로 합니다 InstructGPT 논문입니다. 이는 ChatGPT가 InstructGPT의 자매 모델로서, 프롬프트의 지시를 따르고 상세한 응답을 제공하도록 동일하게 학습되었기 때문입니다. 이에 따르면 OpenAIChatGPT는 “데이터 수집 구성에서 약간의 차이만 있을 뿐 InstructGPT와 동일한 방법을 사용해” 학습되었습니다.
다음 내용을 다루겠습니다:
목차
시작해봅시다!
언어적 정렬 문제
현재 대규모 언어 모델(LLM)은 어떻게 학습되나요?
생성형 사전학습 변환기(GPT)와 같은 LLM은 인터넷 전반의 방대한 분포에서 수집된 데이터로부터 언어적 패턴을 학습하도록 훈련된 트랜스포머 모델입니다. 이는 다음 단어를 예측함으로써 이루어집니다 다음 단어 구나 절에서, 또는 a 마스킹된 단어 문장 단위에서 LLM은 사람의 라벨 없이도 단어 사용의 통계를 학습합니다.
그러나 이러한 과제에서 높은 정확도를 달성하더라도, 문장이 놓인 더 깊은 맥락을 이해하지 못해 유용하지 않은 답을 내놓거나, 때때로 사실과 다른(불성실한) 또는 공격적이고 해로운(유해한) 출력을 생성하며, 대화성도 매우 떨어집니다. 덜 정교한 모델의 경우 “누군가를 괴롭히는 방법?”과 같은 프롬프트에 응답을 거부하기보다 실제로 방법을 제시할 수도 있습니다. 이처럼 발생하는 정렬 실패를 방지하는 일은 수백 개의 애플리케이션에 배치되어 사용되는 언어 모델에서는 특히 중요합니다.
왜 일반적인 파인튜닝 방법으로는 안 될까?
사전 학습된 모델이 비교적 일관된 텍스트를 생성하므로, 우리가 원하는 가치들을 어떤 방식으로든 주입할 필요가 있습니다. 파인튜닝. 대규모 라벨링 데모스트레이션 데이터셋 사람의 선호를 충분히 반영하려면 비용이 엄청나게 많이 들고, 객관식 목적 함수로 이를 포착하는 것도 현실적이지 않습니다. 그러나 라벨러가 제공하기에는 비교적 더 쉬운 방식이 있습니다. 점수나 순위와 같은 피드백 고품질 대화를 직접 작성하는 대신, 생성된 모델 응답에 대해 제공합니다.
RLHF가 해결책이다
인간 환경의 가치가 담긴 소수의 피드백을 효율적으로 탐색하고 활용할 수 있는 학습 기법이 필요합니다. 앞 문장이 익숙하게 들리시나요? 우리는 강화학습(RL)을 활용해 인간 피드백(HF)을 보상 신호로 삼아 모델이 효과적으로 학습하도록 하는 효율적인 방법을 이야기하고 있습니다.
RLHF를 통한 바람직한 가치의 증류
학습 절차와 프롬프트 데이터셋 한눈에 보기
우리 맥락에서 RLHF는 정밀한 보상 모델 사람이 평가했을 때 고품질 출력을 생성하는 기준 LM 에이전트를 미세 조정하도록 학습되었습니다. The 행동 공간 RL 에이전트의 행동 공간은 언어 자체의 어휘이며, 응답을 생성할 때 각 단어를 순차적으로 만들어 냅니다.
The 상태 공간 은 프롬프트가 샘플링되는 가능한 입력 토큰 시퀀스의 집합을 의미하며(길이는 약 8K 토큰), The 에피소드 프롬프트에 대한 모델의 응답으로 끝납니다.
대체로 RLHF는 세 가지 핵심 단계로 구성됩니다. 첫째, 데모스트레이션 데이터셋으로 GPT 계열 모델을 미세 조정하여 베이스라인을 만듭니다. 다음으로, 인간 피드백을 사용해 보상 모델을 학습시키고 베이스라인의 응답을 순위화합니다. 마지막으로, 학습된 보상 모델을 이용해 RL 기법으로 베이스라인을 추가 미세 조정합니다.
질의응답부터 요약까지 다양한 유형의 프롬프트를 수집해 정제한 뒤, RLHF의 각 단계에 맞춰 서로 다른 학습 세트와 검증 세트로 구성했습니다. 일부는 고용된 레이블러가 직접 작성했으며, 다른 일부는 레이블러 지시에 따라 여러 개의 질의–응답 쌍을 활용해 합성 생성했습니다. 또한 OpenAI API 플레이그라운드 인터페이스 사용자들이 만든 프롬프트도 일부 포함했습니다.
RLHF의 세 가지 단계 깊이 들여다보기
세 가지 단계를 좀 더 자세히 살펴보겠습니다:
1. 지도 학습 기반 미세 조정(SFT)
- 베이스라인SFT 모델은 주로 프로그래밍 코드에 대해 미세 조정된 GPT‑3 기반의 GPT‑3.5 시리즈 모델로 초기화됩니다. 이 때문에 ChatGPT가 코드 작성, 요약, 디버깅을 도와주는 데 뛰어난 성능을 보입니다.
- 데이터셋: 고품질 레이블러 작성으로 구성됨 시연 응답 위에서 언급한 프롬프트 세트에 대해 원하는 가치를 포착하는
- 학습위의 시연 데이터셋은 지도 학습을 통해 SFT 모델을 미세 조정하는 데 사용됩니다.
- 평가: 최종 SFT 모델 선택은 다음을 기반으로 이루어집니다 2단계의 보상 점수 검증 손실(1단계의 검증 손실) 대신 검증 세트에서의 점수를 기준으로 합니다. 이는 2단계의 보상이 다음과 같이 나타나기 때문입니다 인간의 선호를 더 잘 예측하는 우리의 활용 사례에서 중요한 것은 이후의 평가 점수입니다.

2. 보상 모델(RM) 학습
- 베이스라인: 보상 모델은 …에서 초기화됩니다 6B GPT3 그리고 일부 공개 NLP 데이터셋으로 파인튜닝됩니다. 그 근거는, 응답하는 에이전트를 효과적으로 평가하려면 RM도 그와 동등한 수준의 복잡도를 갖춰야 한다는 점인 듯합니다.
- 데이터셋: 레이블러가 K개의 항목을 순위화한 결과로 구성됩니다 (4~9)개 범위의 모델 출력으로, 동일한 입력 프롬프트에 대해 서로 다른 시드나 모델 인스턴스에서 얻은 응답들입니다. 2단계의 핵심 아이디어는, 이런 비교용 데이터셋을 수집하는 일이 SFT 데이터셋을 만드는 것보다 상대적으로 쉽고 비용도 적게 든다는 점입니다. 모델 응답을 순위화하는 작업은 라벨러가 “정렬된” 데이터셋을 직접 생성하는 것보다 훨씬 수월하기 때문입니다. 또한, 이런 순위화 절차는 (조합 K, 2) 각 프롬프트마다 비교를 수행하므로, 학습에 사용되는 순위 쌍의 수는 프롬프트 수보다 한 자릿수 정도 더 많습니다.
- 학습: RM은 프롬프트를 입력으로 받아 학습되며, x, 그리고 응답, y, SFT 모델에서 받아 하나의 스칼라 보상을 출력하고, r_𝜃(x, y), 최종 프로젝션 레이어를 통해. 각 프롬프트마다, (조합 K, 2) 비교 결과는 효율을 높이기 위해 하나의 배치로 모아 처리됩니다. 연산 효율성 (순전파 횟수를 줄이고) 그리고 검증 정확도 (그렇지 않으면 배치 간 상관관계 때문에 모델이 과적합된다). RM의 손실 함수는..."

…여기서 θ RM의 매개변수이며, y_w 쌍에서 선호되는 응답이다 y_w 그리고 y_l 순위에 기반한다. 여기서의 차이는 로그 오즈 사람 라벨러가 두 응답 중 하나를 더 선호할 것이라는 뜻이다. RM의 손실은 보상 값의 차이에만 의존하므로(보상의 평행 이동에 불변), RM은 정규화된다. 라벨러 시연의 평균 점수가 강화학습 전에 0이 되도록 바이어스를 적용한다.
- 평가검증 손실은 더 낮았지만, 학습이 훨씬 안정적이고 효율적이어서 175B ��모의 RM 대신 6B 모델이 선택되었다.

3. PPO 학습 및 평가
- 베이스라인: RL 에이전트/정책으로서의 SFT 모델
- 데이터셋: 레이블이 없는 입력 프롬프트 세트와, 아래에서 논의하는 “정렬 비용(alignment tax)”을 완화하기 위해 일부 GPT‑3 사전 학습 데이터셋으로 구성됨.
- 학습: RL 환경은 에이전트에게 프롬프트를 제시하고, 그 프롬프트에 대한 응답을 행동으로 기대한다. 주어진 프롬프트와 응답을 바탕으로 RM이 보상을 생성하며, 이는 에이전트를 학습시키는 데 사용된다. PPO, 그리고 에피소드가 끝난다. KL 패널티 이 항은 PPO 모델이 과도하게 최적화되어 SFT 모델과 지나치게 멀어지는 것을 벌점으로 제어하기 위해 추가되며, 때때로 이런 현상이 발생해 횡설수설한 출력을 유발한다. 또한 정책이 단일 모드로 붕괴하지 않고 탐색하도록 장려한다. PPO의 목적 함수는 다음과 같다:

- PPO 세부 사항: Proximal Policy Optimization(PPO)는 “온폴리시(on-policy)” 알고리즘으로, 클리핑된 이점 함수 정책 업데이트 시 갱신된 정책이 이전 정책으로부터 일정 거리 이내에 있도록 한다. 이점 함수는 해당 행동에 대한 현재 반환값(보상)과 그 상태에 있을 때의 예상 반환값의 차이를 의미한다. 후자는 별도의 가치 함수 훈련된 RM으로 초기화되며 베이스라인과 함께 업데이트된다.
- 엔지니어링 핵: 한 정렬 비용 우리의 정렬 절차로 인해 우리가 중요하게 여기는 공개 NLP 데이터셋에서 베이스라인 대비 약간의 성능 저하가 발생하는 현상도 관찰되었다. 이 성능 회귀를 완화하기 위해, 사전 학습된 베이스라인에서 나온 그래디언트와 PPO 그래디언트를 혼합해 학습하는 방법이 도움이 되는 것으로 나타났다.
- 최종 평가: 단계 2와 3을 계속 반복했다. 현재 최적 정책을 대상으로 더 많은 비교 데이터를 수집하고, 이를 사용해 새로운 RM을 학습한 뒤 새 정책을 학습했다. 최종 PPO 모델은 공개 NLP 데이터셋에서 ‘지시 따르기’, ‘진실성’, ‘낮은 독성’과 같은 선호도를 준수하는 측면에서 다른 LM들보다 더 잘 일반화하며, 감독하지 않는 설정에서도 이러한 경향을 보였다.

바로 이것입니다! ChatGPT를 탄생시킨 핵심 단계들은 위와 같습니다! 가장 중요한 요점은 다음과 같습니다. 거대한 시연 데이터셋으로 파인튜닝하는 것에 비해, RLHF로 모델 정렬을 강화하는 데 드는 비용은 상대적으로 적다.
하지만 이 접근법이 만능 해결책이라는 뜻은 아니다. ChatGPT에도 한계가 있다.
RLHF의 한계
여기에는 세 가지 주요 한계가 있다:
- 이 모델은 “인간” 전체의 선호에 맞춰진 것이 아니라, 라벨러와 OpenAI 개발자, 그리고 고객의 선호에 맞춰 정렬되어 있다.
- 우리가 관찰하는 개선이 실제로 RLHF 때문인지, 아니면 새로 확보한 랭킹 데이터셋 때문인지는 여전히 열린 질문이다.
라벨러나 사용자가 모델의 최악의 행동 사례를 찾아내고, 이를 라벨링해 학습 데이터셋에 추가하는 적대적 설정을 활용하면 이러한 한계를 어느 정도 완화할 수 있다.
결론과 미래
한계에도 불구하고 ChatGPT는 여전히 사용자들을 놀라게 하며, 그대로 활용하거나 파인튜닝해 다양한 비즈니스 애플리케이션에 적용할 수 있다. 분명히, 이를 토대로 한층 더 큰 발전이 이어질 것이다. 또한 GPT4의 출시 시기에 대한 기대와 설렘도 매우 크다.
10억 개 파라미터의 ChatGPT가 이렇게 뛰어나다면, 1조 개 파라미터 모델은 얼마나 더 좋을지 상상이 가시나요? RLHF가 모델 정렬의 새로운 표준이 될까요? 아마도 정답을 생각보다 빠르게 얻게 될 가능성이 큽니다.
참고문헌
Add a comment