MOSAIC: Multi-Objective Search for Allocating Inference Cache Across LLM Decoder Layers
MOSAIC는 다양한 모델과 제거 방식(eviction method) 전반에 걸쳐 메모리 사용량을 크게 줄이면서도 더 높은 태스크 점수를 달성함으로써 균등 할당 방식보다 일관되게 우수한 성능을 보이며, 롱 컨텍스트 LLM 추론을 위한 레이어별 KV 캐시 예산을 최적화하는 다목적 신경망 구조 탐색 프레임워크입니다.
원본 논문은 CC0 1.0 (http://creativecommons.org/publicdomain/zero/1.0/)에 따라 공공 도메인에 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
거대 언어 모델은 오늘날 가장 진보된 인공지능 도구들의 핵심 엔진으로, 방대한 문서를 읽거나 긴 대화를 나눌 수 있는 능력을 갖추고 있습니다. 하지만 이 모델들은 긴 텍스트 시퀀스를 처리할 때 물리적인 한계에 직면합니다. 이미 읽은 내용을 추적하기 위해 컴퓨터 메모리에 점점 더 많은 양의 임시 정보를 저장해야 하기 때문입니다. '키-값 캐시(key-value cache)'라고 알려진 이 저장 공간은 텍스트의 길이에 따라 선형적으로 확장됩니다. 책 한 권 분량의 문서를 이해하려는 모델의 경우, 이 메모리 요구 사항이 너무 거대해져서 표준 컴퓨터 하드웨어의 용량을 초과하게 되며, 결국 시스템이 중단되거나 정보를 버려야 하는 상황에 처하게 됩니다.
이를 해결하기 위해 연구자들은 어떤 정보를 남길지 결정하는 선택적인 방법을 개발해 왔습니다. 이러한 기술은 필터처럼 작동하여, 메모리에 유지할 만큼 중요한 부분과 안전하게 잊어도 되는 부분을 결정합니다. 지금까지 이러한 필터들은 모델의 내부 처리 과정 모든 부분에 동일하고 엄격한 규칙을 적용해 왔습니다. 모든 레이어가 자신의 역할을 수행하는 데 필요한 메모리 양이 동일하다는 가정이었습니다. 이 새로운 연구는 이러한 가정에 이의를 제기하며, 각 레이어가 실제로 필요한 메모리 양은 서로 다르며, 이들에게 동일한 몫을 주는 것은 자원 낭비라고 제안합니다.
연구팀은 MOSIC이라는 새로운 방법을 도입하여, 거대 언어 모델의 각 레이어에 할당할 최적의 메모리 양을 자동으로 찾아냅니다. 모든 섹션에 동일한 메모리 조각을 배분하는 균일한 블록으로 모델을 취급하는 대신, MOSIC은 각 레이어를 고유한 요구 사항을 가진 개별 존재로 취급합니다. 이 시스템은 수천 가지의 서로 다른 메모리 배분 방식을 테스트하는 정교한 탐색 과정을 사용합니다. 일부 레이어는 더 많은 공간을 할당받고 다른 레이어는 적게 할당받으면서도, 전체 메모리 제한 내에 머무는 특정 패턴을 찾습니다. 목표는 모델이 메모리 부족 현상 없이 질문에 답하거나 텍스트를 요약할 때 가장 정확하게 수행할 수 있는 배치를 찾는 것입니다.
연구진은 이 접근 방식을 두 개의 인기 있는 거대 언어 모델에 적용하여, 모든 레이어에 동일한 양의 메모리를 부여하는 표준 방식과 비교했습니다. 그들은 복잡한 독해, 코드 생성, 긴 문서 요약 등 다양한 어려운 과제들을 통해 모델들을 평가했습니다. 결과에 따르면, 이 새로운 방법은 모든 레이어에 동일한 메모리를 주는 기존 방식보다 대다수의 경우에서 일관되게 우수한 성능을 보였습니다. 구체적으로 154개의 테스트 설정 중 146개에서 균일한 할당 방식보다 뛰어난 성적을 거두었습니다. 어떤 경우에는 그 향상이 극적이었는데, 모델이 긴 문맥 이해를 위한 표준화된 테스트에서 거의 50점에 가까운 점수 상승을 기록하기도 했습니다. 아마도 더 중요한 점은, 이 새로운 방법 덕분에 모델이 이전보다 최대 4배 적은 메모리를 사용하면서도 동일한 높은 성능을 달els 수 있었다는 것입니다. 이는 모델이 더 긴 텍스트를 처리하거나 더 작고 저렴한 컴퓨터에서도 실행될 수 있음을 의미합니다.
가장 놀라운 발견 중 하나는 최적의 메모리 배분이 무작위가 아니었다는 점입니다. 탐색 결과 일관된 패턴이 드러났습니다: 모델 중간에 위치한 소수의 레이어들이 시작 부분이나 끝 부분의 레이어들보다 지속적으로 더 많은 메모리를 필요로 한다는 것이었습니다. 시작과 끝의 레이어들은 더 적은 공간으로도 잘 작동할 수 있었던 반면, 중간 레이어들은 정보가 반드시 보존되어야 하는 핵심적인 병목 구간 역할을 했습니다. 메모리가 필요하지 않은 레이어에서 필요한 레이어로 메모리를 전환함으로써 시스템은 훨씬 더 효율적이 되었습니다. 이 발견은 이러한 모델들의 내부 구조가 균일하지 않다는 것을 시사합니다. 즉, 네트워크의 서로 다른 부분들이 서로 다른 역할을 수행하며, 최상의 기능을 위해 서로 다른 자원을 필요로 한다는 것입니다.
연구진은 또한 이 최적의 패턴을 한 번 발견하면 다양한 메모리 제한에 적용할 수 있다는 사실을 발견했습니다. 사용자가 원하는 모든 메모리 크기에 대해 매번 새롭고 비용이 많이 드는 탐색을 실행할 필요가 없었습니다. 대신, 그들은 메모리 배분의 '승리하는 형태(winning shape)'를 찾아낸 뒤 이를 단순히 확대하거나 축소하여 적용했습니다. 이는 단 한 번의 탐색만으로도 향후 발생할 수 있는 모든 메모리 제약 조건에 대한 해결책을 제공할 수 있음을 의미하며, 이 방법이 실무에서 매우 유용함을 보여줍니다. 이 시스템은 모델이 질문에 답하기 전, 오프라인 상태에서 이상적인 균형을 학습하므로 실제 사용 시 추가적인 지연 시간을 발생시키지 않습니다.
이 문제를 해결하려는 최근의 다른 시도들과 비교했을 때, 이 새로운 접근 방식은 훨씬 더 넓은 가능성의 범위를 탐색했습니다. 다른 방법들이 한 번에 몇 가지 변형만을 테스트했던 반면, 이 시스템은 전체 가능한 구성의 아주 작은 부분만을 평가하면서도, 최적의 해를 찾기 위해 수십억 배 더 큰 탐색 공간을 훑으며 단 몇 백 개의 후보만을 평가했습니다. 이렇게 훨씬 더 많은 옵션을 살펴보았음에도 불구하고, 최적의 해를 찾는 데 필요한 컴퓨터 시간은 오히려 더 적게 들었습니다. 이 연구는 모든 레이어를 동일하게 취급하는 기존의 아이디어가 비효율적임을 확인시켜 줍니다. 일부 부분이 다른 부분보다 더 중요하다는 점을 인식하고 그에 따라 자원을 할당함으로써, 우리는 이러한 강력한 도구들을 더 빠르고 저렴하게 만들 수 있으며, 이전에는 생각할 수 없었던 훨씬 더 긴 문맥을 이해할 수 있게 만들 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.