Language Models are Unsupervised Multitask Learners

jaeyun·2021년 4월 13일
0

논문리딩

목록 보기
5/6
post-thumbnail

논문

https://d4mucfpksywv.cloudfront.net/better-language-models/language-models.pdf

Github

https://github.com/openai/gpt-2

이 논문은 GPT-2에 대한 논문입니다. 기존의 GPT-1보다 어떤점이 더 나아졌는지 잘 살펴보겠습니다.

등장 배경

기존 GPT-1은 대규모의 자연어 데이터로 사전 학습을 먼저 거친 뒤, 사용할 task에 맞게 미세 조정을 했습니다. GPT-2는 이러한 과정조차 다 없애버리고, 미세 조정을 하지 않고도, 각 task에 맞는 수행을 할 수 있도록 제안된 모델입니다. 그렇기 때문에 GPT-2모델은 어마어마하게 큽니다.

※ 미세 조정을 왜 없앤건가요?

한번 사전 학습된 모델을 다시 미세 조정 한다는 것은 시간도, 비용도 많이 드는 방법입니다. 또한 이미 미세 조정한 모델은 해당 task외에는 사용할 수 없다는 문제점이 존재합니다. 따라서 이러한 단점을 보완하고자 미세 조정 단계를 없앤것입니다.

모델 구조

GPT-2의 구조는 GPT-1구조를 거의 따릅니다. 구조 보다는 어떻게 학습하냐를 더 중요시 여겼습니다. 자세한 구조는 Transformer를 참고해주세요.

GPT-1과의 차이점이 있다면, 각 레이어 뒤에 residual connection과 함께 적용되던 레이어 정규화가 각 블록의 입력 쪽으로 위치가 이동하였습니다. 또한 셀프 어텐션 이후 레이어 정규화가 적용됩니다.

학습 방법

먼저 학습 전 데이터셋에서 잠시 말씀드리자면, GPT-1에 사용되었던 데이터보다 훨씬 많은 데이터를 이용하여 학습시켰습니다. 무려 40GB정도의 corpus가 사용되었다고합니다.

기존의 GPT-1은 입력으로 자연어를 입력받으면, 현재 처리하는 단어의 다음 단어를 예측하는 방법으로 학습하였습니다. 하지만 GPT-2는 여러 다른 task들도 함께 처리할 수 있어야 하기 때문에, 입력으로 자연어와 수행해야할 task를 함께 입력받습니다.

GPT-2는 GPT-1처럼 Language Model 디자인을 유지하고, task를 알려주는 특수 토큰을 추가함으로써, 다양한 task를 처리할 수 있습니다.

Question Answering같은 경우에는 다음과 같이 특수 토큰을 추가하여 결과를 얻을 수 있습니다.

결과

아래의 표는 각 파라미터수와, 계층 수, 입력 차원수를 나타냅니다.

아래의 결과는 총 10개의 task에 대한 제안 SOTA와 제안 모델들의 성능입니다.

미세조정 없이도, 8개중 7개의 task에서 SOTA를 달성했습니다. 정말 대단하네요.

(1) Children's Book Tesk

품사에 따른 언어 모델의 성능 측정을 위한 task(data)입니다. 기존 모델을 뛰어넘고, 거의 사람을 따라가네요.

(2) LAMBADA

텍스트 간의 장거리 의존성을 평가하는 data입니다. GPT-2는 최신 기술의 perplexity를 99.8에서 8.6으로 개선시켰고, LM의 정확도는 19%에서 52.66%로 증가하였습니다.

(3) Winograd Schema Challenge

텍스트에 존재하는 모호한 부분을 해석하는 능력을 측정하는 task입니다. 일반 상식 추론 능력을 평가할 수 있습니다.

(4) Reading Comprehension

문서에 대한 질문 및 답변 간의 자연어 대화와 쌍을 이루는 7개의 서로 다른 도메인 문서로 구성됩니다. 읽기 이해 능력과 대화 기록에 의존하는 질문에 대한 대답 능력을 테스트합니다.

(5) Translation

번역 능력을 테스트합니다. GPT-2는 여러 비지도 학습 모델을 능가하지만, 최고의 성능보다는 더 낮은 성능을 보입니다.

(6) Question Answering

질의에 대한 응답을 하는 task로, 답변 채점시 문장이 완벽히 일치해야 옳은 답으로 간주하는 평가 방법을 사용하였습니다.

결론

기존 GPT-1은 사전 학습과 미세 조정을 이용하여 여러 task에 적용했습니다. 하지만 GPT-2같은 경우에는 미세 조정 없이도 여러 task에서 높은 성능을 보입니다.

profile
벨로그에서는 인공지능 관련 포스팅만 합니다! 더 많은 정보는 소개를 참고해주세요!

0개의 댓글