Service
GitHub - Leonheart0910/airllm: AirLLM 70B inference with single 4GB GPU : 걍 존나 효율적인 서빙 추론 엔진
Leonheart0910
2026.02.17
·GitHub·by 배레온/부산/개발자#GPU Optimization#Inference Engine#LLM#Model Compression#Serving
핵심 포인트
- 1AirLLM은 quantization, distillation, pruning 없이 4GB GPU에서 70B 대규모 언어 모델을 실행하고, 8GB VRAM으로 405B Llama3.1을 구동할 수 있도록 메모리 사용량을 최적화하는 추론 엔진입니다.
- 2이 시스템은 모델을 layer-wise로 분할하여 로딩 오버헤드를 줄이고, 4bit/8bit block-wise compression을 통해 최대 3배 빠른 추론 속도를 제공하며, CPU 및 MacOS에서도 지원됩니다.
- 3`AutoModel`을 통해 다양한 Hugging Face 모델(Llama, Qwen, ChatGLM 등)을 쉽게 로드하여 사용할 수 있으며, `hf_token` 및 `profiling_mode`와 같은 다양한 설정 옵션을 제공합니다.
AirLLM은 저사양 하드웨어 환경에서 대규모 언어 모델(LLM)의 추론 메모리 사용량을 최적화하는 데 중점을 둔 엔진입니다. 이 프로젝트의 핵심 목표는 단일 4GB GPU에서 양자화(quantization), 증류(distillation), 가지치기(pruning)와 같은 기술 없이 70B 파라미터 LLM을 구동하고, 더 나아가 8GB VRAM에서 Llama3.1 405B 모델을 실행하는 것입니다.
핵심 방법론:
- 계층별 모델 분해 및 로딩 (Layer-wise Model Decomposition and Loading):
- 모델 압축 (Model Compression) - 블록 단위 양자화(Block-wise Quantization):
4bit 또는 8bit 압축을 통해 구현됩니다.
- 가중치(Weights)만 양자화: 일반적인 양자화는 가중치와 활성화(activations) 모두를 양자화하여 속도를 높이지만, AirLLM은 병목 현상이 주로 디스크 로딩에서 발생한다고 판단하여 가중치만(weights only) 양자화합니다. 이 접근 방식은 모든 종류의 입력에서 아웃라이어(outliers)의 영향을 최소화하고 정확도를 더 쉽게 유지할 수 있도록 합니다.
- 공식적인 설명 (간접적 추론): 가중치의 양자화는 모델 로딩 크기를 줄여 디스크 I/O 병목 현상을 완화하는 데 기여합니다. 이를 통해 GPU에 필요한 데이터 전송량이 줄어들어 전체 추론 속도가 향상됩니다.
pip install -U bitsandbytes를 통해 설치된 bitsandbytes 라이브러리를 활용합니다.- 프리페칭 (Prefetching):
- AutoModel 및 범용성:
airllm.AutoModel 클래스는 모델 유형을 자동으로 감지하여 사용자가 특정 모델 클래스(예: AirLLMLlama2)를 명시할 필요 없이 다양한 Hugging Face 모델(Llama, Qwen, ChatGLM, Baichuan, Mistral, InternLM 등)을 쉽게 로드하고 사용할 수 있게 합니다. 이는 safetensors 형식의 모델도 지원합니다.추가 기능 및 지원:
- CPU 추론: v2.10.1 업데이트부터 CPU 추론 및 분할되지 않은(non-sharded) 모델을 지원합니다.
- MacOS 지원: Apple Silicon 칩셋이 탑재된 Mac 장치에서
mlx및torch를 사용하여 네이티브 Python 환경에서 실행 가능합니다. - 구성 옵션:
compression:'4bit','8bit',None(기본값)으로 압축 수준을 설정합니다.profiling_mode:True설정 시 시간 소비량을 출력합니다.layer_shards_saving_path: 분할된 모델을 저장할 경로를 지정합니다.hf_token: 게이트(gated) 모델 다운로드를 위한 Hugging Face API 토큰을 제공합니다.delete_original: 원본 Hugging Face 모델을 삭제하여 디스크 공간을 절약합니다.
AirLLM은 저사양 환경에서 대규모 LLM 추론의 접근성을 높여, 제한된 리소스를 가진 사용자도 최신 LLM을 활용할 수 있도록 돕습니다.