대규모 언어모델 메모리 제약 극복


LLM in a flash: Efficient Large Language Model Inference with Limited Memory

직접 LLM 돌려보려고도 생각해본 적도 있지만, 아무래도 쉬운 일은 아니다. 여러가지 제약이 있는데 아래 논문은 메모리 문제를 해결하기 위해 SSD 사용하는 방법을 이야기한다. 논문을 자세히 읽어볼 건 아니지만 언젠가 이런 방법이 있다고 생각나길 바라며…

대규모 언어 모델(LLM)은 최신 자연어 처리의 핵심으로, 다양한 작업에서 탁월한 성능을 제공합니다. 그러나 집중적인 연산 및 메모리 요구사항으로 인해 특히 DRAM 용량이 제한된 디바이스에서는 어려움을 겪습니다. 이 백서에서는 모델 파라미터를 플래시 메모리에 저장하고 필요에 따라 이를 DRAM으로 가져옴으로써 사용 가능한 DRAM 용량을 초과하는 LLM을 효율적으로 실행하는 문제를 다룹니다. 이 방법은 플래시 메모리 동작과 조화를 이루는 추론 비용 모델을 구축하여 플래시에서 전송되는 데이터의 양을 줄이고 더 크고 연속적인 청크로 데이터를 읽는 두 가지 중요한 영역에서 최적화하도록 안내합니다. 이 플래시 메모리 정보 기반 프레임워크에서는 두 가지 주요 기술을 소개합니다. 첫째, ‘윈도우링’은 이전에 활성화된 뉴런을 재사용하여 전략적으로 데이터 전송을 줄이고, 둘째, 플래시 메모리의 순차적 데이터 액세스 강점에 맞춘 ‘행-열 번들링’은 플래시 메모리에서 읽는 데이터 청크의 크기를 늘립니다. 이러한 방법을 종합하면 CPU와 GPU의 네이티브 로딩 방식에 비해 추론 속도가 각각 4~5배, 20~25배 증가하여 사용 가능한 DRAM의 최대 2배 크기까지 모델을 실행할 수 있습니다. 희소성 인식, 컨텍스트 적응형 로딩, 하드웨어 지향 설계의 통합은 메모리가 제한된 장치에서 LLM을 효과적으로 추론할 수 있는 길을 열어줍니다.