AI 모델, 특히 대규모 언어모델(LLM)이나 시각-언어 모델(VLM)이 텍스트를 생성할 때, GPU가 예상외로 많은 시간을 유휴 상태로 보낸다는 사실이 밝혀졌습니다. 문드림(Moondream)은 이러한 'GPU 버블(GPU bubble)' 현상을 해결하기 위해 새로운 추론 엔진 '포톤(Photon)'을 개발했으며, 이를 통해 최대 35% 더 높은 디코드 처리량(decode throughput)을 달성했다고 발표했습니다. 이 기술은 GPU가 다음 작업을 기다리는 시간을 최소화하여 AI 추론 속도를 획기적으로 높이는 데 기여합니다.
일반적인 AI 모델은 한 번에 하나의 토큰(token)을 순차적으로 생성하는데, 이 과정에서 CPU와 GPU 간의 반복적인 통신이 발생합니다. GPU는 실제 모델 연산을 수행하며 대부분의 무거운 작업을 처리하지만, CPU는 다음 요청 선택, GPU에 필요한 메타데이터 설정, 모델 출력에서 토큰 추출 등 다양한 관리 작업을 담당합니다. 문제는 GPU가 처리하는 단일 토큰 작업량은 적은 반면, CPU의 관리 작업은 매번 고정된 비용으로 발생한다는 점입니다. 이로 인해 GPU는 CPU가 다음 작업을 지시할 때까지 유휴 상태로 기다리게 되는데, 이것이 바로 'GPU 버블'입니다. 포톤은 '파이프라인 디코딩(pipelined decoding)'이라는 기법을 사용해 이 문제를 해결합니다. 이는 CPU가 이전 토큰 작업을 마무리하는 동안 GPU가 다음 토큰 작업을 시작하도록 하여 두 가지 유형의 작업을 중첩시키는 방식입니다. 이를 위해 '핑퐁 슬롯(ping-pong slots)'이라는 메커니즘을 도입하여 두 개의 작업 버퍼를 번갈아 사용하고, GPU 메모리에서 직접 다음 토큰을 읽어 CPU 복사 대기 시간을 없앱니다.
이러한 최적화는 AI 서비스의 응답 속도와 효율성에 지대한 영향을 미칠 것입니다. 특히 실시간 상호작용이 중요한 챗봇, 이미지 분석, 음성 인식 등 다양한 AI 애플리케이션에서 사용자 경험을 크게 개선할 수 있습니다. GPU 활용률을 극대화함으로써 동일한 하드웨어로 더 많은 작업을 처리하거나, 더 적은 하드웨어로도 필요한 성능을 달성할 수 있어 운영 비용 절감 효과도 기대할 수 있습니다. 이는 AI 인프라 구축 및 운영에 대한 부담을 줄여 더 많은 기업과 개발자가 고성능 AI를 활용할 수 있는 기회를 제공할 것으로 보입니다.
