8GB VRAM 3070 Ti에서 Qwen3.6-35B-A3B 모델로 262k 컨텍스트 구동 (+30tps)
Qwen3.6-35B-A3B Q4 262k context on 8GB 3070 Ti = +30tps
핵심 요약
8GB VRAM 환경에서 리눅스를 활용해 Qwen MoE 모델의 컨텍스트를 1M까지 확장하고 성능을 최적화하는 방법 공유.
- VRAM 최적화 — 8GB VRAM으로도 MoE 모델의 활성 레이어와 KV 캐시를 관리해 대규모 컨텍스트를 구동함.
- OS 성능 차이 — 윈도우 대비 가벼운 리눅스 환경에서 불필요한 리소스를 줄여 추론 속도를 25% 향상함.
- MoE 모델 특성 — 모델 전체를 VRAM에 올리지 않아도 활성 파라미터 위주로 효율적인 추론이 가능함.
- 컨텍스트 확장 — 특정 파라미터와 퀀타이제이션 설정을 통해 최대 1M 컨텍스트까지 안정적으로 구동함.
8GB VRAM에서 컨텍스트를 320K, 400K, 512K, 심지어 1M까지 밀어 넣을 수 있습니다. 하지만 150k를 넘어가면 눈에 띄게 느려지기 시작해서, 정말로 더 큰 컨텍스트가 필요할 때만 이렇게 합니다.
이건 APEX-I-Quality 또는 Q4_K_XL 퀀트를 사용 중인데, 둘 다 Q4_K_M보다 낫습니다(512k 컨텍스트 이상에서는 IQ4_NL_XL 사용).
저는 최소 사양 DDR4보다 약간 높은 총 32GB의 DDR4-2666 메모리를 사용 중입니다.
더 좋은 GPU와 더 많은 VRAM을 가진 사용자들이 효율이 떨어져서 좋은 tps를 내기 위해 컨텍스트를 64k 이하로 낮춰야 한다는 글을 많이 보는데, 왜 그런지 이해가 안 갑니다. 하지만 제가 튜닝하면서 배운 두 가지가 있습니다.
첫째, 35B-A3B는 MoE 모델이기 때문에 런타임 동안 VRAM에는 약 3.5B만 있으면 됩니다.
8GB는 활성 모델 레이어(~3GB) + GPU 버퍼(~2GB) + q8_0으로 설정된 262144 KV 캐시(2.56GB)를 담기에 충분합니다. 빠듯하지만 돌아갑니다.
모든 레이어를 VRAM에 강제로 올리거나 sm, fa 같은 런타임 파라미터를 건드리는 것은 오히려 모델을 느리게 하거나 VRAM과 시스템 RAM을 고갈시키는 것 같습니다.
이 스크린샷을 보세요. MoE가 최적으로 작동하려면 VRAM에 전체가 다 들어가야 한다고 오해하는 경우가 많습니다.
둘째, 윈도우 11이 게임하기에 별로인 것처럼, 그 모든 "향상된 경험"은 LLM 추론에도 영향을 줍니다. 터미널 기반의 가벼운 리눅스(저는 우분투 서버를 선택했습니다)를 실행하면 윈도우 11에 비해 시스템 RAM을 약 800MB만 사용하고 VRAM은 거의 사용하지 않으며, tps가 25%나 향상됩니다!
동일한 llama.cpp 파라미터에 대한 수치는 다음과 같습니다:
윈도우 환경:
- 추론 속도는 27 tps 미만이며 100k를 넘어가면 빠르게 떨어집니다. 사실 출력 토큰이 몇 천 개만 넘어가도 떨어지기 시작합니다.
- 시스템 메모리는 28GB 이상 꽉 차고, llama.cpp의 다른 파라미터를 건드리면 즉시 31GB까지 차올라 tps를 떨어뜨립니다.
- 안정적으로 실행할 수 있었던 최대 컨텍스트는 KV 캐시 turbo 4 퀀트 기준 512k였습니다.
우분투 서버 환경(2일 전 160GB 파티션에 새로 설치):
- 추론 속도는 약 34 tps이며 떨어지지 않습니다. 토큰을 생성하는 동안에는 종종 37 tps까지 올라갑니다!
- 시스템 메모리는 22GB만 사용하며, i3wm/x11과 필요한 소프트웨어를 실행할 수 있는 8GB의 여유 RAM이 남습니다(VRAM을 잡아먹는 화려한 컴포지터나 앱은 사용하지 않습니다).
- IQ4_NL_XL과 KV 캐시 turbo4 퀀트로 1M 컨텍스트까지 도달할 수 있었습니다.
지금까지는 충분히 만족스럽습니다. 하지만 운영체제용으로 쓸 작은 구형 GPU를 연결해서 3070 Ti를 LLM 전용으로 돌릴 생각입니다.

