GPT-4의 세부 정보가 유출되다
7 min readJul 15, 2023
최근 전직 아이폰 해커이자 자율주행 스타트업 Comma.ai의 창업자 George Hotz가 GPT-4가 220B x 8-way MoE 모델로 구성되어 있다는 사실을 공개한데 이어 믿을만한 정보 소스인 Semi-Analysis에 의해 GPT-4의 추가적인 비밀이 유출되었다. 이에 대한 OpenAI의 공식적인 코멘트는 없지만 꽤 신빙성 있는 사실로 생각되어 정리하였다.
GPT-4의 아키텍처, 데이터셋, 비용
GPT-4’s Scale
- ~1.8T 파라미터 (1.76T=110B x 16 MoE ↔ GPT-3:175B)
- 120 layers (↔ GPT-3: 96 layers)
MoE(Mixture of Experts)
- GPT-4는 16 experts로 구성된 MoE 구조를 채택하였으며 실제 추론에 2 experts만이 routing됨 (Top-k rounting. k=2)
- GPT-4에 MoE를 도입하여 추론 시 활성화 파라미터를 실제 파라미터의 1/8(=2/16. 220B)수준으로 줄여 연산량을 최적화함
- MoE 모델은 일반적으로 각 토큰을 처리할 experts를 선택하기 위해 고급 routing 알고리즘을 사용함. 하지만 OpenAI는 비교적 간단하지만 효과적인 rounting 알고리즘을 사용함
- ST-MoE: Designing Stable and Transferable Sparse Expert Models (Google Brain)에서는 256개 이하의 experts를 권장함. OpenAI는 그것보다 훨씬 더 작은 16 experts를 GPT-4에 사용함 ➦ 이는 OpenAI가 연산량보다는 정확도에 더 큰 비중을 둔 것으로 추정됨
Efficient Inference
- 각 forward pass에서 single token을 생성하기 위해 대략 280B 파라미터와 560 TFLOPs(Tera floating-point operations per second)가 사용됨
- GPT-4가 순수한 dense model로 구성되었을 경우, forward pass마다 1.8T 파라미터가 연산되기 위해 3700 TFLOPs이 필요함 ➦ OpenAI가 GPT-4의 연산량을 최적화하기 MoE를 채택한 이유임
Datasets
- ~13T tokens으로 학습됨 (↔ PaLM2: 3.6T tokens 학습)
- CommonCrawl (5T tokens) & RefinedWeb (5T tokens) = 총 10T tokens
- 나머지 3T tokens들은 Twitter, Reddit, YouTube와 같은 인기 플랫폼의 컨텐츠와 수백만 권의 책을 보관하는 LibGen과 수많은 과학 논문에 접근을 제공하는 Sci-Hub에서 텍스트 tokens을 가져왔다고 하는 루머가 있음
- ScaleAI에서 가져온 수 M개의 instruction fine-tuning data를 내부적으로 활용하여 모델의 성능을 개선함
8K에서 32K로 미세 조정을 통한 개선
- GPT-4의 pre-training 단계에서는 8K context length를 사용함
- 그 이후 모델 fine-tuning 과정에서 32K 버전의 context length를 갖게 됨
- Context length에 비례하여 학습 연산량이 증가하므로 오랫동안 학습해야 하는 pre-training 시 8K를 사용한 것으로 추정됨. GPT-4는 8K와 32K Context length를 지원하는데 두 가지를 별도로 학습시키에는 학습 비용 문제가 발생할 것으로 예상됨
Training Cost & Utilization ration
- 학습 비용: 약 $63M
- (조건: A100 기준 1$/hr, 25K GPUs 사용. 90~100일 학습)
- Utilization ratio: 32~36% MFU (Most Fequently Used)
Inference Architecture
- 128 GPUs의 cluster로 구성
- 8-way tensor parallelism, 16-way pipeline parallelism 사용
- GPT-4의 120 layers와 16-way pipeline parallelism이 맞지 않음( 120 layers는 pipeline parallelism의 16의 배수가 아님)
- pipeline parallelism의 1st stage는 임베딩을 처리하고 2nd ~ 16th stage는 stage 당 8개의 layer를 처리할 것으로 예상됨
- Microsoft DeepSpeed ZERO-1과 같은 특정 기술이 사용되었을 가능성이 높으나 정확한 방법론은 공개되지 않음
Inference Cost
- GPT-3.5 davinci 모델보다 GPT-4의 추론 비용이 약 3배 더 높음
- 이와 같은 비용 증가는 GPT-4을 지원하기 위해 필요한 클러스터 크기와 낮은 사용률로 인한 것으로 추정됨
- 1) GPT-3보다 더 큰 클러스터가 필요함 (128 GPUs/cluster). 1.8T 파라미터를 Model Parallelism으로 추론하기 위해선 1.8T 파라미터를 저장할 GPU 클러스터가 필요함
- 2) 추론 시 GPT-4의 사용률(utilization rate)가 davinci에 비해 더 낮음. MoE의 특성상 파라미터의 크기는 크지만, 추론 시 일부 파라미터만 활성화되므로 GPU의 사용률이 낮을 수 밖에 없음.
Multi-Query Attention
- MQA(Multi-Query Attention)은 Multi-head를 사용하는 대신 MQA는 한 번에 여러 쿼리를 처리할 수 있도록 single-head를 사용함
- 이를 통해 모델은 single-attention 계산으로 데이터의 여러 측면에 집중할 수 있으므로 모델의 계산 복잡성과 메모리 요구사항이 줄어듬
- MQA의 주요 이점은 KV Cache에 필요한 메모리 용량이 크게 감소시켜 모델의 메모리 효율성을 높임
Vision Multi-Modal
- Web 페이지를 읽고 images/videos를 변환하기 위해 자율 에이전트를 위한 vision encoder를 포함
- DeepMind의 Multi-Modal 모델인 Flamingo와 유사한 모델 구조
- vision encoder는 text encoder와 분리되어 있지만 cross-attention라는 메카니즘을 통해 상호 작용함. vision 및 text encoder는 cross-attention을 통해 정보를 공유하고 서로의 출력에 영향을 줄 수 있음
- vision encoder는 1.8T 파라미터 외에 vision encoder용 파라미터를 GPT-4 모델에 추가함
Speculative Decoding
- Speculative Decoding이 GPT-4 추론에 사용되었을 가능성이 있음
- 미리 여러 토큰을 디코딩하거나 생성하는데 사용되는 더 작고 빠른 draft 모델이 토큰을 생성한 후 더 크고 정확한 oracle 모델에 단일 배치로 공급함. Oracle 모델은 이러한 토큰을 처리하여 draft 모델의 예측을 확인하거나 필요에 따라 조정함
- 이 방식의 장점은 draft 모델이 oracle 모델보다 더 빠르게 작동할 수 있으므로 더 빠른 토큰 생성이 가능하다는 점임
맺음말
독점 foundation model 업체들이 내부 기술 정보를 비밀로 하여 기술적인 해자(moat)를 공고히 하려고 하지만 엔지니어들의 이직이나 교류를 통해 발생하는 기술 정보 유출은 앞으로 쉽게 방지하지 못할 것으로 생각된다.
GPT-4는 새로운 모델 아키텍처를 개발하기 보다는 대규모 학습 데이터셋과 MoE와 같은 아키텍처를 사용하는 것으로 판단하였을 때 독점적foundation model과 오픈소스 foundation model의 기술 격차가 빠르게 좁혀져 나갈 것으로 예상된다.