행렬 곱셈 없는 언어 모델: 효율성의 혁신
행렬 곱셈(MatMul)은 Transformer 아키텍처를 활용하는 대형 언어 모델(LLM)에서 가장 많은 계산 자원을 소모하는 작업입니다. 이러한 모델이 커질수록 MatMul 작업에 따른 비용이 급증하여 훈련 및 추론 과정에서 메모리 사용량과 대기 시간이 증가합니다. 캘리포니아 대학교 산타크루즈, 수저우 대학교, 캘리포니아 대학교 데이비스의 연구진은 언어 모델에서 행렬 곱셈을 제거하면서도 뛰어난 성능을 제공하는 혁신적인 아키텍처를 개발했습니다.
행렬 곱셈 없는 언어 모델 소개
연구진은 혁신적인 논문에서 최신 Transformer의 성능에 상응하면서도 추론 시 메모리 사용량을 크게 줄이는 MatMul-free 언어 모델을 소개합니다.
딥 러닝에서의 행렬 곱셈 이해
딥 러닝에서 행렬 곱셈은 신경망에서 데이터를 가중치와 결합하여 입력 데이터를 변환하고 예측을 생성하는 데 필수적입니다. GPU는 그들의 병렬 아키텍처 덕분에 많은 MatMul 작업을 동시에 수행하는 데 탁월하여 복잡한 모델을 효율적으로 훈련하고 배포하는 데 중요합니다. 그러나 LLM이 수백억 개의 매개변수를 포함하게 되면서 MatMul 작업은 병목 현상이 되어, 훈련과 추론에 대규모 GPU 클러스터가 필요하게 됩니다. MatMul에서 벗어나면 메모리와 계산 비용을 큰 폭으로 절감할 수 있습니다. 하지만 과거 MatMul 작업 대체 시도는 일관된 결과를 내지 못하고 CPU 성능 저하를 초래한 경우가 많았습니다.
3진수 가중치로 혁신적인 작업 수행
연구진은 전통적인 16비트 부동 소수점 가중치를 -1, 0, +1 세 가지 상태를 표현할 수 있는 3비트 3진수 가중치로 대체하는 흥미로운 대안을 제안합니다. 그들은 MatMul을 대체하기 위해 덧셈 작업을 도입하여 계산 비용을 크게 줄였습니다. 이러한 모델은 3진수 가중치를 사용하는 ‘BitLinear 레이어’를 포함합니다.
“가중치를 {-1, 0, +1} 집합으로 제한하고 추가적인 양자화 기법을 적용함으로써, 우리는 MatMul을 덧셈과 부정 작업으로 대체했습니다,”라고 연구진은 설명합니다.
혁신적인 아키텍처 변화
이 아키텍처는 토큰 및 채널 믹서를 포함하는 전통적인 Transformer와 근본적으로 다릅니다. 정보 통합을 담당하는 토큰 믹서는 MatMul이 없는 선형 게이트 순환 유닛(MLGRU)으로 전환되어, 간단한 3진수 작업으로 숨겨진 상태를 업데이트합니다. 또한 서로 다른 특성 채널의 정보를 통합하는 채널 믹서는 3진수 가중치를 수용할 수 있는 수정된 게이트 선형 유닛(GLU)을 사용하여 계산 복잡성과 메모리 사용량을 최소화하면서 효과적인 특성 통합을 유지합니다.
“MLGRU 토큰 믹서와 GLU 채널 믹서를 3진수 가중치로 결합함으로써, 우리의 아키텍처는 덧셈 및 요소별 곱셈에만 의존합니다,”라고 연구진은 언급합니다.
행렬 곱셈 없는 언어 모델의 성능 평가
연구진은 다양한 모델 크기에서 그들의 MatMul-free 언어 모델을 Llama-2에서 사용되는 향상된 Transformer++ 아키텍처와 비교했습니다. 그들의 연구 결과에 따르면, MatMul-free 언어 모델은 추가적인 계산 자원을 활용하여 Transformer++에 비해 성능을 향상시킵니다.
언어 작업 평가에서 2.7B MatMul-free 모델은 ARC-Challenge와 OpenbookQA와 같은 벤치마크에서 Transformer++ 버전을 초월했으며, 다른 작업에서도 유사한 성과를 달성했습니다.
“이 결과는 MatMul-free 아키텍처가 질문 답변 및 일반 상식 추론을 포함한 다양한 언어 작업에서 강력한 제로 샷 성능을 제공할 수 있음을 보여줍니다,”라고 연구진은 강조합니다. 모델 크기가 증가함에 따라 MatMul-free 모델의 메모리 소비와 대기 시간이 더욱 뚜렷해집니다. 예를 들어, 13B 모델은 4.19GB의 GPU 메모리와 695.48ms의 대기 시간이 필요하지만, Transformer++는 48.50GB에 3183.10ms의 대기 시간이 요구됩니다.
최적화된 구현 및 향후 방향
연구진은 MatMul-free 언어 모델을 위한 최적화된 GPU 구현 및 맞춤형 FPGA 구성을 개발했습니다. 이러한 최적화를 통해 교육 속도는 25.6% 증가하고, 메모리 사용량은 비최적 기준보다 최대 61.0% 줄였습니다.
“이 작업은 경량 모델에 대한 소프트웨어 전용 구현을 초월하여, 확장 가능하고 효율적인 언어 모델이 계산 요구와 에너지 소비를 효과적으로 줄일 수 있음을 입증합니다,”라고 연구진은 맺습니다.
비록 100억 개 이상의 매개변수를 가진 모델에 대한 테스트에 제약이 있었지만, 연구진은 기관들이 경량 모델에 투자하도록 장려하길 희망하며, 고급 GPU에 의존하지 않는 접근 가능한 언어 모델의 길을 열고자 합니다. 연구진은 연구 커뮤니티를 위해 코드를 제공하고 모델을 공개했습니다.
“MatMul-free 아키텍처 개발을 우선시함으로써, LLM의 미래는 더 큰 접근성, 효율성 및 지속 가능성으로 나아갈 것입니다,”라고 연구진은 주장합니다.