lyogavin/airllm
70B 대형언어모델을 4GB GPU에서 돌리는 AirLLM
원제 lyogavin/airllm
스타 38,553당일 +1,001Jupyter Notebook
Key Point
소형 GPU로도 대규모 언어모델을 직접 구동할 수 있게 되면서 개인 개발자나 제한된 리소스 환경에서 최신 모델 실험이 가능해진다.
핵심 요약
- AirLLM은 양자화·증류·가지치기 없이 단일 4GB GPU 카드에서 70B 규모 대형언어모델을 구동하는 추론 엔진이다.
- 한 번에 한 레이어만 GPU에 유지하는 방식으로 메모리 사용량을 최소화하며, Kimi K3(2.8T)는 3.72GB, DeepSeek-V3(671B)는 약 12GB, Qwen3.8-Flash-Next(125B)는 6GB에서 실행된다.
- 최신 버전(v3.0)은 FP8 모델을 지원하고, Llama·Qwen·DeepSeek·Phi·Gemma 등 대부분의 주요 오픈소스 LLM을 AutoModel을 통해 자동으로 감지해 지원한다.
- 모델 압축 기능으로 4bit/8bit 블록 단위 양자화를 적용하면 추론 속도를 최대 3배 향상시킬 수 있으며, 정확도 손실은 무시할 수 있는 수준이다.
- 프리페칭 기능이 기본 활성화되어 모델 로딩과 계산을 겹쳐 수행해 10% 성능 개선을 제공한다.
- disk space가 충분하면 원본 모델을 삭제하고 변환된 모델만 보관해 저장 공간을 절반으로 줄일 수 있다.
- MacOS(Apple Silicon)에서도 동일하게 실행 가능하며, mlx와 torch 설치만 필요하다.
- v2.11.0부터 Qwen2.5를 지원하고, 지난 버전에서는 Llama3.1 405B, ChatGLM·QWen·Baichuan·Mistral 등을 추가했다.
- 파인튜닝도 지원하는데, Qwen3.8-Flash-Next(125B)는 6GB 이하, Qwen3.8-27B는 seq 512 기준 약 2GB에서 학습 가능하며, frozen weights는 disk에서 스트리밍하고 adapters만 GPU에 유지한다.
- 학습은 LoRA 방식이며, .jsonl 또는 .txt 형식 데이터셋을 사용해 `AirLLMLoRA` API로 수행할 수 있다.
- Hugging Face token을 제공하면 gated 모델도 다운로드 가능하며, 메모리 부족 시 disk 공간 확보와 cache 초기화로 문제를 해결할 수 있다.
저장소 보기 ↗github.com