brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Mar 22. 2021

어떻게 GPT-3를 30% 향상시켰나?

최근 인도에서 발행하는 애널틱스 온라인 매거진 뉴스레터를 읽다가 한 가지 GPT-3에 대해 흥미로운 논문이 있어서 읽어 보고 간추려 정리해 보았습니다.  UC 버클리, 메릴랜드 대 및 UC 얼바인의 연구원들은 세계에서 가장 큰 언어 모델인 GPT-3를 여러 프롬프트에서 매우 불안정 할 수 있음을 보여 주었습니다. 또한 그들은 GPT-3의 성능과 정확도를 최대 30%까지 향상시키는 상황별 보정 방법을 개발했습니다.


OpenAI의 GPT-3는 자연어 처리 (NLP)의 새로운 지평을 열었습니다. 가짜 블로그 작성부터 레딧 댓글 게시 및 일론 머스크의 트윗 분석에 이르기까지 1,750 억 개의 매개 변수를 가진 자기 회귀(Autoregressive) 언어 모델은 엄청난 잠재력을 보여주었습니다.


왜 이 연구를 했는가?


퓨샷 러닝(Few-shot Learning)은 인공 지능의 중요한 측면입니다. 퓨샷 러닝을 간단히 말하자면, 제한된 소스와 샘플로 작업을 학습시킬 수 있는 능력입니다. GPT-3과 같은 언어 모델은 자연어 프롬프트에서 몇 가지 예를 제공하면 수많은 작업을 수행 할 수 있습니다. GPT-3은 몇 번의 "컨텍스트 내" 학습을 따릅니다. 즉, 모델이 매개 변수 업데이트 없이 학습 할 수 있는 장점이 있습니다. 따라서 퓨샷 학습은 미세 조정의 표준 접근 방식에 비해 다음과 같이 몇 가지 실용적인 장점을 가질 수 있습니다. 


퓨샷 학습을 통해 실무자는 NLP 모델을 빠르게 프로토타이핑 할 수 있습니다.

머신러닝 모델에 대한 완전한 자연어 인터페이스를 제공하여 사용자가 현장의 기술적 전문 지식 없이도 자연어 처리 시스템을 만들 수 있습니다.

컨텍스트 내 학습은 각 작업에 대해 동일한 모델을 재사용하기 때문에 몇 번의 학습은 다른 작업을 수행하면서 메모리 요구 사항과 시스템 복잡성을 줄입니다.


그러나 수많은 장점에도 불구하고 GPT-3과 같은 언어 모델은 여러 프롬프트에서 여전히 매우 불안정 할 수 있습니다. 프롬프트에는 포맷, 학습 샘플 셋과 이러한 샘플에 대한 순열(순서)등  세 가지 구성 요소가 있습니다.


휘발성의 GPT-3


연구원들은 15 억 개의 매개 변수가 있는 GPT-2 와 27억, 130억 및 1,750 억 매개 변수를 포함하여 세 가지 크기의 GPT-3에 대해 실험했습니다. 연구 결과에 따르면 GPT-3의 정확도는 학습 샘플, 순열 및 프롬프트 형식에 따라 다릅니다.


첫째, GPT-3의 정확성은 학습 샘플의 선택과 순열에 크게 좌우됩니다. 이 경우 연구원들은 고정된 프롬프트 형식을 사용하고 다른 무작위 훈련 샘플 셋을 선택했습니다. 각 학습 샘플 셋에 대해 가능한 모든 순열의 정확성을 평가했습니다.


둘째, 정확도는 프롬프트 형식에 따라 크게 달라집니다. 연구자들은 일련의 훈련 샘플과 순열을 고정했지만 프롬프트 포맷을 변경했습니다. 포맷에는 질문-답변 템플릿, 대화 템플릿, 웹 페이지와 유사한 프롬프트 및 레이블 이름의 변형이 포함됩니다. 또한 GPT-3의 정확도가 훈련 샘플, 순열 및 프롬프트 형식에 따라 달라지는 이유를 분석하는 동안 연구원들은 언어 모델이 다음과 같은 답변을 출력하는쪽으로 편향되어 있기 때문에 차이가 발생한다는 것을 발견했습니다.


프롬프트에서 자주 발생 (다수 레이블 편향)

프롬프트가 끝날 때 (최신 성 편향)

사전 훈련 데이터에서 공통적입니다 (공통 토큰 편향)


어떤 메서드를 사용하여 향상 시켰는가


연구원들은 언어 모델을 더 나은 퓨어 샷 러너들로  만드는 간단한 메서드를 상황별 보정(contextual calibration)을 도입했습니다. 상황별 보정의 효과는 모든 데이터셋과 언어 모델에서 평가되었습니다. 연구원들은 이 메서드가 정확도를 최대 30 %까지 향상시키고 분산을 줄였으며 GPT-2 및 GPT-3와 같은 도구를 더 효과적으로 만들었습니다.


사용된 데이터셋들


연구원들은 텍스트 분류, 사실 검색( fact retrieval) 및 정보 추출(information extraction)의 세 가지 주요 작업에 데이터셋을 사용했습니다. 그들은 각 데이터셋에 대해 고정된 프롬프트 형식을 사용했습니다. 텍스트 분류는 6 개의 데이터셋을 사용하여 연구되었습니다.


SST-2를 사용한 감정 분석

TREC를 사용한 6 방향 질문 분류

3-way CB를 사용한 텍스트 포함

SuperGLUE의 바이너리 RTE

4-way AGNews를 사용한 주제 분류

14-way DBPedia 데이터셋


사실 검색 작업은 LAMA 데이터셋으로 평가 되었습니다. 데이터셋은 누락된 개체가 있는 템플릿에 배치되는 지식 기반 트리플로 구성됩니다. 또한 연구원들은 두 개의 슬롯 채우기 데이터셋인 ATIS 및 MIT Movies trivia10k13 데이터셋을 사용하여 정보 추출을 고려했습니다. 


자, 이제 개념 좀 잡으셨죠? 그렇다면 좀더 상세히 논문을 여기에서 다운로드 받아 읽어 보시기를 추천드립니다.


퓨샷 러닝에 대하여  


GPT-3를 30% 로 향상된 메서드에 대해서는 이해 하신 분들이라면 이 부분은 보지 않아도 좋습니다. 퓨샷 러닝에 대해 처음 들어 보신 분들에 대해 조금 더 부연 설명하여 이해를 돕고자 합니다.   


퓨샷 러닝은 메타 학습으로 부터 나왔다고 학계에서는 자주 말합니다. 그렇다면, 메타 학습이 무엇인지 대해 알아보도록 하겠습니다. 메타학습은 알고리즘의 구조 및 최적화 방법을 개발하는 연구뿐만 아니라 다양한 분야 및 데이터에 적용 되어 왔습니다. 메타학습(Meta Learning)이란 자신이 아는 것과 모르는 것을 즉각적으로 구별할 줄 아는 ‘메타 인지’ 로부터 시작한 개념입니다. 


적은 양의 데이터와 주어진 환경만으로도 스스로 학습하고, 학습한 정보와 알고리즘을 새로운 문제에 적용하여 해결하는 학습 방식을 뜻합니다. 딥러닝은 대량의 데이터의 패턴을 찾아내면서 알고리즘을 발전시키는 방식에 반해, 사람은 단 몇 장의 사진만으로도 개와 고양이를 분류하거나 처음 본 종류의 동물조차 스스로 특징을 파악해 분류할 수 있습니다. 


메타학습은 이러한 사람의 학습 과정과 비슷하며, 다른 분야나 새로운 환경에도 적용할 수 있는 특징을 가진다. 이는 기존에 학습한 모델을 이용하여 새로운 문제를 해결하기 위한 연구 분야로 일컬어지기도 하며, 기 학습된 모델을 기반으로 새로운 데이터를 효율적으로 학습시킬 수 있는 기법을 개발하는 것이 메타학습의 주요 목표입니다. 메타학습은 ‘학습하는 방법을 학습한다(learning to learn)’고 알려져 있는데, GPT-3 논문에 보듯이 일반적으로 제로샷 러닝, 원샷 러닝, 퓨샷 러닝 등 3가지의 접근 방식으로 나뉜다


특히, 자연어 처리(Natural Language Processing, NLP) 모델에서 2020년 가장 큰 반향을 불러일으켰던 OpenAI의 생성적 사전 학습(Generative Pre-training, GPT) 시리즈의 세 번째 논문인 “Language Models are Few-Shot Learners”는 NeurIPS 2020의 베스트 논문 중 하나로 뽑혀 퓨샷 러닝에 최적화된 GPT-3 모델을 소개를 했습니다. 


기존의 범용적인 NLP 모델은 여러 태스크들에 따라 미세 조정하는 데에 많은 데이터와 비용을 필요로 해왔습니다. 그러나 GPT-3 는 이러한 미세 조정할 없이 퓨샷 러닝을 통해 몇 개의 샘플만으로도 새로운 태스크에 적용 가능하도록 개발 되었습니다. 


GPT-3 는 GPT-2 의 transformer 기반의 모델 구조를 기반으로 하되 모델의 파라미터의 수를 약 1,750억 개로 증가시켜 약 700GB GPU 메모리 상에서 학습 시켰습니다. GPT-3 는 언어 생성, 기계 번역, 질의 응답 등의 다양한 유형의 실험에서 우수한 성능을 보여 주었습니다. 새로운 단어를 학습하고 사용하는 능력을 측정하는 실험에서 GPT-3 는 실제로 없는 단어를 정의하고 해당 단어를 사용하여 문장을 만들었습니다. GPT-3 의 새로운 단어를 사용하는 능력은 꽤 정확하고 합리적임을 알 수 있었습니다. 


더 읽어 볼 거리들 


Now GPT-3 Get A Performance Boost of 30% 주제에 관련된 Analytics Magazine (영어 원문): https://analyticsindiamag.com/now-gpt-3-gets-a-performance-boost-of-30/
Calibrate Before Use: Improving Few-Shot Performance of Language Models 논문: https://arxiv.org/abs/2102.09690
Calibrate Before Use: Improving Few-Shot Performance of Language Models 논문 관련 소스: https://github.com/tonyzhaozh/few-shot-learning
Transformer: 언어 이해를 위한 새 신경만 구조 논문(한글): https://brunch.co.kr/@synabreu/94
Language Models are Few-Shot Learners 논문(영문): https://arxiv.org/abs/2005.14165
OpenAI 홈페이지 (반드시 GPT-3 예제와 블로그 내용 살펴 볼 것): https://openai.com
Transformer:언어 이해를 위한 새 신경망 구조 논문 블로그(한글): https://brunch.co.kr/@synabreu/94
오픈소싱 BERT:자연어 처리를 위한 최첨단 사전훈련 논문 블로그 (한글): https://brunch.co.kr/@synabreu/83
T5로 전이학습:텍스트-대-텍스트를 트랜스포머로 변환 논문 블로그 (한글): https://brunch.co.kr/@synabreu/49
ALBERT:언어 표현의 자율지도 학습 논문 블로그 (한글): https://brunch.co.kr/@synabreu/32


매거진의 이전글 스탠포드 HAI가 발표한 10대 AI 차트 2021
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari