Transformer 모델의 디코딩 속도는 항상 적용을 제한하는 주요 병목 현상이었습니다. 최근 한국과학기술연구원(KIST)과 LG, 딥마인드 연구진은 디코딩 속도를 무려 10~20배나 향상시킨 블록 트랜스포머(Block Transformer)라는 새로운 아키텍처를 공동으로 극복했습니다. 이 획기적인 개발의 핵심은 Transformer의 어텐션 메커니즘의 영리한 "슬라이싱"에 있습니다. 이는 기존 Transformer의 낮은 GPU 사용률 문제를 효과적으로 해결하고 메모리 오버헤드를 크게 줄입니다.
Transformer 모델은 강력하지만 디코딩 효율성은 항상 골칫거리였습니다. 그런데 한국과학기술연구원, LG, 딥마인드 연구진이 이번에 우리를 놀라게 했습니다. 그들은 디코딩 속도를 직접적으로 10~20배 향상시키는 Block Transformer라는 새로운 Transformer 아키텍처를 제안했습니다!
이것이 어떻게 이루어졌습니까? 그들은 Transformer의 주의 메커니즘을 "단절"시켰습니다. 이러한 방식으로 토큰이 생성될 때마다 글로벌 KV 캐시에 액세스하는 원래 Transformer의 비효율적인 방법이 완전히 뒤집혔습니다.
연구원들은 원래 Transformer의 단점을 분석했습니다. GPU의 효과적인 활용률은 1% 미만이었고 나머지 99%는 메모리 액세스에 사용되었습니다. 이는 명백히 불합리한 일이므로 그들은 Block Transformer를 제안했습니다. 이 새로운 아키텍처는 블록 수준 주의와 블록 내 주의 분해를 사용하여 모델의 추론 처리량을 직접적으로 폭발시킵니다.
구체적으로 Block Transformer의 작업 흐름은 다음과 같습니다. 먼저 시퀀스를 블록으로 자른 다음 Embedder를 사용하여 각 블록을 임베딩 벡터로 변환합니다. 블록 디코더는 블록 삽입 벡터를 처리하고 블록 간의 전역 종속성을 캡처하는 역할을 담당합니다. 토큰 디코더는 토큰 간의 로컬 종속성을 처리하고 토큰 시퀀스를 생성하는 역할을 합니다.
이 방법은 추론 속도를 향상시킬 뿐만 아니라 메모리 오버헤드도 크게 줄여줍니다. 일부 네티즌들은 이전에도 비슷한 아이디어가 있었지만 결과 모델의 성능이 부족했다고 말했습니다. 이제 이 방법은 KV 캐시를 효과적으로 줄인 것 같습니다.
또한 여러 제로 샷 작업에 대한 Block Transformer의 정확도는 동일한 크기의 원래 Transformer의 정확도와 비슷하거나 약간 더 높으며, 이는 품질 저하 없이 효율성을 향상시킨다는 것을 입증합니다.
이번 연구의 의미는 여기서 끝나지 않습니다. 또한 모델의 훈련 비용을 줄이고, 글로벌 어텐션의 보조 메모리 액세스 오버헤드를 16배 감소시키며, GPU 활용도 1%에서 44%로 증가합니다.
논문 주소: https://arxiv.org/abs/2406.02657
Block Transformer의 등장은 Transformer 모델의 적용에 대한 새로운 가능성을 확장시켰으며, 향후 대규모 언어 모델의 효율성 최적화를 위한 새로운 방향을 제시했습니다. 속도와 효율성이 크게 향상되어 AI 기술의 추가 개발 및 적용이 촉진될 것으로 예상됩니다.