모델 스케일링의 탐욕과 하드웨어의 비명

거대 언어 모델(LLM)의 발전사는 파라미터 개수를 향한 끊임없는 군비 경쟁의 역사와 같다. 더 많은 파라미터를 가진 모델이 더 복잡한 추론과 정교한 언어 생성을 수행할 것이라는 기대감은 모델의 크기를 기하급수적으로 부풀렸다.

하지만 이 거대함에는 명백한 물리적 대가가 따른다. 수십억을 넘어 수천억 개의 파라미터를 가진 최상위권 모델을 생각해봅시다. 주로 쓰이는 16비트 부동소수점(FP16)으로 모델의 가중치(weight)를 저장하는 데 필요한 메모리는 일반적인 하드웨어의 용량을 아득히 초과합니다. 이는 최고 사양의 데이터센터용 GPU 여러 장을 동시에 사용해야만 겨우 감당할 수 있는 규모입니다.

이러한 ‘메모리 장벽’은 최첨단 AI 기술이 소수의 거대 자본을 가진 기업들의 전유물이라는 인식을 공고히 했다. 일반적인 개발 환경, 심지어 웬만한 기업의 서버에서도 이러한 모델을 구동하는 것은 불가능에 가까운 일로 여겨졌다.

첫 번째 관문: 정밀도를 희생해 공간을 얻는 ‘양자화’

이 거대한 장벽에 균열을 낸 첫 번째 기술적 돌파구는 양자화(Quantization)다. 양자화는 모델의 가중치를 표현하는 데 사용되는 데이터의 정밀도를 낮추는 기법이다. FP16(16비트)이나 FP32(32비트)로 표현되던 파라미터를 8비트 정수(int8)나 심지어 4비트 정수(int4)로 압축하는 것이다.

물론 이러한 압축은 정보 손실을 동반하기에 모델의 성능 저하를 야기할 수 있다. 그러나 수많은 연구를 통해, 특정 양자화 기법들은 성능 저하를 최소화하면서도 메모리 사용량을 획기적으로 줄일 수 있음이 입증되었다. 특히 저정밀도(예: int4) 양자화는 모델의 크기를 기존의 수분의 일로 압축하는 강력한 카드입니다.

예를 들어, 양자화를 통해 감당하기 어려워 보였던 거대 모델의 필요 저장 공간을 수백 기가바이트(GB) 수준으로 현실화할 수 있습니다. 이는 여전히 방대한 양이지만, 일반 사용자가 접근 불가능한 영역에서 다뤄볼 만한 영역으로 문제를 끌어내렸다는 점에서 중요한 진전입니다.

핵심 메커니즘: 저수준 프로그래밍과 메모리 맵 파일(mmap)의 조우

수백 기가바이트라는 크기는 일반적인 PC 환경의 RAM 용량을 여전히 아득히 넘어선다. 여기서 두 번째 핵심 기술이 등장한다. 바로 C/C++와 같은 저수준(low-level) 프로그래밍 언어와 운영체제의 메모리 맵 I/O(Memory-mapped I/O) 기능의 결합이다.

Python과 같은 고수준 언어는 개발 편의성이 높지만, 메모리를 직접 제어하는 데는 한계가 있다. 반면 저수준 언어는 운영체제의 저수준 기능(system call)을 직접 활용하여 메모리 관리의 세밀한 제어를 가능하게 한다. 이 도구를 이용해 `mmap`과 같은 기능을 활용하면, 디스크에 존재하는 거대한 모델 파일을 마치 RAM의 일부인 것처럼 운영체제에 인식시킬 수 있다.

이 시스템의 핵심은 모델 전체를 RAM에 올리는 것이 아니다. 운영체제는 추론에 필요한 특정 레이어의 가중치 데이터 ‘페이지만큼’을 디스크에서 RAM으로 실시간 로딩한다. 즉, SSD를 거대하지만 느린 RAM의 확장 공간처럼 활용하는 것이다.

추론 과정은 다음과 같이 진행된다. 모델이 다음 토큰을 생성하기 위해 특정 뉴런과 가중치에 접근해야 할 때, 해당 데이터가 RAM에 없다면 ‘페이지 폴트(page fault)’가 발생한다. 이때 운영체제는 `mmap`으로 연결된 디스크 파일에서 필요한 데이터 블록을 찾아 RAM의 빈 공간에 올려주고, 계산이 끝나면 다른 데이터에 의해 덮어쓰일 수 있도록 한다.

성능의 트레이드오프, 그리고 새로운 가능성

이 방식의 명백한 단점은 추론 속도다. NVMe SSD라 할지라도 디스크 I/O 속도는 RAM의 대역폭에 비할 바가 아니다. 매번 가중치를 디스크에서 읽어와야 하므로, GPU VRAM에서 모든 연산이 끝나는 시스템에 비해 토큰 생성 속도는 현저히 느려진다.

하지만 속도를 희생함으로써 우리는 훨씬 더 중요한 가치를 얻었다. 바로 접근성(Accessibility)의 민주화다. 선구적인 오픈소스 프로젝트들이 이러한 접근법을 통해 증명했듯이, 이제는 막대한 자본 없이도 누구나 자신의 로컬 머신에서 최신 거대 모델의 내부 구조를 탐색하고 실험할 수 있는 길이 열렸다.

이 기술은 단순히 ‘느리지만 가능한’ 대안을 넘어선다. 이는 AI 개발의 패러다임을 ‘더 큰 하드웨어’에서 ‘더 영리한 소프트웨어’로 전환하는 철학적 움직임이다. 하드웨어의 물리적 제약을 소프트웨어 공학의 창의성으로 우회하는 이 영리한 해법은, 중앙화된 클라우드 인프라에 대한 의존도를 낮추고 AI 기술의 미래를 더욱 분산된 형태로 이끌 잠재력을 품고 있다.