본문으로 건너뛰기
r/LocalLLaMA조회 2

RTX 4070 Ti에서 35B MoE 돌리기

RTX 4070 Ti 12GB에서 35B MoE 모델을 CPU 오프로딩으로 구동해 약 50~56 tok/s를 기록한 설정과 벤치마크입니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

고가의 다중 GPU 서버 없이 RTX 4070 Ti 12GB와 32GB RAM만으로 약 20GB인 Ornith-1.5-35B-A3B-GGUF를 실행한 구성입니다. 약 3B 활성 전문가와 36B 전체 전문가를 가진 MoE 구조에서 28개 전문가를 CPU로 오프로딩하고 나머지를 VRAM에 배치했습니다. 실제 프롬프트 기준 prefill은 약 650~700 tok/s, 지속 생성은 약 50~56 tok/s였으며 MTP draft 수용률은 약 42~48%였습니다. `llama-bench`에서는 CPU 오프로딩 수를 26에서 28로 늘릴수록 생성 속도가 64.9에서 62.6 t/s로, prefill 속도가 571에서 461 t/s로 낮아졌습니다.

실용적 조언

  • 12GB VRAM에서 이 모델을 실행할 때는 `--n-cpu-moe` 값을 조절해 KV 캐시용 공간과 처리량 사이의 균형을 맞출 수 있습니다. 게시물의 측정에서는 27개 오프로딩 설정이 약 1GB의 여유를 남겼고, 26·27·28 사이에서 생성 속도와 prefill 속도가 각각 달라졌습니다. 긴 문맥을 사용할수록 KV 캐시가 추가 공간을 차지하므로, 실제 대화에서는 짧은 벤치마크보다 여유 VRAM을 더 크게 잡아야 합니다.

섹션별 상세

01
RTX 4070 Ti의 12GB VRAM과 32GB 시스템 RAM으로 약 20GB인 Q4_K_M 모델을 구동하기 위해 활성 전문가를 VRAM에 두고 나머지를 시스템 RAM으로 넘기는 구성이 사용됐습니다. `--n-cpu-moe 28`은 CPU 오프로딩 전문가 수를 조정하며, 게시물에서는 27일 때 KV 캐시용 여유 공간이 약 1GB 남았다고 기록했습니다. 이 방식은 작은 VRAM으로도 36B 전체 규모와 약 3B 활성 전문가를 가진 MoE 모델을 실행하는 경로를 제시합니다.
02
Ornith-1.5-35B-A3B-GGUF는 `qwen3_5_moe` 구조의 reasoning·multimodal 모델이며, Q4_K_M 양자화 기준 전체 가중치가 약 20GB입니다. `-ngl 99`, `--cache-type-k q8_0 --cache-type-v q8_0`, `-c 32768`, `--parallel 1`을 함께 사용해 GPU 레이어 적재와 KV 캐시 형식을 지정했습니다. 실제 프롬프트에서는 prefill이 약 650~700 tok/s, 지속 생성이 약 50~56 tok/s였고 MTP draft 수용률은 약 42~48%였습니다.
03
격리된 짧은 문맥에서 KV 캐시 증가를 배제한 `llama-bench` 결과는 CPU 오프로딩 수에 따라 속도가 달라졌습니다. `n_cpu_moe`가 26일 때 생성 64.9 ± 0.2 t/s와 prefill 571 ± 23 t/s였고, 27일 때는 각각 64.3 ± 0.4 t/s와 482 ± 26 t/s, 28일 때는 62.6 ± 0.2 t/s와 461 ± 31 t/s였습니다. 따라서 CPU 오프로딩 수를 늘리면 VRAM 여유는 커지지만 이 측정 환경에서는 생성과 prefill 처리량이 함께 낮아졌습니다.

용어 해설

전문가 혼합 모델(Mixture-of-Experts)
Mixture-of-Experts는 여러 전문가 네트워크 중 입력에 맞는 일부만 선택해 계산하는 구조입니다. 전체 가중치는 크지만 토큰마다 활성화되는 전문가 수를 줄여 추론 연산량과 GPU 메모리 요구량을 낮출 수 있습니다.
MoE 오프로딩(MoE Offloading)
MoE Offloading은 자주 선택되는 활성 전문가를 VRAM에 배치하고 나머지 전문가 가중치를 시스템 RAM에 두는 메모리 배치 방식입니다. GPU 메모리가 제한된 환경에서도 큰 모델을 실행하는 대신 CPU와 메모리 전송 비용을 감수합니다.
KV 캐시(KV Cache)
KV Cache는 생성 과정에서 이미 계산한 어텐션의 Key와 Value를 저장해 긴 문맥을 다시 계산하지 않도록 하는 메모리입니다. 문맥이 길어질수록 사용량이 늘어나므로 가중치를 VRAM에 적재한 뒤 남는 공간이 중요합니다.
추측 디코딩(Speculative Decoding)
Speculative Decoding은 작은 draft 모델이나 보조 생성기가 다음 토큰 후보를 먼저 만들고, 주 모델이 이를 한꺼번에 검증하는 추론 방식입니다. 게시물에서는 MTP draft가 평균 약 1.9토큰을 제안하고 42~48%가 수용됐습니다.

코드 예제

bat
llama-server
-hf ornith-ai/Ornith-1.5-35B-A3B-GGUF:Q4_K_M
--no-mmproj
-ngl 99
--n-cpu-moe 28
--load-mode none
-c 32768
--parallel 1
-fa on
--cache-type-k q8_0 --cache-type-v q8_0
--spec-type draft-mtp --spec-draft-n-max 2
-t 8
--jinja
--reasoning-format auto
--temp 0.6 --top-p 0.95 --top-k 20

llama.cpp에서 35B MoE 모델의 전문가 대부분을 CPU 쪽으로 오프로딩하고 32,768 토큰 문맥과 MTP 추측 디코딩을 활성화하는 Windows 실행 명령입니다.

언급된 도구

llama.cpp중립

llama.cpp의 `llama-server`와 `llama-bench`가 모델 실행과 처리량 측정에 사용됐습니다. CUDA 12.4 기반 Windows 사전 빌드와 566.xx 드라이버 환경이 함께 기록됐습니다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 20.수집 2026. 08. 20.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.