한 명의 인턴이 3개월 동안 지속적으로 작업하여 결국 시장의 다른 모든 알고리즘, @nvidia의 공식 modelopt를 포함하여 이를 능가하는 양자화(quantization) 방법을 개발했습니다.
이것이 왜 중요한지 설명하기 위해, 여러분의 관심 시간을 정확히 69초만 요청합니다 (평균 독서 속도 238 wpm 기준, 275단어):
프론티어 모델(glm52와 같은)은 매우 거대합니다 (~0.8T 파라미터). 공개된 바에 따르면, 각 파라미터는 2바이트(bf16)를 차지하므로 전체 크기는 약 1.6 tb입니다.
b200은 180gb의 메모리를 가지고 있습니다. 8개의 노드는 1.44 tb를 제공하며, 이는 가중치(weights)에 겨우 맞을 뿐이고 활성화 값/kv 캐시(activations / kv cache)는 훨씬 더 적습니다.
서비스하기 위해서는 모델을 양자화(quantize)해야 합니다 (각 개별 파라미터의 크기를 줄이는 것). fp8 양자화는 각 파라미터가 1바이트를 차지하게 하며 (0.8 tb에 맞음), fp4는 1/2 바이트를 차지합니다 (0.4 tb에 맞음).
모델을 원래 크기의 4분의 1로 줄이는 것은 모델이 a) 저렴하고 b) 빠르게 실행되는 데 필수적이며, 모든 모델 서비스 연구소들이 이렇게 합니다.
하지만 양자화는 올바르게 수행되지 않으면 모델을 마비시킵니다 (이것이 @AnthropicAI가 claude를 약화시키거나 @OpenAI가 codex를 약화시킨다고 불평하는 이유입니다).
현재 여러 알고리즘(Nvidia의 공식 model-opt와 같은)들이 모델을 최소한의 손상으로 양자화하는 방법을 찾으려고 시도하고 있습니다.
이들은 제거할 수 있는 중복 레이어(redundant layers)와 전체 정밀도(full-precision)로 유지해야 하는 민감하거나 중요한 레이어를 찾아냅니다.
이러한 알고리즘들은 두 가지 단점이 있습니다:
- 실행하는 데 오랜 시간이 걸린다.
- 상당히 자주 최적화되지 않은 구성을 초래한다.
지난 3개월 동안, 저희 모델 성능 팀의 연구원(그리고 언제나처럼 waterloo 소속인 @the_joshua_hill)이 새로운 양자화 알고리즘을 개발했습니다.
이것은 일관되게 최적의 구성을 찾아냅니다:
a) SOTA보다 적은 시간 안에
b) SOTA보다 더 공격적인 양자화로
c) SOTA보다 높은 벤치마크 점수로
위 세 가지 중 단 하나를 달성하는 것만으로도 대단한 성과입니다.
세 가지 모두... 이번 주에 논문이 나올 것이 기대됩니다.
[IMG:N]
[IMG:N]
[IMG:N]
[IMG:N]