Pipeline-Native Transformers: Co-Designing Model Architecture and CPU Inference for Bandwidth-Efficient Autoregressive Decode
이 논문은 단일 토큰 자기회귀 디코딩에서의 메모리 대역폭 병목 현상을 극복하기 위해 파이프라인 네이티브 트랜스포머 아키텍처와 공동 설계된 CPU 우선 스트리밍 엔진인 cflow를 소개하며, L2 크기의 가중치 타일링, top-k 전문가 선택, 비동기 I/O 오버랩을 활용하여 32-vCPU 서버에서 최대 2.00배의 임계 경로 가중치 대역폭 감소와 5.94 tokens/s를 달성했습니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
인공지능의 세계에서 가장 강력한 컴퓨터 프로그램들은 종로 수십억 개의 작은 스위치로 이루어진 "두뇌"를 가진 것으로 자주 묘사됩니다. 이 스위치들, 즉 가중치(weights)는 거대한 도서관 선반 위의 책들처럼 컴퓨터의 메인 메모리에 저장됩니다. 예측을 하거나 단 하나의 단어를 생성하기 위해, 컴퓨터는 선반에서 적절한 책들을 가져와 읽고 계산을 수행해야 합니다. 수년 동안 엔지니어들은 이러한 계산의 속도가 제한 요소라고 가정해 왔으며, 프로세서가 더 빨리 생각할 수 있게 만들기만 하면 프로그램이 더 빨리 실행될 것이라고 믿었습니다. 그러나 새로운 연구 라인은 이러한 프로그램들이 가장 흔하게 사용되는 방식, 즉 한 번에 한 단어씩 생성하는 방식에 있어서 이 가정이 틀렸음을 시사합니다. 이 특정 모드에서 프로세서는 자신의 두뇌가 생각하기를 기다리는 것이 아니라, 메모리가 데이터를 전달해주기를 기다리고 있습니다. 프로세서는 너무 빨라서 데이터가 도착하기를 기다리며 빈 선반을 바라보며 대부분의 시간을 유휴 상태로 보냅니다. 이는 전체 시스템의 속도가 컴퓨터가 얼마나 빨리 계산할 수 있느냐가 아니라, 얼마나 빨리 데이터를 메모리 선반에서 프로세서로 이동시킬 수 있느냐에 의해 결정되는 병목 현상을 만듭니다.
톰 포퍼스키(Tom Popersky)라는 연구자는 이러한 "책"들을 선반에 배치하는 표준적인 방식이 완전히 다른 종류의 컴퓨터를 위해 설계되었다는 점을 깨달음으로써 이 문제에 달려들었습니다. 대부분의 현대적 AI 모델은 한 번에 많은 책을 읽는 데 탁월한 특수 그래픽 칩에서 실행되도록 구축되었습니다. 이러한 모델들이 표준 컴퓨터 프로세서에서 실행될 때, 기존의 구성 방식은 프로세서가 예측할 수 없는 무질서한 순서로 데이터를 가져오게 하여 선반 주변을 이리저리 뛰어다니며 시간을 낭비하게 만듭니다. 포퍼스키의 연구는 급진적인 해결책을 제안합니다. 즉, 기존 모델이 새로운 하드웨어에서 더 잘 작동하도록 강제하는 대신, 그는 모델과 이를 실행하는 소프트웨어를 처음부터 함께 작동하도록 재설계했습니다. 그는 모델의 데이터를 프로세서의 즉각적인 작업 공간에 완벽하게 들어맞는 작고 깔끔한 덩어리로 저장하는 새로운 방법을 만들었으며, 모델의 내부 명령어를 다시 작성하여 중단 없이 매끄럽고 연속적인 선을 따라 이 덩어리들을 읽을 수 있도록 했습니다.
이 새로운 접근 방식의 핵심은 cflow라고 불리는 시스템으로, 이는 컴퓨터를 위한 매우 효율적인 사서 역할을 합니다. 표준 설정에서는 컴퓨터가 단어를 생성해야 할 때, 아주 작은 부분만을 필요로 하더라도 모델의 특정 부분에 대한 전체 명령어 세트를 로드해야 하는 경우가 많습니다. 이것은 단 하나의 사실을 찾기 위해 백과사전 전체를 펼치는 것과 같습니다. 포퍼스키의 시스템은 데이터를 단일 페이지 크기 정도의 작은 타일로 조직하고, 컴퓨터가 필요로 할 정확한 순서대로 저장함으로써 이 문제를 해결합니다. 컴퓨터가 다음 정보 조각을 요청하면, 시스템은 다음 타일을 즉시 제자리에 밀어 넣어 프로세서가 계속 작동하도록 유지합니다. 또한, 모델이 각 작업에 대해 몇 가지 특화된 하위 루틴을 선택하는 "전문가 혼합(mixture of experts)" 기술을 사용하는 모델의 경우, 새 시스템은 그 순간에 필요한 특정 하위 루틴만을 로드하고 나머지는 선반에 남겨둡니다. 이는 매 단어가 생성될 때마다 사용되지 않는 수천 개의 명령어를 로드하는 낭비를 제거합니다.
이 시스템을 작동시키기 위해 연구자는 모델 자체의 아키텍처를 변경해야 했습니다. 표준 모델은 한 단계가 완전히 끝나야 다음 단계가 시작되는 엄격한 조립 라인처럼 구축되어 있습니다. 이러한 구조는 컴퓨터가 다음 명령어 세트를 읽기 시작하기 전에 전체 라인이 끝날 때까지 기다리게 만듭니다. 포퍼스키는 컴퓨터가 현재 단계를 수행하는 동안 다음 단계의 명령어를 읽기 시작할 수 있는 "수직 파이프라인(vertical pipeline)"을 허용하도록 모델을 재설계했습니다. 이는 모델이 이전 단계의 정보를 약간 지연된 버전으로 받아들이도록 훈련되었기 때문에 가능하며, 표준 모델에서는 오류를 일으킬 수 있는 변화이지만 이 새로운 설계에서는 완벽하게 작동합니다. 연구자는 이 재설계된 모델들의 다섯 가지 서로 다른 버전을 훈련함으로써, 특정 구성이 컴퓨터가 이동해야 하는 데이터의 양을 절반으로 줄일 수 있다는 것을 발견했습니다. 이러한 데이터 이동의 감소는 직접적으로 속도 향상으로 이어지는데, 이는 컴퓨터가 기다리는 시간을 줄이고 일하는 시간을 늘리기 때문입니다.
이 공동 설계(co-design)의 결과는 실제 하드웨어에서 측정되었으며, 기존 소프트웨어에 비해 명확한 우위를 드러냈습니다. 표준 서버 컴퓨터에서 새 시스템은 초당 거의 6단어의 속도로 텍스트를 생성하여, 동일한 기기에서 약 4.5단어만을 생성했던 가장 우수한 대안들을 능가했습니다. 이 향상은 단순한 이론적 계산이 아니라, 컴퓨터의 메모리에 액세스해야 하는 횟수를 줄임으로써 달성한 실질적인 속도 향상이었습니다. 연구는 또한 컴퓨터에게 다음에 어디를 찾아야 할지 알려주는 명시적인 명령어를 사용하는 것과 같은 다른 아이디어들도 테스트했습니다. 놀랍게도, 테스트 결과 이러한 명령어들이 도움이 되지 않았으며 오히려 시스템을 느리게 만드는 경우가 있었는데, 이는 컴퓨터의 자체 하드웨어가 다음에 무엇이 필요할지 이미 더 잘 예측하고 있었기 때문입니다. 이 발견은 중요한데, 이는 일반적인 최적화 기법을 배제하고, 진정한 이득이 데이터와 모델의 근본적인 재구조화에서 온다는 것을 확인시켜 주기 때문입니다.
또한 연구는 이러한 변화가 모델이 커짐에 따라 어떻게 유지될지를 탐구했습니다. 분석에 따르면, 속도 향상은 테스트된 모델들에 대해 유의미하지만, 구체적인 이점은 모델의 크기와 사용되는 컴퓨터의 유형에 따라 달라집니다. 매우 큰 모델의 경우 병목 현상이 다시 이동할 수 있지만, 원칙은 동일합니다. 즉, 모델의 구조를 컴퓨터가 메모리를 읽는 방식과 일치시킴으로써, 이전에는 불가능하다고 생각되었던 속도를 끌어낼 수 있다는 것입니다. 이 작업은 현재 인공지능의 한계가 고정된 물리 법칙이 아니라, 변경할 수 있는 설계상의 선택임을 보여줍니다. 모델과 런타임을 두 개의 별개 조각이 아닌 하나의 통합된 시스템으로 다룸으로써, 데이터가 잘 정리된 도서관처럼 효율적으로 이동하게 하여 컴퓨터가 자체 하드웨어의 속도로 생각할 수 있게 만들 수 있습니다. 이 접근 방식은 강력한 AI를 특수 칩이 없는 일반적인 기기에서 실행할 수 있는 명확한 경로를 제시하며, 첨단 지능을 현실 세계에서 더 접근하기 쉽고 반응성이 높게 만듭니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.