AI 모델 및 플랫폼
GPT-3: 언어 모델을 위한 Few Shot 학습?

과거 몇 년 동안, AI 및 ML 산업은 NLP 시스템의 개발 및 응용에서 큰 발전을 이루었습니다. 연구자들은 NLP 실천을 매우 유연하고 작업에 중립적인 방식으로 다운스트림 전송 작업에 구현할 수 있게 되었습니다.
초기에는 단일 레이어 표현이 사용되었으며, 단어 벡터를 사용하고 작업별 아키텍처에 피드되었습니다. 다음에는 RNN 아키텍처가 사용되었으며, 다중 레이어 표현과 컨텍스트 상태를 사용하여 더好的 표현을 형성했습니다. 그리고最近, 전이 언어 모델 또는 사전 학습된 재귀 모델이 나타났으며, 이러한 네트워크를 미세 조정함으로써 작업별 아키텍처의 필요성을 완전히 제거했습니다.
전이 언어 모델은 NLP 산업에서 주요한 전환점을 이루었으며, 질문 응답, 읽기 이해, 텍스트 포함 및 더 많은 작업에서 큰 발전을 이루었습니다.
그러나 이러한 모델에도 불구하고, 전이 언어 모델은 작업별 미세 조정 또는 작업별 데이터 세트가 필요하여 원하는 작업에서 원하는 성능을 달성하는 데 제한이 있습니다. 또한, 전이 언어 모델은 개발자가 특정 작업에 hundreds of thousands개의 예제를 가진 데이터 세트를 미세 조정해야 합니다.
작업별 데이터 세트 및 작업별 미세 조정의 필요성을 제거하는 것은 매우 바람직하며, NLP 산업에서 여러 가지 이유로 유용할 것입니다.
기존 전이 언어 모델 또는 재귀 모델의 문제
- 실용성 및 적용성의 제한
첫째, 각 작업에 대한 대규모 데이터 세트와 레이블이 있는 데이터의 필요성은 언어 모델의 실용성과 적용성을 제한합니다. 언어 모델은 짧은 이야기 생성, 문법 오류 수정, 개념 예제 생성 등 다양한 작업에 적용됩니다. 때때로, 각 작업에 대한 대규모 감독 데이터 세트를 수집하는 것은 어려운 작업입니다.
- 훈련 데이터의 부정확한 상관관계를 이용
훈련 분포의 제한과 모델의 표현력은 훈련 데이터에서 부정확한 상관관계를 이용할 수 있는 잠재적인 성장을 초래할 수 있습니다. 이는 전이 언어 모델이 대규모 정보를吸收하는 방식으로 설계되었기 때문에 미세 조정 및 사전 학습 패러다임에서 문제가 될 수 있습니다.
또한, 이전 모델에 대한 연구는 대규모 모델이 항상 더好的 성능을 나타내지 않는다는 것을示しました. 또한, 이러한 패러다임에서 달성된 일반화는 훈련 데이터에 매우 특정적이기 때문에 모델이 훈련 데이터를 벗어난 상황에서 잘 수행하지 못할 수 있습니다.
- 인간 학습과의 비교
마지막으로, 전이 언어 모델과 비교하여, 인간은 대부분의 언어 작업을 학습하기 위해 대규모 훈련 데이터 세트가 필요하지 않습니다. 대부분의 경우, 자연어 지시 또는 언어 작업의 작은 시연이 인간이 언어 작업을 일정 수준의 경쟁力으로 수행하는 데 충분합니다.
인간의 적응 능력은 실제적인 이점이 많으며, 서로 다른 기술 세트를 전환하거나 混合하여 다이얼로그에서 더好的 성능을 낼 수 있습니다. 이는 현재의 NLP 시스템이 할 수 없는 것입니다.
메타 학습 및 GPT-3를 통한 문제 해결
위의 문제를 해결할 수 있는 가능한 솔루션은 메타 학습입니다. 메타 학습은 모델이 더 큰 패턴을 인식하고 학습하는 능력을 개발할 수 있는 현대적인 ML 개념입니다. 모델은 이러한 학습된 능력을 사용하여 빠르게 적응하거나 작업을 인식합니다.
메타 학습은 언어 모델 아키텍처에서 “컨텍스트 학습”이라는 기술을 통해 구현됩니다. 이 기술은 사전 학습된 언어 모델의 텍스트 입력을 작업 명세로 사용합니다. 모델은 자연어 지시를 조건으로 하며, 몇 가지 시연을 사용할 수 있습니다. 모델은 작업의 나머지 부분을 예측하여 다음 단계를 완료합니다.
메타 학습의 주요 문제는 아직 자연어 아키텍처에서 미세 조정 접근 방식에 비해 열등하다는 것입니다. 그러나 메타 학습은 언어 작업을 극복하는 데 실제적인 방법이 될 수 있습니다.
메타 학습 외에도, 다른 방법은 트랜스포머 언어 모델의 용량을 증가시키는 것입니다. 최근 몇 년 동안, 전이 모델은 100 million 매개변수인 RNSS18 모델, 300 million 매개변수인 DCLT18 모델, 1.5 billion 매개변수인 RWC19 모델, 8 billion 매개변수인 SSP19 모델, 11 billion 매개변수인 RSR19 모델, 17 billion 매개변수인 TUR20 모델과 같은 대규모 매개변수를 갖는 모델이 등장했습니다.
모델의 용량을 증가시키거나 매개변수를 증가시키는 것은 역사적으로 텍스트 합성에서 개선으로 이어졌으며, 로그 손실은 다운스트림 작업과 관련이 있습니다. 이러한 추세는 매개변수의 규모와 함께 개선됩니다.
이것은 GPT-3 모델로 이어지며, 175 billion 매개변수를 갖는 가장 큰 전이 언어 모델입니다. GPT-3 모델에 대해 자세히 살펴보겠습니다.
GPT-3 모델 소개
GPT-3는 175 billion 매개변수를 갖는 자동 공격적 언어 모델로, 2020년에 OpenAI에서 출시되었습니다. GPT-3는 또한 대규모 언어 모델로 분류되며, 이전 모델인 GPT-2 모델과 마찬가지로, 컨볼루션 기반 아키텍처를 사용하여 텍스트 데이터를 생성하는 디코더 전용 딥 러닝 트랜스포머 모델입니다.
GPT-3 모델은 자신의 컨텍스트 학습 능력을 측정하며, 24개 이상의 NLP 데이터 세트와 여러 새로운 작업에서 평가됩니다. 각 작업에 대해, GPT-3 모델은 세 가지 조건에서 평가됩니다.
- Few Shot 학습 또는 컨텍스트 학습: Few Shot 학습에서, GPT-3 모델은 모델의 컨텍스트 창에 맞는 분포를 허용합니다.
- One Shot 학습: One Shot 학습에서, 모델은 하나의 시연만을 허용합니다.
- Zero Shot 학습: Zero Shot 학습에서, 모델은 시연이 없습니다. 모델은 자연어 지시만을 받습니다.

일반적으로, GPT-3 모델은 Zero Shot 및 One Shot 설정에서 원하는 성능을 달성하며, Few Shot 설정에서 대부분의 경우 상태-of-the-art 전이 모델을 초과합니다. 또한, GPT-3 모델은 자연어 작업에서 빠른 推論 또는 신속한 주의가 필요한 작업에서 잘 수행합니다.

GPT-3 모델: 접근 방식
GPT-3 모델은 모델, 데이터, 훈련으로 구성된 전통적인 사전 학습 접근 방식을 사용합니다. 이는 RWC-19 전이 언어 모델의 사전 학습 과정과 유사합니다. GPT-3 모델은 모델 크기, 데이터 세트 크기, 데이터 세트의 다양성, 훈련 기간을 증가시킵니다.
모델은 또한 컨텍스트 학습 접근 방식을 사용하며, 이는 RWC-19 모델의 접근 방식과 유사하지만, 데이터 세트 내에서 패턴을 학습하는 설정을 체계적으로 탐색합니다.
따라서, 이러한 설정을 탐색하여 GPT-3 모델이 다양한 설정에서 어떻게 수행하는지 평가해 보겠습니다.
미세 조정
미세 조정은 전이 언어 모델에서 전통적인 접근 방식입니다. 이 접근 방식은 작업별 데이터 세트에 대한 모델의 가중치를 업데이트하는 것을 포함합니다. 수백 개의 레이블이 있는 예제가 사용됩니다.
미세 조정 접근 방식은 강력한 성능을 반환하는 데 유용합니다. 그러나, 미세 조정 접근 방식의 주요 제한은 각 작업에 대한 새로운 대규모 데이터 세트가 필요하며, 훈련 데이터 세트의 부정확한 특징을 이용할 수 있습니다.
GPT-3 모델의 현재 범위는 미세 조정 접근 방식을 구현하지 않습니다. 그러나 미세 조정은 향후 GPT-3 모델에 적용될 수 있습니다.
Few Shot
Few Shot은 모델이 작업을 조건으로 하는 동안 몇 가지 시연을 받는 설정을 말합니다. 그러나, 모델의 가중치는 업데이트되지 않습니다. Few Shot 설정에서, 데이터 세트는 일반적으로 컨텍스트와 원하는 완성을 포함합니다.
Few Shot 설정의 주요 이점은 작업별 데이터의 필요성을 크게 줄입니다. 그러나, Few Shot 학습의 결과는 다른 상태-of-the-art 모델에 비해 좋지 않을 수 있습니다.
One Shot
One Shot 설정에서, 모델은 하나의 시연을 받습니다. 이는 Few Shot 설정과 유사하지만, 모델은 하나의 시연만을 받습니다.
One Shot 설정은 작업을 인간에게 전달하는 방식과 가장 유사합니다. 대부분의 작업에서, 작업을 이해하기 위해 하나의 시연이 필요할 수 있습니다.
Zero Shot
Zero Shot 설정에서, 모델은 시연이 없습니다. 모델은 자연어 지시만을 받습니다. Zero Shot 설정은 가장 편리하며, 부정확한 상관관계를 피할 수 있습니다. 그러나, 이는 가장 어려운 설정입니다.
그러나, 일부 작업에서는 Zero Shot 설정이 인간이 자연어 작업을 수행하는 방식과 가장 유사합니다.

위의 그림은 Few Shot, One Shot, Zero Shot 설정에서 자연어 작업을 수행하는 것을 비교합니다.
GPT-3: 모델 아키텍처
GPT-3 모델은 GPT-2 모델에서 사용된 동일한 아키텍처를 사용합니다. 이는 전-정규화, 수정된 초기화, 가역 토큰화 기술을 포함합니다. 그러나, 로컬 밴드 스파스 어텐션 패턴과 트랜스포머 레이어의 대체 전략을 사용합니다.
모델의 성능에 대한 모델 크기 의존성을 연구하기 위해, 개발자는 125 million에서 175 billion 매개변수까지의 3つの 크기 범위에 걸친 8개의 다른 모델 크기를 훈련했습니다. 이전의 LLM 모델에 대한 연구는 유효성 손실이 충분한 훈련 데이터의 경우 매개변수 크기의 함수로 매끄러운 전력 법칙을 따라야 함을示했습니다.

위의 그림은 8개의 다른 모델의 크기와 아키텍처를 비교합니다. 여기서 n(params)は 훈련 가능한 매개변수의 총 수를 정의하며, n(layers)は 모델의 총 레이어 수를 정의하며, d(model)は 병목 레이어의 단위 수를 정의하며, d(head)は 각 어텐션 헤드의 차원을 정의합니다. 각 모델의 컨텍스트 창은 2048 토큰입니다.
さらに, 모델을 노드 간의 데이터 전송을 최소화하기 위해, 모델은 깊이와 너비의 차원으로GPU에 분할됩니다. 각 모델의 아키텍처 매개변수는 계산 효율성과 최대 정밀도에 대한 로드 밸런싱을 기반으로 선택되었습니다.
훈련 데이터 세트
일반적으로, 대규모 언어 모델은 최근 개발로 인해 크게 확장된 데이터 세트를 사용합니다. 이는 1조 개 이상의 단어가 포함된 Common Crawl 데이터 세트로 구성됩니다. 데이터 세트의 크기는 GPT-3 모델을 훈련하는 데 충분합니다.
그러나, 연구와 성능 분석은 Common Crawl 데이터 세트의 품질이 더 정리된 데이터 세트에 비해 낮다는 것을示했습니다. 따라서, 개발자는 데이터 세트의 품질을 높이기 위해 3つの 단계를 수행했습니다.
- 개발자는 높은 품질의 참조 코퍼스를 기반으로 범위가 유사한 Common Crawl 데이터 세트의 버전을 다운로드하고 필터링했습니다.
- 개발자는 문서 수준에서 데이터 세트 전체에 걸쳐 퍼지 중복을 수행하여 과적합을 측정하는 데 효과적인 검증 세트의 무결성을 유지했습니다.
- 개발자는 데이터 세트의 다양성을 높이고 품질을 높이기 위해 높은 품질의 참조 코퍼스를 훈련 데이터에 추가했습니다.
다음 그림은 GPT-3 모델을 훈련하는 데 사용된 데이터 세트의 최종 비율 또는 혼합을示합니다. Common Crawl 데이터는 필터링 전 45 TB의 평면 텍스트로 구성되며, 필터링 후 570 GB의 데이터로 줄어들었습니다. 이는 약 400억개의 바이트 쌍으로 인코딩된 토큰에 해당합니다.

대규모 언어 모델은 인터넷 데이터에서 대규모 컨텐츠를 학습하고 메모라이즈할 수 있으므로, 다운스트림 작업의 개발 또는 테스트 세트가 사전 훈련 과정에서 보인 경우에 컨테이미네이션될 수 있습니다. 이러한 컨테이미네이션의 잠재적인 위험을 줄이기 위해, 개발자는 GPT-3 모델을 평가하는 벤치마크의 테스트 및 개발 세트와의 중복을 검색하고 이러한 중복을 제거하려고 시도했습니다.

위의 그림은 GPT-3 모델을 훈련하는 데 사용된 총 컴퓨팅 파워를示합니다. 모델은 Neural Language Models을 위한 스케일링 법칙을 사용하여 훨씬 더 큰 모델을 더 적은 토큰으로 훈련합니다. 결과적으로, GPT-3 모델과 10배 더 작은 RoBERTa-Large 모델은 모두 사전 훈련 과정에서 약 50 페타플롭스의 컴퓨팅 파워를 사용했습니다.
평가
Few Shot 학습의 경우, 모델은 평가 데이터 세트의 각 예제를 작업의 훈련 데이터 세트에서 K개의 예제를 무작위로 추출하여 조건으로 하여 평가합니다. K는 0에서 모델의 컨텍스트 창에 맞는 최대 값까지의任意 값일 수 있습니다.
K는 일반적으로 10에서 100개의 예제를 포함하는 값입니다. 더 큰 K 값은 일반적으로 더好的 결과를 반환하지만, 항상 그렇지는 않습니다. 테스트 세트와 별도의 개발 세트가 있는 경우, 모델은 개발 세트에서 K의 몇 가지 값을 실험하고, 테스트 세트에서 최고의 값을 실행합니다.
さらに, 여러 옵션 중에서 올바른 완성을 선택하는 작업의 경우, 개발자는 K개의 예제와 컨텍스트 완성을 제공하고, 하나의 컨텍스트만을 제공합니다. 작업은 LM 가능성에 따라 완성을 비교합니다.
이진 분류 작업의 경우, 모델은 의미가 더 있고 이름이 더 의미 있는 옵션을 제공하고, 작업을 다중 선택으로 처리합니다.
결과

위의 그림은 GPT-3 모델 아키텍처에서 사용된 8개의 다른 모델의 훈련 곡선을示합니다. 결과는 KMH 언어 모델의 결과와 유사하며, GPT-3 모델의 성능은 훈련 컴퓨팅을 효과적으로 사용할 때 적절한 법칙을 따릅니다. 그러나, 2개의 추가적인 크기 범위로 추세를 확장할 때, 약간의 차이가 있습니다.
데이터 세트는 8개의 다른 카테고리로 그룹화되며, 이는 유사한 작업을 나타냅니다. 이러한 카테고리는
- 전통적인 언어 모델링 작업 및 언어 모델링과 유사한 작업의 평가.
- “닫힌 책” 질문 응답 작업의 평가.
- 언어 간 번역의 평가.
- Winograd 스키마와 같은 작업의 평가.
- 상식 추론 또는 질문 응답 작업의 평가.
- 읽기 이해 작업의 평가.
- SuperGLUE 벤치마크 스위트의 평가.
- NLI의 탐색.
언어 모델링, 완성, 및 클로즈 작업
이 섹션에서는 GPT-3 모델의 성능을 전통적인 언어 모델링 작업 및 단어 또는 텍스트의 예측이 필요한 작업에서 평가합니다.
언어 모델링
GPT-3 모델은 PTB 또는 펜 트리 뱅크 데이터 세트에서 Zero Shot 퍼플렉시티를 계산합니다. 모델은 위키백과 관련 작업을 생략하며, 1억 단어 벤치마크도 생략합니다.
LAMBADA
LAMBADA 데이터 세트는 문단 또는 텍스트의 장거리 의존성을 모델링하는 모델의 능력을 테스트하는 데 사용됩니다. 모델은 문단의 마지막 단어를 예측하도록 요청받습니다.

GPT-3 모델은 LAMBADA에서 76%의 정확도를 달성하며, 이전 최고 모델보다 8%의 향상을 보여줍니다.
さらに, LAMBADA 모델은 Few Shot 학습의 유연성을 보여줍니다. 문장의 완성을 위한 예제는 일반적으로 문장의 마지막 단어이지만, 언어 모델은 문장의 다른 완성을 할당할 수 있습니다.
닫힌 책 질문 응답
닫힌 책 질문 응답은 모델의 광범위한 사실 지식에 대한 능력을 측정하는 데 사용됩니다. 이러한 질문은 일반적으로 정보 검색 시스템과 함께 사용되며, 모델은 관련 텍스트를 찾고 응답을 생성합니다.

GPT-3 모델은 TriviaQA 데이터 세트에서 64.3%의 정확도를 달성하며, One Shot 설정에서 68%, Few Shot 설정에서 71.2%의 정확도를 달성합니다.
GPT-3 모델은 Zero Shot 설정에서 미세 조정된 T5-11B 모델보다 14% 더 높은 정확도를 달성합니다.

위의 그림은 모델의 크기가 증가함에 따라 성능이 매끄럽게 증가하는 것을示합니다. 이는 언어 모델이 데이터 세트에서 계속해서 학습할 수 있음을示합니다.
최종 생각
GPT-3는 언어 모델링 산업에서革命적인 단계였으며, 언어 모델이 할 수 있는 것의 한계를 넓혔습니다. GPT-3가 달성한 개발과 극복한 장애물은 현재까지 가장 발전된 언어 모델인 GPT-4를 가능하게 했습니다.












