learningAI
article thumbnail

Chinchilla

Summary

이 모델은 귀여운 친칠라(동물)의 이름을 따서 개발되었다. Chinchilla 논문은 기존의 (모델 사이즈 중심의) scaling law가 잘못되었다는 의견을 제시하며 주어진 컴퓨팅 예산을 모델 사이즈와 학습 토큰에 적절하게 분배할 때 성능이 최적화된다는 의견을 제시한다.

 

논문의 저자들은 기존의 LLM(Large Language Model)들이 상당히 under-trained 되었다는 것을 발견하고, 그 원인이 모델의 사이즈는 증가시키면서 사용하는 데이터의 사이즈는 그대로이기 때문이라는 것을 알게 되었다. 이에 따라 주어진 컴퓨터 예산을 모델 크기와 학습 데이터 크기에 얼마나 할당해야 하는지에 대한 실험을 진행해보니 모델 사이즈/학습 데이터가 동등하게 scaling되어야 한다는 결과가 도출되었다.

 

도출된 scaling-law에 따라 구현된 70B의 파라미터 수를 가진 Chinchilla 모델은 결과적으로 Gopher (280B), GPT-3 (175B), Jurassic-1 (178B), and Megatron-Turing NLG (530B)를 큰 폭으로 능가하는 성능을 보였다 😮

 

Estimating the optimal parameter/training tokens allocation

고정된 컴퓨팅 예산이 주어질 때, 모델 사이즈와 학습 토큰의 수 간의 trade-off를 어떻게 세팅해야 할까?

컴퓨팅 예산은 한정되어 있기에, 보통은 LLM에 대해서 한번의 학습을 진행한다. 따라서 컴퓨팅 예산을 어떻게 분배하느냐가 상당히 중요한 문제가 된다. Chinchilla는 위의 의문점에 따라 세 가지 관점으로 최적의 scaling-law를 탐색한다. 최종 pre-training loss는 $L(N, D)$이며, 이때 $N$은 모델의 파라미터 수를 의미하고 $D$는 사용되는 학습 토큰의 수를 의미한다. 주어진 컴퓨팅 예산 $C$을 FLOPs(N, D)와 같이 함수로 나타낼 때, 최종 목표는 $L$을 최소화시키는 것이다.

 

이때, $N_{opt}$와 $D_{opt}$는 주어진 컴퓨팅 예산에 따라 할당된 최적의 $(N, D)$이다. 실험된 scaling law를 아래 그래프로 미리 확인하자.

 

위 그래프에서 검은색 점선의 그래프는 기존의 scaling-law를 나타내고 있고, 나머지 실선은 논문에서 제시된 최적의 scaling-law이다. 이전의 scaling-law가 모델의 파라미터 수를 증가시키는 것에 치중되었던 반면에, 실선 그래프를 보면 FLOPs가 증가함에 따라 파라미터 수와 학습 데이터의 크기가 거의 동등하게 증가하는 것이 최적임을 보여준다.

 

Approach 1: Model size 고정 & training tokens 변화

첫번째 접근 방법은 모델의 사이즈를 70M~10B 크기의 고정된 모델을 가지고 학습 토큰의 수를 변화시키면서 최적의 세팅을 찾는 방법이다. 

 

Approach 1

위의 그림에서 알 수 있듯이 고정된 크기의 모델들을 1500 logarithmically spaced FLOP에서 학습시킨 것이 가장 왼쪽 그래프이다. 각 모델에 따라 최소 Loss를 그래프로 그렸을 때 두번째와 같은 그래프가 그려진다. 세번째 그래프는 y축을 학습 토큰의 수로 바꾼 것이다. Approach 1에 따르면, $N_{opt} \propto C^a$와 $D_{opt} \propto C^b$에서 $a = 0.50, b = 0.50$으로 계산된다($a$와 $b$는 각각 모델의 사이즈와 학습 토큰의 수가 어느 정도 비율로 scaling되는 것이 최적인지를 말함).

 

Approach 2: Model size 변화, FLOP 고정

두번째 접근 방법은 고정된 FLOP에 따라 모델 사이즈를 변화시켰고, 이에 따라 IsoFLOP curve가 그려진다.

 

Approach 2

고정된 9개의 FLOPs에 따라 모델 사이즈를 변화시켰을때, 왼쪽 그래프와 같은 IsoFLOP curve가 그려진다. 두번째 그래프는 해당 FLOP에 대해 최적의 파라미터 수를 매핑한 것이고, 세번째는 y축을 token 수에 대해서 나타낸 것이다. 이때, $a = 0.49, b = 0.51$이다.

 

Approach 3

마지막 세번째 접근법은 Approach 1 & 2를 종합적으로 실험하여 모델 파라미터 수와 학습 토큰의 수의 변화에 대해 최적의 $a$, $b$를 도출한다. Classical risk decomposition에 따라 다음 수식과 같은 functional form을 정의한다.

 

첫번째 term은 data distribution에서 ideal generative process의 loss를 포착하고, 두번째 항목은 $N$개의 파라미터 수를 가진 모델이 ideal generative process보다 성능이 낮다는 것을 포착한다. 마지막 term은 모델이 수렴까지 학습되지 않다는 사실을 포착한다. 

 

Approach 3

위의 그래프의 오른쪽은 Approach와 비슷하게 FLOP과 모델 사이즈에 따른 loss를 보여주며, 왼쪽 그래프는 loss contour를 그려서 efficient frontier를 긋는다. 왼쪽 그래프에서 매핑된 점의 색이 진할수록 적은 loss를 의미하고, FLOP이 낮을 때 오차 범위가 더 넓은 것을 확인할 수 있다. Efficient frontier는 각 loss contour의 FLOP이 가장 적은 지점을 지나는 log-log space의 실선 그래프이다.

 

Estimated optimal training FLOPs

위의 표는 각 approach에서 계산된 $a$와 $b$를 보여준다. 기존의 scaling-law와는 확연한 차이가 있는 것을 볼 수 있다. Approach 1에 따라 파라미터의 수와 학습 토큰의 수를 동등한 비율로 scaling 한다고 했을 때, 최적의 컴퓨팅 예산의 할당은 다음과 같다.

 

Optimal allocation

Chinchilla

본 논문에서 다룬 optimal scaling에 따르면, Gopher의 컴퓨팅 예산으로는 40B~70B 크기의 모델을 구현하는 것이 가장 정확도가 높을 것이다. 해당 이론에 따라, 70B 파라미터 수를 가지고 학습 토큰의 수가 1.4T인 Chinchilla 모델을 구현했다.

 

Evaluation tasks

모델은 위의 tasks에서 평가되었으며, 주요 benchmark와 모델의 유해성 출력 실험에 대해 알아보자.

 

Language modeling

Language modeling evaluation

위 그래프는 The Pile이라는 평가 데이터셋에 대한 결과를 Gopher와 비교한 결과이며, 모든 subset에 대해 Chinchilla가 우수한 결과를 보였다. Jurassic-1(178B)와 비교했을 때는 2개의 task를 제외한 모든 subset에서 Chinchilla가 우수했다.

 

MMLU

MMLU

MMLU(Massive Multitask Language Understanding)은 시험 형태의 학문적 주제에 대한 문제들을 포함하는 평가 데이터셋이다. Chinchilla는 4개의 task에서 90%가 넘는 정확도를 기록했으며, 전문가들이 예측한 2023 6월 LLM 정확도인 63.4%를 넘는 67.6%의 평균 정확도를 가진다. Gopher와 비교하여 6개의 subsets을 제외한 모든 task에서 Chinchilla가 상당히 우월한 정확도를 기록했다.

 

MMLU evaluation(compared to Gopher)

BIG-bench

.BIG-bench(compared to Gopher)

BIG-bench 데이터셋에서는 4개의 task를 제외한 나머지에서 Chinchilla가 훨씬 뛰어난 성능을 보였다.

 

Gender bias & toxicity

LLM은 성적인 편견이나, 공격적인 말을 할 잠재적인 가능성이 있기에 그 부분에 대해 평가한다.

 

Gender bias

Winogender는 모델이 직업 단어를 정확하게 예측할 수 있는지를 테스트하며, 편향적이지 않은 모델은 대응되는 성별이 어떻든 정확한 예측을 수행할 수 있을 것이다. Gopher와 비교하여 Chinchilla가 정확도가 높은 것을 보아 덜 편향적이라는 것을 알 수 있다.

 

Toxity는 모델의 unprompted 25,000개의 샘플들을 활용하여 PerspectiveAPI로 toxicity score를 계산한다. 평균 toxicity는 Gopher 0.081, Chinchilla가 0.087이었고, 95th percentile score는 Gopher가 0.230, Chinchilla 0.238로 대부분의 모델 출력이 non-toxic한 특징을 띄었고, 두 모델 간의 차이가 미미했다.

 

Conclusion

Chinchilla는 무작정 모델의 사이즈만을 증가시키는 것이 아니라, 학습에 사용되는 데이터의 크기 또한 동등한 비율로 scaling 되어야 한다는 power-law를 제안했다. 이에 따라 같은 FLOPs임에도 학습 토큰 수가 많이 사용된 모델이 더 똑똑하고, 오히려 더 작은 모델을 사용하기 때문에 추론 시간도 짧은 효율성도 챙길 수 있다.

profile

learningAI

@YyunS

인공지능 공부하는 학생입니다!