gnkwon95 / weeklyPaper

0 stars 0 forks source link

230105 GPT #5

Open gnkwon95 opened 1 year ago

gnkwon95 commented 1 year ago

논문 소개

이미 대략적인 내용은 알고, 소개나 실 사용은 다른곳에 더 잘 정리되어있지만 논문 읽는 연습차원에서 정리

기존 최대 학습량인 17 billion (170억) 개에 비해 175 billion (1750억) 파라미터로 학습한 모델을 실험

Introduction

특정 NLP task만 보면 성능이 부족할 수 있지만, 범용적인 툴이 필요 데이터 양이 많을수록 meta learning도 다음 단어 예측과 함께 된다는 가설 기반 ㄴ meta learning = 어떤 문제인지를 파악하는 것 ㄴ in-text learning = meta learning을 글학습과 동시에 함 ㄴㄴ 근거 1: 모델 파라미터 학습과 함께 진행되니, 파라미터가 증가하면 in-text learning도 그대로 될 것 ㄴㄴ 근거 2: 벤치마크에서, 파라미터가 많을수록 few shot 성능 증가폭이 zero shot보다 크니, meta learning도 되고있다는 뜻 ㄴ fine tuning은 포함하지 않음 (instructGPT에서 다룰 예정)

Approach

기본 학습은 GPT2와 같고 (일단 논문 무시) zero,one,few shot 처음 소개 ㄴ 몇개의 예시가 실시간으로 주어졌는지의 차이로, 개별 예시마다 파라미터가 fine tune되는건 아님 총 3천억 토큰 사용, 8개 데이터 크기에서 각각 실험 비교

modified initialization, pre-normalization, reversible tokenization 사용 (GPT2 동일) Sparse Transformer 같이 transformer layer에서는 조금 다른 패턴 사용 학습 파라미터 (layer, head, batch size 등)는 어떻게 해도 크게 영향 없어서 계산 편하고 효율적인 값들로 설정

데이터는 양질의 데이터를 골라야 해서 45TB 중 570GB만 사용됨 ㄴ 1. high-quality 글과의 유사도 기준 ㄴ 2. fuzzy deduplication으로 여러 문서에서 중복제거, overfitting 방지 ㄴ 3. high quality reference corpora (위키문서, WebText 데이터셋 등) 추가 사용 필터되며 양질의 문서는 더 많이 사용되고, 저품질 데이터셋은 많이 걸러졌지만 중복학습된 문서는 없음 이상한 정보가 있는 contamination이 있을 수 있지만 크게 빼지는 않음

few-shot 확인 위해 데이터셋마다 다른 정답셋 구성 (상세 설명 있지만 dataset을 잘 몰라서 스킵) 예시로 사용된건 0~2048개지만 주로 10~100개 사용, 실험셋에 몇개 K로 실험 후 테스트에선 가장 성능좋은 K 사용 이 경우도 multiple choice, completion, QnA 등 질문 유형에 따라 평가 방법 달리 함

Results

power-law (학습데이터 다다익선) 따라가는 패턴 보임 아래 자연어 사용 환경에 대해 실험:

lambada (쉬운 문장 마지막 단어 완성): 성능 개선, zero-shot도 SOTA보다 좋음. few-shot에서 마지막 단어라는 힌트를 주기 때문에 stopwords 없이도 성능 나옴

hellaswag, storycloze처럼 어려운 모델은 SOTA보다 성능이 좋지 못함

주로 단답형 정답 찾는 information retrieval에서 하던 영역 (open book)을 학습셋에 넣어버리는 closed book으로 변환해서 시도

데이터가 늘어날수록 성능 증가하고, few shot은 sota보다 성능 좋음 (zero shot도 성능이 더 좋다고 하는데 그래프상으로는 더 낮아서... 해석 안됨)

데이터 학습량이 많아지고 외국어도 늘어나면서 (7%) GPT2 대비 성능 개선은 됨 하지만 SOTA (supervised learning)에는 아직 미치지 못함 하지만 데이터양에 따라 성능이 꾸준히 증가하고 있고, 감소세가 보이지 않음

대명사와 주어/목적어 연결 과제 쉬운것에선 SOTA 대비 살짝 부족하고, human보다도 조금 부족함 ㄴ shot 증가한다고 성능증가는 없음 어려운 과제에선 성능증가가 발견되고, 다른모델 대비 성능은 좋지 못함

데이터셋에 따라 성능이 다름 shot 증가한다고 성능이 크게 개선되진 않음 PIQA 셋에선 모든 상황에 SOTA 달성함

BERT 베이스라인보단 높지만 SOTA, human보단 성능이 훨씬 낮음

무슨 과제인지 이해 안되는데 큰 성능개선은 없음

단순사칙연산: 숫자가 커질수록 정확성 떨어지지만 쉬운 계산 (덧셈 뺄셈) 두자리는 거의 100% 정확하고 학습량에 스케일링 잘됨 오타나 단어 에러 수정하기: 단어순서 바뀌는것 빼고는 스케일링하지만 성능이 그리 좋지는 않음 비유문제: 작은 모델에선 성능차이 크게 없지만 모델이 커지며 shot 수에 따라 성능 증가함 뉴스생성: 반정도가 사람인지 모델인지 구분 못함 (제일작은 모델 76%, 컨트롤 86% 구분 가능) 신규단어 학습: 적당히 쓸만함 (at least proficient) 문법 고치기: 단어 뜻을 바꿔버리기도 해서 애매함

벤치마크 암기 방지

gnkwon95 commented 1 year ago

논문 외 분석

비용: 천만 달러 (130억원) 추정 수천 petaflops/s-day, (petaflops = 초당 천조번의 신경만 연산)