프로젝트 소개
AirLLM은 2GB VRAM만으로도 소비자용 GPU에서 수십억 매개변수 언어 모델의 추론과 미세 조정을 가능하게 합니다. 이는 GPU에 항상 단일 트랜스포머 레이어만 유지하고, 가중치가 디스크에서 레이어별로 스트리밍되어 GPU 메모리 요구 사항이 전체 모델 크기가 아닌 레이어 크기에 의존하도록 작동합니다.
주요 기능:
- 단일 저사양 GPU에서 약 8B~2.8T 매개변수 모델 추론 지원
- 선택적 블록 단위 양자화(4비트 또는 8비트)로 최대 3배 빠른 추론
- 소형 VRAM에서 대형 모델의 LoRA 미세 조정; 고정된 기본 가중치는 디스크에서 스트리밍하고 어댑터는 상주 상태 유지
- MoE, Flash, FP8 및 네이티브 비전(VL) 아키텍처 지원
- 교차 플랫폼: Linux/CUDA 및 macOS(MLX를 통한 Apple Silicon)
지원되는 모델 군에는 Llama (2/3/3.1/3.3/4), Qwen (1/2/2.5/3/3.5/3.8, Dense 및 MoE), DeepSeek (V2/V3/R1), Mistral & Mixtral, Phi, Gemma, ChatGLM, Baichuan, InternLM, Yi, Kimi K3가 포함됩니다.
사용 예시:
```python
from airllm import AutoModel
model = AutoModel.from_pretrained("Qwen/Qwen3-32B")
input_tokens = model.tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
generation_output = model.generate(input_tokens['input_ids'].cuda(), max_new_tokens=20)
```
선택적 압축 사용:
```python
model = AutoModel.from_pretrained("garage-bAInd/Platypus2-70B-instruct", compression='4bit')
```
학습 예시 (LoRA):
```bash
python air_llm/examples/train_qwen38_flash_next_lora.py --data my_data.jsonl --seq-len 512 --save-adapter adapter.pt
```
구성 옵션: 압축(없음/4비트/8비트), 프로파일링 모드, 레이어 샤드 저장 경로, HF 토큰, 프리페칭(기본 켜짐), 원본 삭제. 원본 모델은 첫 실행 시 레이어별로 분할 및 캐시되므로 Hugging Face 캐시 디렉토리에 충분한 디스크 공간이 필요합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.