소문이 도는 것처럼 GPT-4에 투입한 학습 FLOPS가 GPT-3의 70배 정도라고 하면 Anthropic에서 이야기했던 경쟁력 있는 모델 학습에 10^25 FLOPS 정도 규모가 필요하다는 것, 그리고 종종 말이 나왔던 GPT-3의 50배 정도 규모라는 이야기가 그럭저럭 들어맞는 듯 하다.
사실 이 규모만 되어도 학습 데이터가 충분한 게 맞는가 하는 생각이 들지만, 어쨌든 데이터는 충분하다고 했을 때 이 다음 규모로, 다시 수십 배 규모의 연산량을 투입할 수 있을까를 생각해보게 된다. 물론 순전히 재미삼아 하는 추측.
- H100. 대략 A100보다 2배+ 정도의 속도를 기대하는 듯. FP8을 쓰면 다시 두 배 향상시킬 수 있겠지만...이 규모에서 FP8이 정말 안정적으로 돌아갈까?
- GH200. 네트워킹 향상으로 MFU를 향상시킬 수 있을 듯. 그런데 그래서 속도가 얼마나 향상될지는 잘 모르겠다.
하드웨어를 잘 몰라서 어느 정도의 연산량 추가 투입이 가능할지 잘 모르겠지만...10배 규모를 달성하기에도 힘들지 않을까? 생각해본다. 그래서 Sam Altman이 아키텍처적 개선 같은 이야기를 하지 않았을까 싶다. MoE도 그런 차원에서 나온 것일 것이다. 그래서 가능한 아키텍처적 개선에 대해 해보는 생각.
일단 아키텍처적 개선에서 필요 FLOPS에 비해 표현력이 강해 대략 비슷한 학습 스텝에서 성능이 더 나은 모델, 그리고 최종적인 성능에는 크게 차이가 나지 않더라도 학습 속도가 빠른 모델을 생각해볼 수 있을 듯 하다.
- Transformer보다 훨씬 효율적인 아키텍처가 가능할까? 그런데 Transformer에서 대부분의 연산이 요구되는 부분은 matmul, 결국 linear layer, 특히 feedforward layer이고, 이 부분에서 훨씬 더 효율적인 구조가 가능할까 싶다. 그러니까 토큰 단위로 어떤 네트워크를 얹는다고 할 때, 여기서 MLP보다 FLOPS에 비해 훨씬 더 표현력이 강하고 학습이 빠른 모듈이 있어야 한다는 것인데...이후 언급할 sparse model 외에는 뚜렷하지 않은 듯 하다.
- Self Attention보다 학습이 훨씬 더 빠른 메커니즘? 이쪽도 딥 러닝 커뮤니티 전체가 계속 시도해왔지만 특별한 성과는 없다.
feedforward에 비해 필요 FLOPS에 비해 표현력이 강한 모듈로 꼽히는 것이 sparse 모델이고, MoE도 sparse model의 일종이라고 생각하면 GPT-4에 MoE가 들어간 것도 자연스럽다 싶다. 다른 sparse model을 생각해보면 group linear 같이 채널을 쪼개는 방식이나, block sparse 같은 것이 있을 수 있겠는데 (과거 OpenAI는 block sparse 커널을 만들기도 했다. https://github.com/openai/blocksparse), 과연 얼마나 gain이 있을지는 모르겠다. structured sparsity가 NVIDIA의 FLOPS 뻥튀기용으로 많이 등장하는데 학습에 쓸만하지는 않을 것 같다.
일단 16 way MoE라고 하니 보통 MoE transformer에서 나오는 것보다는 좀 작은 수치고, 이걸 더 키우는 것이 가능할 듯. 추론 시점에 골치 아파질 것 같지만 그건 뭐 어떻게든 할 수 있을지도.
학습이 빠르다 쪽으로 가면 트랜스포머를 튜닝해서 학습 속도를 올린 사례가 있었다. 예를 들면 Primer (https://arxiv.org/abs/2109.08668) 같은 것. 열심히 서치해서 찾은 모델이긴 한데 딱히 이후에 채택된 사례는 못 보긴 했다.
혹은 학습 objective를 바꿔서 성능 향상을 노린 시도도 있다. UL2R이 대표적. (https://arxiv.org/abs/2210.11399) 이쪽은 PaLM 2에서 도입되었다고 하는데 얼마나 효과적이었는지 궁금하긴 하다.
여하간 다 합쳐서 생각해봐도 학습 FLOPS가 다시 50배 뛰고 하기는 어려울 것 같다. 뭐 이 규모에서는 말이 50배지 GPT-3의 수천 배 단위가 되는 거니까 쉽지는 않을 듯. 그래서 학습 규모는 좀 더 큰 수준으로 하고 뭔가 계속 문제가 되고 있는 planning 같은 문제에 대응하기 위한 구조 개선 같은 걸 할 것 같기도 하다. 물론 그 이전에 multimodal 대응이 우선이겠지만.
아니면 instruction tuning에 더 집중할 수도 있을 것 같기도 하다. Let's Verify Step by Step (https://arxiv.org/abs/2305.20050) 같은 논문에서 이런 식으로 capability를 주입하는 것에 관심이 있고 하고 있다는 것을 보여주고 있으니 말이다.
그렇지만 또 MMLU 90%+를 달성하기 위해 필요한 FLOPS가 GPT-4의 25배 정도이지 않을까 하는 추측이 있었는데 (https://twitter.com/MatthewJBar/status/1636933957634895872) 그래도 아키텍처적 개선 같은 걸 다 합치면 이 정도는 달성이 되지 않을까 하는 생각도 든다. 어쨌든 GPT-5에서는 MMLU 90%+라는 숫자를 볼 수 있을지도.
ps) Claude 2가 나왔다. https://twitter.com/AnthropicAI/status/1678759122194530304?s=20 아직 위에서 언급한 10^25 FLOPS는 아직인 듯. 요즘 테크 리포트는 건질 게 별로 없는 것 같지만 쥐어짜면 뭔가는 있을 듯 싶다.