AI 이해: 컴퓨터에 자연어를 가르친 방법

게시 됨: 2023-11-28

'인공지능'이라는 표현은 1950년대부터 컴퓨터와 관련하여 사용되어 왔지만, 지난해까지만 해도 대부분의 사람들은 AI가 여전히 기술적 현실이라기보다는 공상과학에 가깝다고 생각했을 것입니다.

2022년 11월 OpenAI의 ChatGPT가 등장하면서 머신러닝의 기능에 대한 사람들의 인식이 갑자기 바뀌었습니다. 그런데 세상이 인공지능의 존재를 크게 깨닫게 만든 ChatGPT의 정체는 무엇일까요?

한마디로, 언어 – ChatGPT가 이렇게 놀라운 도약을 느낀 이유는 이전에는 어떤 챗봇도 볼 수 없었던 방식으로 자연어를 유창하게 구사했기 때문입니다.

이는 컴퓨터가 자연어를 해석하고 설득력 있는 응답을 출력하는 능력인 "자연어 처리"(NLP)의 놀라운 새로운 단계를 나타냅니다. ChatGPT는 콘텐츠를 처리하고 생성할 수 있는 대규모 데이터 세트에 대해 훈련된 딥 러닝을 사용하는 일종의 신경망인 "대형 언어 모델"(LLM)을 기반으로 구축되었습니다.

“컴퓨터 프로그램이 어떻게 그토록 유창한 언어를 달성할 수 있었나요?”

그런데 우리는 어떻게 여기까지 왔는가? 컴퓨터 프로그램은 어떻게 그러한 언어적 유창함을 달성했을까요? 어째서 그토록 인간다운 소리를 내는 걸까요?

ChatGPT는 단독으로 만들어진 것이 아니라 최근 수십 년 동안의 수많은 혁신과 발견을 바탕으로 구축되었습니다. ChatGPT로 이어진 일련의 혁신은 모두 컴퓨터 과학의 이정표였지만 인간이 언어를 습득하는 단계를 모방한 것으로 볼 수도 있습니다.

우리는 어떻게 언어를 배우나요?

AI가 어떻게 이 단계에 도달했는지 이해하려면 언어 학습 자체의 특성을 고려해 볼 가치가 있습니다. 단일 단어로 시작한 다음 복잡한 개념, 아이디어 및 지침을 전달할 수 있을 때까지 단어를 더 긴 시퀀스로 결합하기 시작합니다.

예를 들어, 어린이의 언어 습득의 일반적인 단계는 다음과 같습니다.

  • 홀로프라스틱 단계: 9~18개월 사이에 어린이는 자신의 기본적인 욕구나 욕구를 설명하는 단일 단어를 사용하는 방법을 배웁니다. 한 단어로 의사소통한다는 것은 개념적 완전성보다 명확성을 강조한다는 것을 의미합니다. 아이가 배가 고프면 “음식 좀 주세요”나 “배고파요”라고 말하지 않고 단순히 “음식”이나 “우유”라고 말합니다.
  • 두 단어 단계: 18~24개월 동안 아이들은 의사소통 기술을 향상시키기 위해 간단한 두 단어 그룹화를 사용하기 시작합니다. 이제 그들은 “더 많은 음식” 또는 “책 읽기”와 같은 표현으로 자신의 감정과 필요를 전달할 수 있습니다.
  • 전보 단계: 24~30개월 사이에 아이들은 여러 단어를 연결하여 더 복잡한 구와 문장을 만들기 시작합니다. 사용된 단어의 수는 여전히 적지만 올바른 단어 순서와 더 많은 복잡성이 나타나기 시작합니다. 아이들은 “엄마한테 보여주고 싶어”와 같은 기본적인 문장 구성을 배우기 시작합니다.
  • 다중 단어 단계: 30개월이 지나면 아이들은 다중 단어 단계로 전환하기 시작합니다. 이 단계에서 아이들은 문법적으로 더 정확하고 복잡하며 여러 절로 구성된 문장을 사용하기 시작합니다. 이것이 언어습득의 마지막 단계이며, 아이들은 결국 “비가 오면 집에 남아서 게임을 하고 싶다”와 같은 복잡한 문장으로 의사소통을 하게 됩니다.

언어 습득의 첫 번째 주요 단계 중 하나는 매우 간단한 방법으로 단일 단어를 사용하는 능력입니다. 따라서 AI 연구자들이 극복해야 할 첫 번째 장애물은 간단한 단어 연관을 학습하기 위해 모델을 훈련시키는 방법이었습니다.

모델 1 – Word2Vec으로 단일 단어 학습(논문 1 및 논문 2)

이러한 방식으로 단어 연관 학습을 시도한 초기 신경망 모델 중 하나는 Tomaš Mikolov와 Google 연구원 그룹이 개발한 Word2Vec이었습니다. 2013년에 두 편의 논문이 출판되었습니다(이 분야의 발전 속도를 보여줍니다).

이러한 모델은 일반적으로 함께 사용되는 단어를 연관시키는 방법을 학습하여 훈련되었습니다. 이 접근 방식은 의미가 단어 연상에서 파생될 수 있다고 지적한 John R. Firth와 같은 초기 언어 선구자의 직관을 바탕으로 구축되었습니다.

비슷한 의미를 공유하는 단어가 함께 더 자주 나타나는 경향이 있다는 아이디어입니다. "고양이"와 "개"라는 단어는 일반적으로 "사과"나 "컴퓨터"와 같은 단어보다 함께 사용되는 경우가 더 자주 발생합니다. 즉, "고양이"라는 단어가 "사과"나 "컴퓨터"라는 단어보다 "고양이"라는 단어가 "개"라는 단어와 더 유사해야 합니다.

Word2Vec의 흥미로운 점은 이러한 단어 연관을 학습하도록 훈련된 방법입니다.

  • 목표 단어 추측: 모델은 목표 단어가 누락된 고정된 개수의 단어를 입력으로 받고 누락된 목표 단어를 추측해야 했습니다. 이를 CBOW(Continuous Bag Of Words)라고 합니다.
  • 주변 단어 추측: 모델에 단일 단어가 주어진 다음 주변 단어를 추측하는 작업을 수행합니다. 이것은 Skip-Gram으로 알려져 있으며 주변 단어를 예측한다는 점에서 CBOW와 반대되는 접근 방식입니다.

이러한 접근 방식의 한 가지 장점은 모델을 훈련하기 위해 레이블이 지정된 데이터가 필요하지 않다는 것입니다. 예를 들어 감정 분석을 가르치기 위해 텍스트를 "긍정적" 또는 "부정적"으로 설명하는 데이터 레이블을 지정하는 것은 결국 느리고 힘든 작업입니다.

Word2Vec의 가장 놀라운 점 중 하나는 상대적으로 간단한 훈련 접근 방식으로 포착한 복잡한 의미론적 관계였습니다. Word2Vec은 입력 단어를 나타내는 벡터를 출력합니다. 저자는 이러한 벡터에 수학적 연산을 수행함으로써 단어 벡터가 구문적으로 유사한 요소뿐만 아니라 복잡한 의미론적 관계도 포착한다는 것을 보여줄 수 있었습니다.

이러한 관계는 단어가 사용되는 방식과 관련이 있습니다. 저자가 지적한 예는 '왕'과 '여왕', '남자'와 '여자' 같은 단어 사이의 관계였습니다.

하지만 한 단계 더 발전하기는 했지만 Word2Vec에는 한계가 있었습니다. 단어당 하나의 정의만 있었습니다. 예를 들어, "은행"은 은행을 들고 있을 것인지 낚시를 할 것인지에 따라 다른 의미를 가질 수 있다는 것을 모두 알고 있습니다. Word2Vec은 신경쓰지 않았습니다. 단지 "은행"이라는 단어에 대한 하나의 정의만 있었고 모든 상황에서 이를 사용했습니다.

무엇보다도 Word2Vec은 명령은 물론 문장까지 처리할 수 없었습니다. 단어를 입력으로만 취하고 해당 단어에 대해 학습한 "단어 임베딩" 또는 벡터 표현을 출력할 수 있습니다. 이 단일 단어 기반을 구축하기 위해 연구자들은 두 개 이상의 단어를 연속적으로 연결하는 방법을 찾아야 했습니다. 우리는 이것이 언어 습득의 두 단어 단계와 유사하다고 상상할 수 있습니다.

모델 2 – RNN 및 텍스트 시퀀스를 사용한 단어 시퀀스 학습

아이들이 한 단어 사용법을 익히기 시작하면 더 복잡한 생각과 감정을 표현하기 위해 단어를 조합하려고 시도합니다. 마찬가지로, NLP 개발의 다음 단계는 일련의 단어를 처리하는 능력을 개발하는 것이었습니다. 텍스트 시퀀스를 처리할 때의 문제점은 고정된 길이가 없다는 것입니다. 문장의 길이는 몇 단어에서 긴 문단까지 다양할 수 있습니다. 모든 순서가 전체적인 의미와 맥락에 중요한 것은 아닙니다. 하지만 어떤 부분이 가장 관련성이 높은지 파악하려면 전체 시퀀스를 처리할 수 있어야 합니다.

이것이 RNN(Recurrent Neural Networks)이 등장한 곳입니다.

1990년대에 개발된 RNN은 시퀀스의 각 단계를 반복하면서 이전 단계의 출력이 네트워크를 통해 전달되는 루프에서 입력을 처리하는 방식으로 작동합니다.

출처: Christopher Olah의 RNN 블로그 게시물

위 다이어그램은 RNN을 이전 단계(h0, h1, h2…ht)의 출력이 다음 단계로 전달되는 일련의 신경망(A)으로 묘사하는 방법을 보여줍니다. 각 단계에서 새로운 입력(X0, X1, X2 … Xt)도 네트워크에 의해 처리됩니다.

RNN(특히 1997년 Sepp Hochreiter와 Jurgen Schmidhuber가 도입한 특별한 유형의 RNN인 Long Short Term Memory 네트워크(LSTM))를 사용하여 번역과 같은 더 복잡한 작업을 수행할 수 있는 신경망 아키텍처를 만들 수 있었습니다.

2014년에는 Ilya Sutskever(OpenAI의 공동 창립자), Oriol Vinyals 및 Quoc V Le가 Google의 Sequence to Sequence(Seq2Seq) 모델을 설명하는 논문을 발표했습니다. 이 문서에서는 입력 텍스트를 가져와 해당 텍스트의 번역을 반환하도록 신경망을 훈련하는 방법을 보여주었습니다. 이것을 프롬프트를 제공하고 응답을 반환하는 생성 신경망의 초기 예로 생각할 수 있습니다. 그러나 작업은 고정되어 있으므로 번역에 대해 훈련된 경우 다른 작업을 수행하도록 "프롬프트"할 수 없습니다.

이전 모델인 Word2Vec은 단일 단어만 처리할 수 있다는 점을 기억하세요. 따라서 "치과 의사가 내 이빨을 뽑았습니다"와 같은 문장을 전달하면 마치 서로 관련이 없는 것처럼 각 단어에 대한 벡터가 생성됩니다.

그러나 번역과 같은 작업에서는 순서와 컨텍스트가 중요합니다. 개별 단어를 번역할 수는 없으며 단어의 순서를 구문 분석한 다음 결과를 출력해야 합니다. RNN을 사용하면 Seq2Seq 모델이 이러한 방식으로 단어를 처리할 수 있습니다.

Seq2Seq 모델의 핵심은 두 개의 RNN을 연속적으로 사용하는 신경망 설계였습니다. 하나는 텍스트의 입력을 임베딩으로 변환하는 인코더이고, 다른 하나는 인코더에서 출력된 임베딩을 입력으로 사용하는 디코더입니다.

인코더가 각 단계의 입력을 처리한 후에는 임베딩을 번역된 텍스트로 바꾸는 디코더에 출력을 전달하기 시작합니다.

우리는 이러한 모델의 진화를 통해 오늘날 ChatGPT에서 볼 수 있는 것과 간단한 형태로 유사해지기 시작했다는 것을 알 수 있습니다. 그러나 비교했을 때 이러한 모델이 얼마나 제한되어 있는지도 확인할 수 있습니다. 우리 자신의 언어 발달과 마찬가지로, 언어 능력을 실제로 향상시키기 위해서는 더 복잡한 구문과 문장을 만들기 위해 무엇에 주의를 기울여야 하는지 정확히 알아야 합니다.

모델 3 – Transformers를 사용한 주의 및 확장을 통한 학습

우리는 앞서 전신 단계가 아이들이 두 개 이상의 단어로 구성된 짧은 문장을 만들기 시작한 곳이라고 언급했습니다. 이 언어 습득 단계의 주요 측면 중 하나는 어린이가 적절한 문장을 구성하는 방법을 배우기 시작한다는 것입니다.

RNN 및 Seq2Seq 모델은 언어 모델이 여러 단어 시퀀스를 처리하는 데 도움이 되었지만 처리할 수 있는 문장 길이에는 여전히 제한이 있었습니다. 문장 길이가 길어지면 문장의 대부분에 주의를 기울여야 합니다.

예를 들어, “방에 너무 많은 긴장감이 있어서 칼로 잘라버릴 수도 있다”라는 문장을 생각해 보세요. 거기에서 많은 일이 일어나고 있습니다. 여기서 문자 그대로 칼로 무엇인가를 자르는 것이 아니라는 것을 알기 위해서는 문장 앞부분에서 "자르다"를 "긴장"과 연결해야 합니다.

문장 길이가 길어질수록 적절한 의미를 추론하기 위해 어떤 단어가 어떤 단어를 참조하는지 아는 것이 더 어려워집니다. 이것이 바로 RNN이 한계에 직면하기 시작한 곳이며 언어 습득의 다음 단계로 이동하기 위한 새로운 모델이 필요했습니다.

“고정된 단어 수 제한으로 대화가 점점 길어지면 대화를 요약하려고 한다고 생각해 보세요. 모든 단계에서 점점 더 많은 정보를 잃기 시작합니다.”

2017년 Google의 연구원 그룹은 모델이 텍스트의 중요한 맥락에 더 잘 주의를 기울일 수 있도록 하는 기술을 제안하는 논문을 발표했습니다.

그들이 개발한 것은 언어 모델이 텍스트의 입력 시퀀스를 처리하는 동안 필요한 컨텍스트를 보다 쉽게 ​​찾을 수 있는 방법이었습니다. 그들은 이 접근 방식을 "변환기 아키텍처"라고 불렀으며, 이는 현재까지 자연어 처리 분야에서 가장 큰 도약을 의미합니다.

이 조회 메커니즘을 사용하면 이전 단어 중 어떤 단어가 처리 중인 현재 단어에 더 많은 컨텍스트를 제공했는지 모델에서 더 쉽게 식별할 수 있습니다. RNN은 각 단계에서 이미 처리된 모든 단어의 집계된 상태를 전달하여 컨텍스트를 제공하려고 합니다. 고정된 단어 수 제한으로 대화가 점점 길어지면 대화를 요약하려고 한다고 생각해 보세요. 모든 단계에서 점점 더 많은 정보를 잃기 시작합니다. 대신 변환기는 문맥상 현재 단어에 대한 중요성을 기준으로 단어(또는 전체 단어가 아닌 단어의 일부인 토큰)에 가중치를 부여했습니다. 이를 통해 RNN에서 볼 수 있는 병목 현상 없이 더 길고 긴 단어 시퀀스를 처리하는 것이 더 쉬워졌습니다. 이 새로운 주의 메커니즘을 통해 텍스트를 RNN처럼 순차적으로 처리하는 대신 병렬로 처리할 수도 있습니다.

그러니 “동물이 너무 피곤해서 길을 건너지 않았습니다”와 같은 문장을 상상해 보세요. RNN의 경우 각 단계에서 이전 단어를 모두 나타내야 합니다. "it"과 "animal" 사이의 단어 수가 증가함에 따라 RNN이 적절한 컨텍스트를 식별하는 것이 더 어려워집니다.

변환기 아키텍처를 통해 모델은 이제 "it"을 참조할 가능성이 가장 높은 단어를 검색할 수 있습니다. 아래 다이어그램은 변환기 모델이 문장을 처리하려고 시도할 때 텍스트의 "동물" 부분에 집중할 수 있는 방법을 보여줍니다.

출처: 일러스트레이티드 트랜스포머

위의 다이어그램은 네트워크 레이어 5의 주의를 보여줍니다. 각 계층에서 모델은 문장에 대한 이해를 쌓고 그 당시 처리 중인 단계와 더 관련이 있다고 생각하는 입력의 특정 부분에 "주의를 기울입니다". 이 레이어의 "it"에 대해 "animal"을 사용합니다. 출처: 그림이 있는 트랜스포머

"it"과 가장 관련이 있을 가능성이 가장 높은 점수를 가진 단어를 검색할 수 있는 데이터베이스처럼 생각하십시오.

이러한 개발을 통해 언어 모델은 짧은 텍스트 시퀀스를 구문 분석하는 데 국한되지 않았습니다. 대신 더 긴 텍스트 시퀀스를 입력으로 사용할 수 있습니다. 우리는 "참여 대화"를 통해 아이들에게 더 많은 단어를 노출시키는 것이 언어 발달을 향상시키는 데 도움이 된다는 것을 알고 있습니다.

마찬가지로, 새로운 주의 메커니즘을 통해 언어 모델은 더 많고 다양한 유형의 텍스트 훈련 데이터를 구문 분석할 수 있었습니다. 여기에는 Wikipedia 기사, 온라인 포럼, Twitter 및 구문 분석할 수 있는 기타 텍스트 데이터가 포함됩니다. 아동기 발달과 마찬가지로 이러한 모든 단어에 대한 노출과 다양한 맥락에서의 사용법은 언어 모델이 새롭고 더 복잡한 언어 능력을 개발하는 데 도움이 되었습니다.

사람들이 무엇을 배울 수 있는지 확인하기 위해 이러한 모델에 점점 더 많은 데이터를 제공하는 확장 경쟁이 시작된 것은 이 단계에서였습니다. 이 데이터에는 사람이 라벨을 붙일 필요가 없었습니다. 연구원은 인터넷을 스크랩하여 모델에 입력하고 학습한 내용을 확인할 수 있었습니다.

“BERT와 같은 모델은 사용 가능한 모든 자연어 처리 기록을 깨뜨렸습니다. 실제로 이러한 작업에 사용된 테스트 데이터 세트는 이러한 변환기 모델에 비해 너무 단순했습니다."

BERT(변압기의 양방향 인코더 표현) 모델은 몇 가지 이유로 특별히 언급할 가치가 있습니다. Transformer 아키텍처의 핵심인 Attention 기능을 활용한 최초의 모델 중 하나였습니다. 첫째, BERT는 현재 입력의 왼쪽과 오른쪽에 있는 텍스트를 모두 볼 수 있다는 점에서 양방향이었습니다. 이는 텍스트를 왼쪽에서 오른쪽으로 순차적으로만 처리할 수 있는 RNN과 다릅니다. 둘째, BERT는 모델이 "속임수"를 할 수 없도록 무작위 토큰을 "숨기거나" "마스킹"하여 모델이 다양한 입력의 의미를 학습하도록 하는 "마스킹"이라는 새로운 훈련 기술도 사용했습니다. 각 반복에서 단일 토큰에 집중합니다. 마지막으로 BERT는 다양한 NLP 작업을 수행하도록 미세 조정될 수 있습니다. 이러한 작업을 위해 처음부터 훈련할 필요는 없었습니다.

결과는 놀라웠습니다. BERT와 같은 모델은 사용 가능한 모든 자연어 처리 기록을 깨뜨렸습니다. 실제로 이러한 작업에 사용된 테스트 데이터 세트는 이러한 변환기 모델에 비해 너무 단순했습니다.

이제 우리는 새로운 자연어 처리 작업의 기초 모델 역할을 하는 대규모 언어 모델을 훈련할 수 있는 능력을 갖게 되었습니다. 이전에는 사람들이 대부분 처음부터 모델을 훈련했습니다. 하지만 이제 BERT나 초기 GPT 모델과 같은 사전 훈련된 모델은 너무 좋아서 직접 수행할 필요가 없었습니다. 실제로 이러한 모델은 사람들이 상대적으로 적은 수의 예를 사용하여 새로운 작업을 수행할 수 있을 정도로 훌륭하다는 사실을 발견했습니다. 대부분의 사람들이 새로운 개념을 이해하기 위해 너무 많은 예가 필요하지 않은 것과 유사하게 이 모델은 "몇 번의 학습자"로 설명되었습니다.

이는 이러한 모델의 개발과 언어적 능력에 있어서 엄청난 변곡점이었습니다. 이제 우리는 지침 작성에 더 능숙해지기만 하면 되었습니다.

모델 4 – InstructGPT를 사용한 학습 지침

아이들이 언어 습득의 마지막 단계인 다중 단어 단계에서 배우는 것 중 하나는 문장에서 정보를 전달하는 요소를 연결하기 위해 기능어를 사용하는 능력입니다. 기능어는 문장에서 서로 다른 단어 사이의 관계를 알려줍니다. 명령어를 생성하려면 언어 모델이 복잡한 관계를 포착하는 내용 단어와 기능 단어로 문장을 생성할 수 있어야 합니다. 예를 들어, 다음 명령어에는 기능 단어가 굵게 강조 표시되어 있습니다.

  • “편지를 써 주셨으면 좋겠어요 …”
  • 위의 텍스트 에 대해 어떻게 생각 하는지 말해 보세요 .”

그러나 지침을 따르도록 언어 모델을 훈련시키려면 먼저 지침에 대해 이미 알고 있는 내용을 정확히 이해해야 했습니다.

OpenAI의 GPT-3은 2020년에 출시되었습니다. 이는 이러한 모델이 무엇을 할 수 있는지 엿볼 수 있었지만 여전히 이러한 모델의 기본 기능을 잠금 해제하는 방법을 이해해야 했습니다. 이러한 모델이 다양한 작업을 수행하도록 하려면 어떻게 상호작용할 수 있을까요?

예를 들어, GPT-3에서는 모델 크기와 훈련 데이터를 늘리면 저자가 "메타 학습"이라고 부르는 것이 가능하다는 것을 보여주었습니다. 여기서 언어 모델은 예상치 못했던 광범위한 언어 능력을 개발하고 이러한 능력을 사용할 수 있습니다. 주어진 작업을 이해하는 기술.

“모델이 단순히 다음 단어를 예측하는 것이 아니라 명령의 의도를 이해하고 작업을 실행할 수 있을까요?”

GPT-3 및 이전 언어 모델은 이러한 기술을 개발하도록 설계되지 않았으며 대부분 텍스트 시퀀스에서 다음 단어를 예측하도록 훈련되었습니다. 그러나 RNN, Seq2Seq 및 Attention 네트워크의 발전을 통해 이러한 모델은 더 많은 텍스트를 더 긴 시퀀스로 처리하고 관련 컨텍스트에 더 잘 집중할 수 있었습니다.

GPT-3를 우리가 얼마나 멀리까지 갈 수 있는지 알아보는 테스트로 생각할 수 있습니다. 모델을 얼마나 크게 만들 수 있고 모델에 얼마나 많은 텍스트를 제공할 수 있나요? 그런 다음 모델에 입력 텍스트를 입력하여 완료하는 대신 입력 텍스트를 명령으로 사용할 수 있습니다. 모델이 단순히 다음 단어를 예측하는 것이 아니라 명령의 의도를 이해하고 작업을 실행할 수 있을까요? 어떤 면에서는 이러한 모델이 언어 습득의 어느 단계에 도달했는지 이해하려는 것과 같았습니다.

지금은 이것을 '촉구'라고 설명하지만, 2020년에 논문이 나왔을 당시에는 이것은 매우 새로운 개념이었습니다.

환각과 정렬

현재 우리가 알고 있듯이 GPT-3의 문제점은 입력 텍스트의 지침을 밀접하게 준수하는 데 적합하지 않다는 것입니다. GPT-3는 지시를 따를 수 있지만 쉽게 주의를 잃으며 간단한 지시만 이해할 수 있고 꾸며내는 경향이 있습니다. 즉, 모델이 우리의 의도와 "일치"되지 않습니다. 따라서 이제 문제는 모델의 언어 능력을 향상시키는 것이 아니라 지침을 따르는 능력을 향상시키는 것입니다.

GPT-3가 실제로 지침에 대한 교육을 받은 적이 없다는 점은 주목할 가치가 있습니다. 지침이 무엇인지, 다른 텍스트와 어떻게 다른지, 지침을 어떻게 따라야 하는지에 대해서는 알려주지 않았습니다. 어떤 면에서는 다른 텍스트 시퀀스와 같은 프롬프트를 "완성"하도록 함으로써 지침을 따르도록 "속임"되었습니다. 결과적으로 OpenAI는 인간처럼 지시를 더 잘 따를 수 있는 모델을 훈련해야 했습니다. 그리고 그들은 2022년 초에 출판된 인간 피드백으로 지침을 따르기 위한 훈련 언어 모델이라는 적절한 제목의 논문에서 그렇게 했습니다. InstructGPT는 같은 해 후반에 ChatGPT의 전신임이 입증되었습니다.

해당 문서에 설명된 단계는 ChatGPT 교육에도 사용되었습니다. 교육 훈련은 3가지 주요 단계를 따랐습니다.

  • 1단계 – GPT-3 미세 조정: GPT-3는 퓨샷 학습으로 너무 잘 되는 것 같았기 때문에, 질 높은 수업 예시로 미세 조정하면 좋겠다는 생각이 들었습니다. 목표는 생성된 응답에 지침의 의도를 더 쉽게 맞추는 것이었습니다. 이를 위해 OpenAI는 GPT-3를 사용하는 사람들이 제출한 일부 프롬프트에 대한 응답을 작성하도록 인간 라벨러를 확보했습니다. 저자는 실제 지침을 사용하여 사용자가 GPT-3에서 수행하도록 하려는 작업의 현실적인 "분포"를 캡처하기를 바랐습니다. 이러한 지침은 GPT-3의 신속한 대응 능력을 향상시키는 데 도움이 되도록 미세 조정하는 데 사용되었습니다.
  • 2단계 – 인간이 새롭고 개선된 GPT-3의 순위를 매기도록 합니다. 미세 조정된 새로운 GPT-3 지침을 평가하기 위해 라벨러는 이제 사전 정의된 응답 없이 다양한 프롬프트에서 모델 성능을 평가했습니다. 순위는 도움이 되고, 진실되고, 독성이 없고, 편견이 없고, 해롭지 않은 것과 같은 중요한 정렬 요소와 관련이 있습니다. 따라서 모델에 작업을 제공하고 이러한 측정항목을 기반으로 성능을 평가하세요. 그런 다음 이 순위 지정 작업의 결과는 라벨 지정자가 선호할 만한 결과를 예측하기 위해 별도의 모델을 훈련하는 데 사용되었습니다. 이 모델을 보상 모델(RM)이라고 합니다.
  • 3단계 – RM을 사용하여 더 많은 예를 학습합니다. 마지막으로 RM을 사용하여 인간 선호도에 맞는 응답을 더 잘 생성하기 위해 새로운 지침 모델을 학습했습니다.

RLHF(Reinforcement Learning From Human Feedback), 보상 모델, 정책 업데이트 등을 통해 여기서 무슨 일이 일어나고 있는지 완전히 이해하는 것은 까다롭습니다.

이를 생각하는 간단한 방법 중 하나는 인간이 지침을 따르는 방법에 대한 더 나은 예를 생성할 수 있도록 하는 방법일 뿐이라는 것입니다. 예를 들어, 아이에게 감사 인사를 어떻게 가르칠 것인지 생각해 보세요.

  • 부모: “누군가가 X를 주면 고맙다고 말해요.” 이것은 프롬프트와 적절한 응답의 예시 데이터세트인 1단계입니다.
  • 부모: “이제 여기서 Y에게 뭐라고 말하나요?” 이것은 아이에게 응답을 생성하도록 요청하고 부모가 이를 평가하는 2단계입니다. “예, 좋습니다.”
  • 마지막으로, 후속 만남에서 부모는 미래에 비슷한 시나리오에서 좋은 반응이나 나쁜 반응의 예를 바탕으로 아이에게 보상할 것입니다. 강화 행동이 일어나는 단계 3입니다.

OpenAI는 논문에서 표현한 대로 GPT-3과 같은 모델에 이미 존재했지만 "신속한 엔지니어링만으로는 도출하기 어려웠던" 기능을 단순히 잠금 해제하는 것이라고 주장합니다.

즉, ChatGPT는 실제로 " 새로운 " 기능을 학습하는 것이 아니라 단순히 이를 활용하기 위해 더 나은 언어적 " 인터페이스 "를 학습하는 것입니다.

언어의 마법

ChatGPT는 마법 같은 도약처럼 느껴지지만 실제로는 수십 년에 걸친 힘든 기술 발전의 결과입니다.

지난 10년 동안 AI 및 NLP 분야의 주요 발전을 살펴보면 ChatGPT가 어떻게 "거인의 어깨 위에 서 있는지" 알 수 있습니다. 이전 모델은 먼저 단어의 의미를 식별하는 방법을 학습했습니다. 그런 다음 후속 모델은 이러한 단어를 조합하여 번역과 같은 작업을 수행하도록 훈련할 수 있습니다. 일단 그들이 문장을 처리할 수 있게 되면 우리는 이러한 언어 모델이 점점 더 많은 텍스트를 처리하고 이러한 학습을 ​​새롭고 예상치 못한 작업에 적용할 수 있는 능력을 개발할 수 있는 기술을 개발했습니다. 그런 다음 ChatGPT를 사용하여 지침을 자연어 형식으로 지정하여 이러한 모델과 더 효과적으로 상호 작용할 수 있는 기능을 마침내 개발했습니다.

"언어는 우리 생각을 전달하는 수단이므로 컴퓨터에 언어의 모든 힘을 가르치면 독립적인 인공지능이 탄생하게 될까요?"

그러나 NLP의 진화는 우리가 일반적으로 눈이 먼 더 깊은 마법, 즉 언어 자체의 마법과 인간으로서 그것을 획득하는 방법을 드러냅니다.

애초에 아이들이 언어를 배우는 방법에 대해서는 여전히 많은 공개 질문과 논쟁이 있습니다. 모든 언어에 공통된 기본 구조가 있는지에 대한 질문도 있습니다. 인간은 언어를 사용하도록 진화했는가, 아니면 그 반대인가?

흥미로운 점은 ChatGPT와 그 후손이 언어 발달을 향상함에 따라 이러한 모델이 이러한 중요한 질문 중 일부에 답하는 데 도움이 될 수 있다는 것입니다.

마지막으로, 언어는 우리 생각을 전달하는 수단이므로 컴퓨터에 언어의 모든 힘을 가르치면 독립적인 인공 지능이 탄생하게 될까요? 인생에는 언제나 그렇듯이 배울 것이 너무 많습니다.

CTA-인터콤-제품