Accelerating Offloading-Based MoE Inference by Interleaving Concurrent Requests
이 논문은 부정확한 예측에 의존하지 않고 전문가 페칭(expert fetching)과 연산을 중첩시키기 위해 동시 요청을 인터리빙하는 자가 균형 스케줄러를 채택함으로써, 기존의 프리페칭 방식보다 뛰어난 성능을 보이는 MoE 추론 시스템인 Bevy를 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
개인용 컴퓨터의 조용한 웅성거림 속에서, 새로운 종류의 지능이 뿌리를 내리고 있습니다. 현대적인 챗봇과 글쓰기 보조 도구의 엔진인 거대 언어 모델은 점점 더 데스크톱이나 워크스테이션 같은 로컬 기기로 이동하고 있습니다. 이러한 변화는 사용자가 인터넷에 의존하지 않고도 이 강력한 도구들을 실행할 수 있게 해주지만, 컴퓨터의 메모리가 제한적이라는 물리적 제약을 불러옵니다. 이러한 모델을 적재적절하게 맞추기 위해 연구자들은 "전문가 혼합(mixture of experts)"이라고 불리는 기술을 사용합니다. 방대한 지식의 도서관에서 질문이 던져질 때마다, 나머지 책들은 건드리지 않은 채 오직 몇 권의 특정 책들만 선반에서 꺼내 읽는 것을 상상해 보십시오. 이는 작업을 빠르고 효율적으로 유지해 줍니다. 하지만 개인용 기기에서는 단 한 순간에 필요한 "몇 권의 책"조차 한꺼번에 컴퓨터의 활성 메모리에 들어가지 못할 수도 있습니다. 컴퓨터가 그곳에 없는 책을 필요로 할 때, 생각하는 과정을 멈추고 더 느린 저장 장치로부터 그것을 가져와야 하며, 이 과정에서 프로세서는 아무것도 하지 못한 채 기다리게 됩니다.
수년 동안 이 기다림의 게임에 대한 표준적인 해결책은 예측이었습니다. 시스템은 다음에 어떤 책이 필요할지 추측하여, 프로세서가 현재 작업에 매진하는 동안 미리 책을 가져다 놓으려 합니다. 이것은 마치 당신이 한 장을 읽고 있는 동안, 사서가 다음 장을 조용히 선반에서 꺼내어 당신이 페이지를 넘길 때 바로 읽을 수 있도록 준비해 두는 것과 같습니다. 그러나 서울대학교와 예일 대학교의 연구팀은 컴퓨터가 이미 유용한 책들을 활성 메모리에 작은 캐시 형태로 보관하고 있을 때, 이 전략이 자주 실패한다는 사실을 발견했습니다. 캐시에 가장 유용한 책들이 가득 차게 되면, 사서의 추측은 정확도가 떨어지게 되고, 결국 열어보지도 않을 책들을 가져오는 데 시간과 대역폭을 낭비하게 됩니다. 연구자들은 미래를 예측하려 하는 대신, 더 나은 방법, 즉 단순히 작업이 다른 순서로 진행되도록 하는 방법을 찾아냈습니다. 서로 다른 요청들이 각자의 속도에 맞춰 진행되도록 허용함으로써, 시스템은 추측 없이도 다음에 정확히 무엇이 필요한지를 드러낼 수 있으며, 이를 통해 유휴 대기 시간을 생산적인 작업으로 바꿀 수 있습니다.
유홍승(Hongseung Yu)과 이균한(Kyunghan Lee)이 이끄는 연구진은 이 아이디어를 테스트하기 위해 '베비(Bevy)'라는 새로운 시스템을 구축했습니다. 그들은 여러 요청이 동시에 모델로 전송될 때(예를 들어, 한 사용자가 코드 리뷰를 요청하는 동안 소프트웨어의 다른 부분이 이메일을 확인하는 경우), 모든 요청이 동시에 동일한 책을 필요로 하지는 않는다는 점을 관찰했습니다. 전통적인 시스템에서는 모든 요청이 다음 단계로 넘어가기 위해 필요한 모든 책을 다 모을 때까지 컴퓨터가 기다립니다. 이는 저장 장치가 작동하는 동안 프로세서가 가만히 앉아 있게 만드는 병목 현상을 만듭니다. 베비는 이 리듬을 바꿉니다. 베비는 필요한 책을 모두 갖춘 요청이 즉시 다음 단계로 넘어갈 수 있게 허용하는 한편, 다른 요청들은 필요한 책이 도착할 때까지 기다리게 합니다. 준비된 요청이 앞으로 나아가면서, 그 요청은 다음 단계에서 어떤 책이 필요할지를 정확히 드러냅니다. 그러면 시스템은 프로세서가 준비된 요청을 처리하는 동안 그 특정 책들을 가져옵니다. 이는 저장 장치와 프로세서가 동시에 작업하면서도, 예측 없이도 매끄럽게 겹쳐서 돌아가는 흐름을 만들어냅니다.
이것을 원활하게 만드는 핵심은 요청을 어떻게 그룹화할지 결정하는 자가 균형 스케줄러(self-balancing scheduler)입니다. 만약 시스템이 단순히 모든 요청을 개별적으로 실행하게 둔다면, 프로세서는 각 요청에 대해 동일한 공유 책들을 메모리에서 반복해서 읽어야 하므로 모든 것이 느려질 것입니다. 반대로 모든 요청을 너무 경직되게 하나로 묶는다면, 빠른 요청들이 앞서 나가는 이점을 잃게 될 것입니다. 베비는 요청들을 레이어 단위로 동적으로 그룹화함으로써 이 문제를 해결합니다. 만약 많은 요청이 동시에 준비되어 있다면, 효율성을 극대화하기 위해 이들을 하나의 배치(batch)로 묶습니다. 만약 다른 요청들이 책을 기다리는 동안 몇 개의 요청만 준비되어 있다면, 그 소수의 요청들을 작은 그룹으로 나누어 앞서 나가게 합니다. 이러한 유연성은 프로세서가 그룹이 형성되기를 기다리느라 유휴 상태가 되지 않게 하고, 저장 장치가 요청이 끝나기를 기다리느라 놀지 않게 합니다. 시스템은 요청의 변화하는 요구에 실시간으로 적응하며, 계산과 가져오기가 자연스럽게 병렬로 일어나는 흐름을 만들어냅니다.
이 접근 방식의 결과는 애플 칩을 사용하는 플랫폼과 128GB의 통합 메모리와 삼성 9100 PRO 2TB SSD를 갖춘 NVIDIA Jetson AGX Thor 개발 키트를 사용하는 플랫폼, 두 가지 서로 다른 로컬 컴퓨팅 플랫폼에서 측정되었습니다. 연구진은 베비를 llama.cpp와 같은 인기 있는 소프트웨어에서 사용하는 표준 방식 및 현재 사용 가능한 가장 진보된 예측 기반 시스템들과 비교했습니다. 그 결과, 베비가 다른 시스템들을 일관되게 능가한다는 것을 발견했습니다. 다양한 수의 동시 요청을 대상으로 한 테스트에서, 베비는 표준 방식보다 최대 3.46배 더 많은 작업을 초당 수행했으며, 가장 빠른 예측 기반 시스템보다 최대 1.55배 더 높은 성능을 보였습니다. 개선 효과는 컴퓨터가 한꺼번에 많은 요청을 처리해야 할 때 가장 두드러졌습니다. 연구진이 이미 메모리에 많은 책이 캐시되어 있어 예측 시스템의 정확도가 떨어지는 상황에서도 테스트했을 때도, 베비는 속도를 유지했습니다. 이는 베비가 필요하지 않은 책을 가져오는 데 시간을 낭비하지 않고, 오직 요청을 통해 명시적으로 요구되는 책만을 가져왔기 때문입니다.
또한 연구는 베비 위에 예측 기능을 추가하는 것이 도움이 될지 탐구했습니다. 연구진은 두 방식이 서로 시너지를 낼 것으로 기대하며 새로운 스케줄링 방식과 예측 시스템을 결합해 보았습니다. 그러나 그들은 예측이 아무런 가치를 더하지 못할 뿐만 아니라 오히려 속도를 늦출 수도 있다는 것을 발견했습니다. 베비가 준비된 요청들에 필요한 정확한 책들을 가져오기 위해 저장소 연결을 매우 바쁘게 사용하고 있기 때문에, 예측된 책들을 가져올 여유 시간이 남아 있지 않기 때문입니다. 더욱이, 시스템이 예측을 시도할 때 종종 틀린 예측을 하여 사용되지 않을 책들에 대역폭을 낭비하게 됩니다. 연구진은 이 특정 환경, 즉 로컬 캐시에 이미 많은 항목이 보관되어 있는 환경에서는 예측 행위가 불필요할 뿐만 아니라 해롭다고 결론지었습니다. 가장 효율적인 경로는 요청이 진행됨에 따라 그 필요를 드러내게 하고, 시스템이 계산을 하든 책을 가져오든 항상 유용한 일을 하고 있도록 스케줄링하는 것입니다.
이 연구는 로컬 인공지능이 어떻게 관리되어야 하는지에 대한 근본적인 변화를 시사합니다. 효율성은 항상 미래에 대해 더 똑똑해지려고 노력하는 데서 오는 것이 아니라, 현재에 더 민감하게 반응하는 데서 온다는 것을 보여줍니다. 요청들이 각자의 속도로 진행되게 하고 적절할 때만 그룹화함으로써, 시스템은 로컬 AI의 고질적인 문제였던 유휴 시간을 제거합니다. 연구 결과는 다양한 하드웨어 설정에 걸친 처리량(throughput)과 타이밍의 구체적인 측정을 바탕으로 하며, 이 새로운 스케줄링 방식이 실제 환경에서 어떻게 작동하는지에 대한 명확한 그림을 제공합니다. 연구진은 이것이 로컬 추론의 모든 문제를 해결한다고 주장하는 것이 아니라, 개인용 기기에서 거대하고 메모리를 많이 사용하는 모델을 실행하는 특정한 과제에 있어서, 작업 순서의 단순한 변화가 극적인 개선을 가져올 수 있음을 입증했습니다. 베비(Bevy)라는 이름의 이 시스템은 작업의 흐름을 재고하는 것이 기존 하드웨어의 잠재력을 어떻게 끌어올려, 사용자의 책상 위에서 더욱 빠르고 민첩한 강력한 지능을 구현할 수 있는지 보여주는 실질적인 사례입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.