GPT-Neo 논문) https://arxiv.org/abs/2204.06745
- 개요 : GPT-NeoX-20B는 어떤 모델인가
- 200억 개의 파라미터로 구성된 오픈 소스 자동 회귀 언어 모델
- 자연어 처리에 매우 효과적이며, 특히 few-shot 학습에서 좋은 성능을 보임
- weight, model source 등이 모두 공개되어 있다!
- 모델 설계 및 구현
- GPT-3의 구조를 참고하여 설계된 구조
매개변수 수 1750억 200억 층 수 96 44 숨은 차원 크기 12288 6144 헤드 수 96 64 위치 임베딩 trained 임베딩 로타리 임베딩 계산방식 직렬계산 병렬계산 - 44개 layer // 6144의 hidden dim. size(편의상 숨은 차원의 크기로 번역), 64개 헤드로 구성
- ‘숨은 차원’ → 모델의 각 layer에서 사용되는 벡터의 크기를 의미. 즉, 모델이 정보를 처리하고 표현하는 데 사용되는 내부 공간의 크기가 6144라는 것.
- 헤드: attention 메커니즘에서 사용되는 경로로, 다양한 관점에서 모델이 정보를 처리할 수 있게 해줌
- GPT-3은 alternating dense & sparese layers, 즉 밀집층과 희소층을 번갈아 사용. 그러나 GPT-Neo는 단순성을 위해 모든 층을 dense layer(모든 뉴런이 서로 연결된 층)로 구성
- 로타리 위치 임베딩( Rotary Positional Embeddings) 을 적용함
- 토큰 간의 상대적 위치를 고려하여 임베딩 공간을 변형하는 방식
- 토큰의 위치에 따라 attention이 선형적으로 의존하도록 하기에 학습된 위치 임베딩 대신 사용됨
- 피드 포워드(FF) 레이어와 attention layer을 병렬로 계산하여 처리 속도를 15% 증가시킴
- Feed Forward layer(출력층)은 각 층에서 입력을 받아 비선형 변환을 통해 모델의 표현력을 높이는 데 기여하는 층.
- 또한 20억 개 매개변수 중 19.9억 개는 비임베딩 파라미터이다. 즉 이러한 파라미터들이 모델의 성능을 보다 ‘예측 가능한 방식’으로 확장하는 것을 용이하게 함
- GPT-3 모델의 훈련 데이터는 2020년까지의 대규모 데이터셋인 Pile 활용
- 이 데이터는 22개 source에서 수집된 데이터로, academic/scrapes/internet resource 등 5개 카테고리로 구분되어 있음
- 그러나 중복되는 데이터가 제거되진 않음
- GPT-NEO는 마찬가지로 Pile dataset을 활용
- BPE 기반의 토크나이저를 활용해 약 50,257개 어휘를 가진 모델로 학습시킴
- 다양한 텍스트 소스를 활용하여 일반적인 목적의 토크나이저를 새로 구축
- 성능
- 언어/수학문제/지식 기반 작업 등 여러 task에서 성능이 좋았음
- 특히 few-shot, 그 중에서도 5-shot 평가에서 성능이 두드러지는 양상을 보임
- 시사점 및 결론, 보완점
- HellaSwag은 자연어 처리 모델의 성능을 평가하기 위한 데이터셋 중 하나
- 모델이 문맥을 이해하고 적절한 다음 문장을 예측할 수 있는지를 평가하는 데 사용됨
- 그러나 GPT-NeoX-20B는 HellaSwag에서 FairSeq와 비교하여 낮은 성능을 보임
- 수학 문제 풀이에서도, 다른 모델(FairSeq, GPT-3)등에 비해 성능이 더 좋음.
- 가장 좋은 성능이 두드러지는 건 few-shot learning 부분. few shot learners로 작용할 수 있다는 점은, 적은 데이터로도 학습이 가능하다는 것을 시사하는 만큼 추후 LLM 관련 연구가 활성화되는 데 기여할 수 있을 것으로 보임