초저 VRAM LLM 추론
초저 VRAM LLM 추론은 거대한 언어 모델 전체를 GPU에 상주시킬 대신 계층이나 전문가 단위로 순차 적재해 작은 그래픽 메모리에서도 출력을 계산하는 실행 방식이다.
개요
lyogavin/airllm은 모델을 계층별 조각으로 분해하고 추론 시 한 번에 한 계층만 GPU에 올리는 방식으로 전체 모델 크기와 필요한 VRAM의 결합을 약화한다. README는 70B 모델을 단일 4GB GPU에서 양자화·증류·가지치기 없이 실행할 수 있다고 설명한다. 405B Llama 3.1은 8GB, DeepSeek-V3 671B는 약 12GB라는 예시도 제시한다. 이는 AirLLM 프로젝트가 공개한 실행 가능성 수치이며 처리량이나 대화 지연을 보장하는 독립 벤치마크는 아니다.
이 접근의 목적은 큰 모델을 빠르게 서비스하는 것보다, 보유한 GPU의 VRAM 때문에 모델을 아예 불러오지 못하는 장벽을 낮추는 데 있다. 모델 전체가 디스크와 시스템 메모리·GPU 사이를 오가므로 저장 공간과 입출력 성능이 중요해진다. AirLLM은 Hugging Face 모델 ID나 로컬 경로를 AutoModel.from_pretrained에 넘기는 인터페이스를 제공해 일반적인 Transformers 사용 방식과 비슷하게 접근하도록 한다.
핵심 구조/작동 방식
계층별 스트리밍
처음 모델을 사용할 때 원본 가중치를 계층 단위로 분해해 저장한다. 생성 과정에서는 현재 계산에 필요한 계층만 GPU에 유지하고 다음 계층으로 교체한다. README의 표현대로 필요한 VRAM은 전체 파라미터 수보다 가장 큰 계층의 크기에 더 크게 좌우된다. layer_shards_saving_path로 분해된 모델의 저장 위치를 지정할 수 있고, 저장 공간이 부족하면 delete_original로 원본을 지우고 변환본만 남기는 선택지도 있다.
prefetching은 다음 계층을 미리 읽어 현재 계산과 모델 적재를 겹친다. README는 이 기능을 기본으로 켜며, 당시 AirLLMLlama2 구현에서 지원한다고 명시한다. 2023년 업데이트에 기록된 10% 개선은 프로젝트가 측정한 특정 시점의 결과이므로 현재 모델과 장치에 그대로 적용되는 숫자로 보면 안 된다.
선택적 압축과 MoE
기본 경로는 양자화 없이도 계층 스트리밍을 사용하지만, 디스크 읽기가 병목일 때 compression='4bit' 또는 '8bit'로 블록 단위 가중치 압축을 선택할 수 있다. README는 이 방식이 적재할 데이터 양을 줄여 최대 3배 속도 향상과 무시할 만한 정확도 손실을 낼 수 있다고 주장한다. 이 역시 연결된 논문과 프로젝트 평가에 근거한 수치이며 모델별 검증이 필요하다.
희소 Mixture-of-Experts 모델에서는 매 토큰이 선택한 전문가만 스트리밍하는 경로를 사용한다. 2026년 7월 README는 Kimi K3 2.8T 모델을 RTX 6000 Ada 한 장에서 종단 간 3.72GB VRAM으로 측정했다고 기록한다. 동시에 compressed-tensors, flash-attn, CUDA 12 계열 PyTorch, 특정 Transformers 4.56.x 같은 버전 조건을 명시한다. “4GB 미만”이라는 결과보다 이처럼 엄격한 소프트웨어 조건을 함께 읽어야 한다.
실행 인터페이스
설치는 pip install airllm로 시작하고, AutoModel이 모델 유형을 자동 판별한다. 토크나이저로 입력을 만든 뒤 generate를 호출하고 결과 토큰을 디코딩하는 흐름은 일반 Transformers 코드와 유사하다. 설정에는 프로파일링, 계층 조각 경로, 게이트 모델용 Hugging Face 토큰, 프리페치와 원본 삭제가 포함된다. macOS에서는 Apple Silicon, MLX와 PyTorch를 요구하며 같은 Python 인터페이스를 사용한다.
활용
연구자는 로컬에서 70B 이상 모델의 기능 호환성을 확인하거나, 낮은 빈도의 배치 추론과 모델별 출력 비교를 수행할 수 있다. 대형 모델을 한 번에 GPU에 올릴 수 없는 개인 PC에서는 작은 샘플과 짧은 생성을 먼저 시험하는 탐색 도구가 된다. 저사양 GPU 생성형 미디어 워크스테이션이 이미지·영상 모델의 실행 범위를 넓히는 것과 마찬가지로, AirLLM은 언어 모델의 “적재 가능성”을 넓힌다. 로컬 에이전트 실험에서는 에이전트 전용 브라우저나 멀티모달 에이전트 플러그인이 호출할 추론 백엔드 후보가 될 수 있지만, 대화형 응답성을 실제 장치에서 따로 측정해야 한다.
한계 및 주의점
낮은 VRAM은 낮은 총자원 사용량과 같은 뜻이 아니다. README는 첫 실행의 계층 분해가 디스크를 많이 쓰며, MetadataIncompleteBuffer 오류의 흔한 원인으로 저장 공간 부족을 든다. 큰 모델 원본과 변환본을 동시에 유지하면 여유 공간이 더 필요하고, 계층마다 디스크에서 읽는 구조에서는 저장장치 속도가 전체 지연에 직접 영향을 준다. 압축을 쓰지 않는 실행 가능성 주장과 4·8비트 압축을 사용한 속도 주장을 섞어 비교해서도 안 된다.
지원 모델이 넓다는 README 설명에도 원격 모델 코드, 토크나이저, FlashAttention, CUDA와 Transformers 버전이 충돌할 수 있다. 게이트 모델은 별도 Hugging Face 토큰과 사용 승인이 필요하다. 표의 VRAM 수치는 프롬프트 길이, 생성 길이, 캐시 설정과 하드웨어가 다른 환경의 상한을 대신하지 않는다. 2026년 8월 16일 기준 프로젝트 수치를 재현하려면 모델 리비전, AirLLM 버전, 의존성, 장치, 입력과 측정 방법을 함께 기록해야 한다.
함께 보기
출처
- lyogavin/airllm README — 계층 스트리밍, 모델별 VRAM 수치, 압축, 설치와 FAQ. 2026년 8월 16일 확인.
- AirLLM 공식 예제 — 저장소가 제공하는 모델별 노트북과 실행 예시. 2026년 8월 16일 확인.