언어 모델에 78배의 속도 향상을 실현한 ETH 취리히의 UltraFastBERT
현재 수백억 개가 넘는 방대한 매개변수를 특징으로 하는 언어 모델의 엄청난 성장으로 인해 다양한 작업의 성능이 개선된 것은 분명합니다. 그럼에도 불구하고 주목할 만한 결과 중 하나는 계산 비용이 크게 증가하여 실제 구현에 상당한 장애물이 되고 있다는 점입니다. 이 문제를 해결하기 위해 연구자들은 이 장애물을 극복하기 위한 노력의 일환으로 대규모 언어 모델(LLM)의 효율성을 강화하기 위한 노력을 활발히 진행하고 있습니다.
모델 파라미터의 대다수가 피드포워드 레이어에 집중되어 있기 때문입니다. 또한 추론 과정에서 이 계층의 모든 뉴런이 활성화될 필요는 없으므로 계산 효율을 높일 수 있는 길을 제공한다는 점에 주목할 필요가 있습니다.
ETH 취리히의 연구진은 “기하급수적으로 빠른 언어 모델링"이라는 제목의 최신 연구에서 BERT 아키텍처를 새롭게 적용한 UltraFastBERT를 공개했습니다. 이 혁신적인 방법은 기존의 피드포워드 레이어를 빠른 피드포워드 네트워크로 대체함으로써 최적화된 기본 피드포워드 구현에 비해 78배의 놀라운 가속을 달성합니다.
조사 그룹의 주요 성과는 다음과 같이 간결하게 요약할 수 있습니다:
울트라패스트버트 아키텍처는 BERT와 유사하지만 4095개의 뉴런을 사용하지만 추론 중에 활성화되는 뉴런은 12개로, 0.03%라는 극히 일부에 불과합니다. 이렇게 제한된 활성화에도 불구하고 기존의 다운스트림 작업에 맞게 미세 조정한 후 UltraFastBERT는 일반 BERT 모델과 비슷한 성능을 달성합니다. 효율성 측면에서 저자는 고속 피드포워드 네트워크의 추론 프로세스를 뒷받침하는 조건부 행렬 곱셈을 복잡하지 않게 구현하여 조밀하게 최적화된 행렬 곱셈과 비교했을 때 78배의 놀라운 가속화를 달성했다고 발표합니다. 이는 언어 모델링 영역에서 조건부 신경 처리 기술이 가진 상당한 가능성을 보여주는 것으로, UltraFastBERT와 다른 간단한
UltraFastBERT는 기존 피드포워드 네트워크를 구성하는 중간 계층 대신 더 빠른 피드포워드 네트워크를 도입하면서 crammedBERT와 유사한 구조를 채택하고 있습니다. 효율성을 높이기 위해 모든 노드에서 균일한 활성화 함수를 사용하고, 출력 바이어스를 생략하고, 리프 크기를 1로 일정하게 유지하고, 여러 개의 FFF 트리가 동시에 작동할 수 있도록 하는 등 여러 가지 수정이 이루어졌습니다.
트레이닝 단계에서는 crazedBERT에서 사용하는 최종 트레이닝 프로세스를 준수하는 반면, 평가 단계에서는 GLUE 벤치마크 내의 다양한 과제에 대해 UltraFastBERT 아키텍처를 미세 조정하는 작업을 수행합니다. 주목할 만한 점은 단독 A6000 GPU에서 단 하루 동안만 교육을 받은 울트라패스트버트 에디션이 변경되지 않은 BERTbase 모델과 비교했을 때 96.0% 이상의 GLUE 2차 예측 숙련도를 보인다는 점입니다. 실제로 울트라패스트BERT-1×11 길이의 특정 인스턴스에서는 표준 BERT 베이스 에디션이 생성하는 결과와 비슷한
우리 그룹은 향상된 기준 피드포워드 구현에 비해 인상적인 78배의 가속을 보여주는 고급 CPU 코드를 제시함으로써 더 많은 성과를 거두었습니다. 또한, 해당 배치 피드포워드 추론에 비해 40배의 성능 향상을 보이는 PyTorch 버전도 제공했습니다.
요약하면, 이 연구는 울트라패스트버트의 놀라운 성능을 입증하는 동시에 장치 프로그래밍 인터페이스 내에서 조건부 신경 실행에 원시적 요소를 통합하는 것을 옹호합니다. 이러한 이니셔티브가 앞으로 더욱 최적화되고 효과적인 언어 모델 개발을 촉진할 수 있기를 기대합니다.