Prox: Training-Free FFN Activation Sparsity via Approximate Intermediate-Channel Salience in LLMs
Prox는 근사적인 중간 채널 돌출도(intermediate-channel salience)로부터 채널 마스크를 구축함으로써 LLM 내에서 효율적인 희소 SwiGLU FFN 실행을 가능하게 하여, 재학습 없이도 기존 방식들에 비해 상당한 속도 향상과 우수한 모델 품질을 달성하는 학습 불필요(training-free) 프레임워크이다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 거대하고 초지능적인 로봇의 뇌를 작은 배터리 구동 장치에서 실행하려고 한다고 상상해 보세요. 이 뇌는 거대 언어 모델(LLM)이라고 불리며, 이야기를 쓰고, 수학 문제를 풀고, 대화를 나누는 데 매우 뛰어나지만, 동시에 엄청나게 배가 고픕니다. 이 뇌는 문장의 다음 단어를 생각하는 것만으로도 엄청난 양의 메모리와 연산 능력을 집어삼킵니다. 이 로봇들을 더 빠르고 덜 배고프게 만들기 위해, 과학자들은 로봇에게 중요하지 않은 생각 과정을 "건너뛰도록" 가르치려 노력해 왔습니다. 이것을 **활성화 희소성(activation sparsity)**이라고 부릅니다. 이것은 마치 요리사가 수프를 만들기 위해 주방에 있는 모든 채소를 다 다듬는 대신, 재료의 맛을 빠르게 본 뒤 실제로 맛을 더해줄 재료만 골라 다듬고 나머지는 그대로 두는 것과 같습니다. 목표는 똑같이 맛있는 수프(정답)를 만들되, 훨씬 적은 노동력을 사용하는 것입니다. 하지만 까다로운 점은, 무엇을 건너뛸지 결정할 때 맛을 결정짓는 비밀 향신료를 실수로 버리지 않고 어떻게 결정하느냐 하는 것입니다. 만약 잘못 예측한다면, 수프는 싱겁거나 심지어 먹을 수 없게 될 것입니다.
이 퍼즐은 Jinyi Liu와 그의 팀이 개발한 Prox라는 새로운 방법이 해결하고자 하는 문제입니다. 그들은 현재 많은 강력한 AI 모델의 표준인 SwiGLU라는 특정 유형의 로봇 뇌 구조에 집중했습니다. 연구진은 뇌의 "중간 생각"(중간 상태)이 무엇을 건너뛸지 결정하는 완벽한 지도를 가지고 있지만, 그 지도를 정확하게 계산하는 것은 너무 느리고 비용이 많이 든다는 사실을 발견했습니다. 그래서 그들은 영리한 2단계 트릭을 고안해 냈습니다. 먼저, 뇌의 생각에 대한 빠르고 품질이 낮은 "초안"을 사용하여 무엇이 중요한지 빠르게 결정합니다. 그다음, 핵심은, 그 중요한 부분들에 대해서만 무겁고 정밀한 수학 연산을 수행하고 나머지는 완전히 무시합니다. 그들의 실험에 따르면, 이 방법은 전체 수학 연산을 먼저 수행하여 중요도를 예측하려 했던 이전의 트려들보다 훨씬 뛰어났습니다. 10가지 서로 다른 AI 모델을 대상으로 한 테스트에서, Prox는 모델의 답변을 똑같이 똑똑하게 유지하면서도 로봇의 생각을 거의 두 배 가까이(최대 1.99배) 빠르게 만들었습니다. 이는 마치 유능한 정찰병이 앞서 달려가 길을 표시함으로써, 본대가 길을 잃지 않고 안전하고 포장된 도로로만 행군할 수 있게 하여 시간과 에너지를 절약하는 것과 같습니다.
문제점: 로봇의 무거운 점심 식사
거대 언어 모델은 방대한 지식의 도서관과 같지만, 동시에 매우 무겁습니다. 질문에 답하려고 할 때, 이들은 메모리 내부에서 엄청난 양의 데이터를 이동시켜야 합니다. 이 데이터 트래픽의 큰 부분은 **피드포워드 네트워크(FFN)**라고 불리는 뇌의 특정 부분에서 발생합니다. FFN을 아이디어를 받아 처리하고 전달하는 뇌의 일부라고 생각하면 됩니다. 현대의 모델에서 이 부분은 세 가지 서로 다른 수학 연산(프로젝션)이 함께 작동하는 SwiGLU라는 특별한 레시피를 사용합니다.
문제는 이 세 가지 연산이 너무 무거워서 모든 것을 느리게 만든다는 점입니다. 과학자들은 모델을 다시 학습시키지 않고도(학ั้น시키는 데는 시간이 너무 오래 걸립니다) 모델을 "희소하게(sparse)" 만들어, 뇌의 중요해 보이는 부분을 건너뛰는 방식으로 이를 해결하려 했습니다. 하지만 이를 수행하는 기존의 방법들은 결함이 있습니다. 그들은 종-종 '게이트(gate)' 부분만 보거나 '업(up)' 부분만 보는 것처럼, 단 하나의 정보만을 바탕으로 어떤 부분을 건너뛸지 예측합니다. 이것은 노래의 좋고 나쁨을 판단하기 위해 드럼 소리만 듣거나 보컬 소리만 듣는 것과 같습니다. 만약 잘못 예측한다면, 중요한 음표를 건너뛰게 되어 노래(또는 AI의 답변)가 망가지게 됩니다. 연구자들이 더 빠르게 만들기 위해 더 많은 부분을 건너뛰려고 할수록, 답변의 품질은 급격히 떨어졌습니다.
통찰: 지도와 여정
Jinyi Liu가 이끄는 연구팀은 SwiGLU 레시피에서 흥SA로운 점을 발견했습니다. 프로세스 중에 중간 상태(이를 "중간 생각"이라 부릅시다)라고 불리는 특정 순간이 존재합니다. 이 중간 생각은 뇌의 어떤 부분을 유지하고 어떤 부분을 건너뛸지 결정하는 완벽한 신호입니다. 만약 이 중간 생각을 정확하게 볼 수 있다면, 작업의 70%를 건너뛰면서도 완벽한 답을 얻을 수 있습니다.
하지만 함정이 있습니다. 이 중간 생각을 정확히 보기 위해서는, 먼저 모든 무거운 수학 연산을 수행해야 한다는 것입니다. 이는 경주의 결승선을 보고 싶지만, 결승선에 도달하기 위해 경주 전체를 다 달려야 하는 것과 같습니다. 이는 시간을 아끼려는 목적 자체를 무색하게 만듭니다.
연구팀은 중간 생각의 정확한 값을 실제로 알 필요는 없다는 것을 깨달았습니다. 그들에게 필요한 것은 중요도의 순서였습니다. 그들은 어떤 부분이 "큰" 것이고 어떤 부분이 "작은" 것인지, 즉 정확한 숫자가 아니라 무엇이 더 중요한지에 대한 순서를 알아야 했습니다. 이것은 지갑에 정확히 몇 달러가 있는지 아는 것과, 어떤 지폐가 가장 큰 것인지만 아는 것의 차이입니다. 순서를 정확하게 맞출 수 있다면, 남겨둘 것을 제대로 고를 수 있습니다.
해결책: Prox의 2단계 트릭
이를 해결하기 위해, 팀은 스마트한 정찰병과 정밀한 건축가 역할을 하는 Prox라는 2단계 프레임워크를 만들었습니다.
1단계: 빠른 정찰병 (Proxy 구축)
1단계에서 Prox는 "저렴한" 버전의 수학을 사용합니다. 입력값을 가져와 단순화되고 품질이 낮은 버전의 뇌(양자화된 가중치, 즉 압축된 더 작은 숫자들을 사용)를 통과시킵니다. 완벽한 답을 내려는 것이 아니라, 어떤 채널이 크고 어떤 채널이 조용한지 대략적인 아이디어만 얻고자 합니다. 이 단계는 "마스크(mask)"를 만드는데, 이는 기본적으로 "유지(Keep)"와 "폐기(Discard)" 태그가 붙은 목록입니다. 이 단계는 단순화된 수학을 사용하기 때문에 매우 빠르고 메모리를 많이 차지하지 않습니다. 결정적으로, 이 거친 계산에서의 오류는 최종 답변을 망치지 않는데, 왜냐하면 이 거친 숫자들은 최종 출력에 사용되는 것이 아니라 오직 목록을 만드는 데만 사용되기 때문입니다.
2단계: 정밀한 건축가 (정확한 희소 연산)
목록이 만들어지면, 2단계가 시작됩니다. 여기서 진짜 마법이 일어납니다. 모델은 1단계의 목록을 보고 이렇게 말합니다. "좋아, 우리는 작업의 70%를 무시하고 상위 30%에 대해서만 수학 연산을 수행할 거야." 하지만 여기서 다른 방법들과의 차이점이 있습니다. 상위 30%에 대해서 Prox는 원래의, 풀 프리시전(full-precision), 고성능 수학 연산을 사용합니다. 즉, 중요한 부분들에 대해서는 정확한 값을 계산합니다. 이를 통해 최종 답변은 모델이 모든 작업을 수행했을 때와 똑같이 정확하면서도, 실제로 중요한 부분에 대해서만 작업을 수행하게 됩니다.
왜 더 효과적인가
연구진은 Qwen, Mistral, Llama-3와 같은 인기 있는 모델을 포함한 10가지 서로 다른 거대 언어 모델에 대해 Prox를 테스트했습니다. 그들은 재학습 없이 작업을 건너뛰려고 시도하는 다른 방법들과 비교했습니다.
결과는 명확했습니다. Prox가 승자였습니다. 높은 수준의 건너뛰기(예: 70% 희소성)가 적용될 때, 다른 방법들은 실수를 하기 시작했고 AI의 답변 품질이 저하되었습니다. 그러나 Prox는 답변의 날카로움을 유지했습니다. 실제로 70% 희소성에서 Prox는 표준 그래픽 카드에서 디코딩 프로세스(AI가 텍스트를 생성하는 속도)를 최대 1.99배까지 가속화할 수 있었습니다. 이는 AI가 지능을 잃지 않으면서도 거의 두 배 더 빠르게 말할 수 있음을 의미합니다.
또한 연구팀은 이 새로운 방법이 숫자를 작게 만드는 것(양자화)이나 어텐션 메커니즘의 일부를 건너뛰는 것과 같은 다른 속도 향상 기법들과 결합했을 때 작동이 깨지는지 확인했습니다. 그들은 Prox가 어떤 설정에도 들어맞는 범용 어댑터처럼 이러한 다른 방법들과 완벽하게 함께 작동한다는 것을 발견했습니다.
시사점
논문은 결론적으로 Prox가 AI를 더 빠르게 만드는 강력하고 재학습이 필요 없는 방법이라고 설명합니다. 이는 거대 모델을 효율적으로 만들기 위해 반드시 다시 학습시킬 필요는 없다는 것을 증명합니다. 대신, 영리한 2단계 프로세스를 사용할 수 있습니다: 빠른 추측을 사용하여 중요한 부분을 찾고, 그 부분에 대해서만 본격적인 작업을 수행하는 것입니다. 이 접근 방식은 다른 방법들이 실패했던 "추측 게임"을 피함으로써, 로봇의 뇌가 작은 장치에서도 빠르고 똑똑하게 유지되도록 보장합니다. 현재 버전은 단일 사용자 대화(예: 휴대폰에서의 채팅)에 가장 적합하지만, 연구진은 약간의 추가 작업이 이루어진다면 이 아이디어가 결국 더 큰 규모의 사용자 그룹을 효율적으로 지원하는 데 도움을 줄 수 있다고 제안합니다. 현재로서는, 이것은 AI를 지능의 희생 없이 더 빠르게 만드는 데 있어 중요한 진전입니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.