## 저사양 GPU에서 MoE 모델 최적화: 6 GB VRAM으로 GPT-OSS-120B를 최대 30 토큰/초 속도로 실행하기
120B 매개변수를 가진 GPT-OSS-120B 모델이 6 GB VRAM을 가진 GPU에서 30 토큰/초의 속도로 실행됩니다. 핵심은 Mixture of Experts (MoE) 아키텍처와 -cmoe 매개변수를 통해 VRAM 대신 RAM을 사용하는 것입니다. 이를 통해 하드웨어 업그레이드 없이 CPU와 GPU 간 텐서를 효율적으로 분배할 수 있습니다.
Mixture of Experts 아키텍처
MoE 모델은 각 레이어에서 공유 풀에서 제한된 수의 전문가를 활성화합니다. 라우터(gating network)는 토큰 생성 시 128개 전문가 중 2–4개를 선택하여 밀집 모델 대비 계산 부하를 24배 줄입니다.
각 레이어는 다음을 포함합니다:
- Attention 블록(공유 텐서)
- FFN 블록, 전문가 그룹으로 대체
- 라우팅을 위한 라우터
전문가는 입력 데이터 범위에 특화된 격리된 미니 FFN입니다. 토큰 생성 중 모든 레이어(12–100+개)를 통과하며, MoE 레이어와 밀집 레이어를 번갈아 거칩니다.
밀집 모델에서 FFN은 단일 블록이지만, MoE에서는 희소 구조입니다. 총 매개변수 양은 크지만 통과당 활성 부분은 작습니다. 문제점: 전문가 중복, 비최적 라우터 라우팅.
MoE에서 VRAM이 비효율적인 이유
전체 MoE 레이어를 GPU로 오프로드하면 유휴 시간이 발생합니다: 128개 전문가 중 4개만 활성이고 나머지는 VRAM을 낭비합니다. Attention 텐서(공유)는 용량이 작아 이를 오프로드하면 GPU 이용률이 일정하게 유지됩니다.
구성 비교:
| 구성 | 사용 VRAM | 계산 | 효율 |
|--------------|-----------|------------|--------|
| 전체 레이어 | 16 블록 | 8 블록 | 50% |
| Attention 텐서 | 16 블록 | 16 블록 | 100% |
GPT-OSS-120B에 -cmoe 적용 시 VRAM 사용량 ~3 GB, 속도 30 t/s. 밀집 모델은 간격이 없어 VRAM이 계산량에 비례합니다.
llama.cpp의 최적화 매개변수
주요 매개변수 -cmoe / --cpu-moe
MoE 전문가(텐서 exps)를 CPU에 남겨두고 다음을 오프로드합니다:
- 모든 레이어의 Attention 텐서
- 공유 레이어(이름에
exps없음) - 공유 전문가(
shexp)
실행 로직:
-ngl 999— 모든 것을 GPU로-cmoe— MoE를 CPU로 되돌림
중요: GPT-OSS-120B에는 ik_llama를 사용하지 마세요.
-ncmoe N / --n-cpu-moe N
VRAM이 충분할 때 CPU 레이어 수를 제어합니다. GPT-OSS-120B: 37 레이어.
-cmoe— 3 GB VRAM-ncmoe 30— 한도까지 채움
-ncmoe는 -cmoe와 함께 사용 시 무시됩니다(-cmoe가 우선).
신규 매개변수 --fit (2025년 12월)
VRAM 자동 채우기:
--fit— 기본적으로 MoE에ncmoe포함--fit-ctx 4096— 컨텍스트 한도(기본 4096, 128k 아님)--fit-target 1024— 여유 VRAM(MB 단위, 기본 1 GB)
자동으로 -fa, -ngl, -t를 최대값으로 설정합니다. 문제: -t = CPU 코어 - 1, 하이브리드 CPU(E/P 코어)에서는 명시적으로 -t 8 지정하세요.
추가 메모리 최적화
-fa 1— flash attention / swa / mla, 자동 감지-ub 4096 -b 4096— KV-cache 양자화-ctk q8_0 -ctv q8_0— 컨텍스트 양자화
신규 --models-dir — UI에서 모델 전환, --models-max 1로 OOM 방지.
주요 포인트
- MoE 모델(GPT-OSS-120B, DeepSeek V3)은 RAM > VRAM 필요
-cmoe는 Attention 텐서만 GPU로 오프로드--fit으로 매개변수 자동 조정- 6 GB VRAM에서 30 t/s 속도 달성 가능
- 하이브리드 CPU에서
ik_llama와 자동--t피하기
— Editorial Team
아직 댓글이 없습니다.