Non-Monotonic Latency in Apple MPS Decoding: KV Cache Interactions and Execution Regimes
본 논문은 Apple 의 MPS 백엔드가 자기회귀 추론 중 예상치 못한 비단조적 지연 시간 급증을 보이며, 백엔드 실행 동역학으로 인해 특정 구성에서 디코딩 성능이 최대 21 배까지 급격히 저하될 수 있음을 밝히는데, 이는 CPU 및 NVIDIA CUDA 시스템에서 관찰되는 매끄러운 확장성과 대조됩니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
자동차를 타고 고속도로를 달린다고 상상해 보세요. 차에 탑승자 (토큰) 가 더 많이 탈수록 차는 점점 더 느려져야 합니다. 인공지능 (AI) 세계에서는 보통 이렇게 작동할 것이라고 기대합니다: 대화가 길어질수록 다음 단어를 생성하는 데 시간이 더 걸리지만, 그 증가는 매끄럽고 예측 가능해야 합니다.
하지만 이 논문은 애플 컴퓨터 (특히 M 시리즈 칩이 탑재된 기기) 에서 그 '고속도로'가 이상하게 행동한다고 발견했습니다. 매끄러운 경사 대신, 갑자기 나타나서 또 순식간에 사라지는 거대한 속도 저해 구간 (속도 방벽) 을 만나게 됩니다.
다음은 일상적인 비유를 통해 이 논문의 연구 결과를 정리한 것입니다:
1. "유령 속도 방벽"
연구진들은 애플의 그래픽 시스템 (MPS 라고 함) 을 사용해 텍스트를 생성할 때, 단어를 생성하는 데 걸리는 시간이 항상 일정하게 증가하지 않는다는 사실을 발견했습니다.
- 일반적인 기대: AI 에게 100 단어를 쓰라고 하면 1 초가 걸립니다. 200 단어를 요청하면 2 초, 300 단어를 요청하면 3 초가 걸립니다. 이는 단조로운 확장 (매끄럽고 예측 가능한 선) 입니다.
- 애플의 현실: AI 가 496 단어를 쓰는 데 9 초가 걸릴 수 있습니다. 하지만 단어를 16 개 더 요청하면 (총 512 개), 갑자기 89 초가 걸립니다. 그다음 단어를 16 개 더 요청하면 (총 528 개), 다시 순식간에 빨라집니다.
- 비유: 길을 달리는데 명백한 이유 없이 100 피트 구간에서만 진흙탕을 만나 기어가는 속도로 느려지다가, 그 구간을 지나치는 순간 다시 전속력으로 돌아오는 상황을 상상해 보세요. 논문은 이러한 '진흙탕'이 매우 특정한 단어 수 (예: 512 개 또는 384 개) 에서 발생하며, AI 를 평소보다 21 배나 더 느리게 만들 수 있다고 밝혔습니다.
2. "마법의 기억 상자" (KV 캐시)
AI 를 더 빠르게 만들기 위해 엔지니어들은 KV 캐싱이라는 트릭을 사용합니다. 이는 대화의 맥락을 저장하는 '마법의 기억 상자'로, AI 가 새로운 단어를 쓸 때마다 전체 이야기를 다시 읽지 않아도 되도록 합니다.
- 일반적으로: 이 상자는 자동차가 훨씬 빠르게 달릴 수 있게 합니다.
- 문제점: 논문은 AI 가 그 '유령 속도 방벽' (512 단어 구간) 에 도달하면, 마법의 기억 상자가 제대로 작동하지 않는다는 사실을 발견했습니다.
- 결과: 일반적으로 이 상자를 사용하면 AI 가 사용하지 않을 때보다 20 배 더 빠릅니다. 하지만 '나쁜' 단어 수에서는 그 이점이 거의 사라져 버립니다 (1.9 배만 빠름). 상자는 여전히 존재하지만, 교통 체증에 갇혀 있는 것입니다.
3. 연료가 떨어진 것이 아닙니다 (메모리 부족 아님)
AI 가 느려질 때, "아, 컴퓨터 메모리가 부족해졌구나"라고 생각할 수 있습니다.
- 테스트: 연구진들은 컴퓨터의 메모리 사용량을 확인했습니다. 메모리 사용량은 풍선이 부풀어 오르듯 매끄럽고 꾸준히 증가했습니다. AI 가 느려지는 순간에 갑자기 급증하거나 폭주하지는 않았습니다.
- 결론: 느려진 이유는 컴퓨터 공간이 부족해서가 아닙니다. 특정 순간에 소프트웨어 백엔드인 '엔진'이 매우 비효율적인 방식으로 기어를 바꾸기로 갑자기 결정하기 때문입니다. 가솔린 탱크가 가득 차 있음에도 불구하고, 엔진이 몇 초 동안만 다른 끔찍한 연료 혼합물로 작동하기로 갑자기 결정하는 것과 같습니다.
4. 어디서나 발생합니다 (단 한 대의 차가 아님)
연구진들은 다양한 유형의 AI 모델 (GPT-2, BLOOM, OPT) 과 다양한 애플 컴퓨터 (M3 Max 및 M3 Pro) 를 통해 이를 테스트했습니다.
- 발견: '유령 속도 방벽'은 모든 기기에서 나타났습니다. 방벽의 정확한 위치는 차 모델과 엔진 크기에 따라 약간씩 달랐지만, 현상은 동일했습니다.
- 비교: 동일한 AI 를 일반 컴퓨터 (CPU) 나 엔비디아 그래픽 카드 (CUDA) 에서 테스트했을 때는 주행이 매끄러웠습니다. 이 '불규칙한 도로'는 애플의 현재 그래픽 소프트웨어에만 고유한 특징입니다.
5. 이것이 당신에게 중요한 이유
이 논문은 만약 AI 를 한두 가지 특정 길이 (예: "100 단어일 때 속도가 얼마나 빠른지 확인해 보자") 에서만 테스트한다면, 이러한 거대한 속도 저하를 완전히 놓칠 수 있다고 경고합니다.
- 함정: AI 를 벤치마크했을 때 500 단어에서는 빠르다고 보이지만, 512 단어를 확인하지 않으면 시스템이 완벽하다고 생각할 수 있습니다. 하지만 실제로는 사용자의 대화가 그 특정 길이에 도달하면 시스템이 잠시 멈출 수 있습니다.
- 교훈: 단순히 '평균' 속도만 보면 안 됩니다. 애플 칩에서는 생성되는 단어의 정확한 수에 따라 속도가 갑자기 그리고 예측 불가능하게 변할 수 있으므로, 모든 단계를 확인해야 합니다.
요약하자면: 애플의 AI 칩은 강력하지만, 소프트웨어에 숨겨진 특징이 있어 매우 특정 순간에 시스템이 잠시 동안 극도로 느려졌다가 다시 정상으로 돌아옵니다. 이는 충분한 메모리가 있음에도 발생하며, 평소의 '속도 향상 트릭' (KV 캐싱 등) 을 그 순간들에는 훨씬 덜 효과적으로 만듭니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.