8GB GPU에서 262K 컨텍스트, 3.5 BPW Qwen-Flash-Next를 llama.cpp로 70 T/s 구동하기
8 GB GPU, 262K context 3.5 BPW Qwen-Flash-Next Coder 70 T/s using llama.cpp
핵심 요약
8GB VRAM 환경에서 Qwen-Flash-Next 모델을 효율적으로 오프로딩하여 고속으로 구동하는 방법을 공유합니다.
- 모델 최적화 — MOE 오프로딩과 n-gram 캐싱을 활용해 8GB VRAM에서 구동함
- 성능 지표 — PCIE 3.0 환경에서 70 T/s PP 및 8 T/s PG 속도 달성
- 실행 파라미터 — VRAM 부족 방지를 위한 상세한 llama.cpp 실행 옵션 제공
- 모델 특성 — 1비트 양자화가 아닌 3.5 BPW GSQ RCO 양자화 모델임을 강조
방법론
Qwen-Flash-Next는 n-gram이랑 MOE 패킹 덕분에 체급 이상의 성능을 보여주긴 하는데, 어쨌든 활성 파라미터는 6B 수준임. 그래서 MOE 대부분은 RAM에 올리고(속도 좀 내려고 제일 작은 MOE만 VRAM에 박음), n-gram은 디스크에 두는 식으로 굴리는 중임. 모델은 무조건 제일 빠른 SSD에 설치해라.
8 GB VRAM, 24 GB RAM 정도면 충분함. 총 메모리 32 GB 정도 있어도 잘 돌아가긴 하는데, 대신 컨텍스트 사이즈를 좀 줄여야 할 거임. 본인 하드웨어 사양에 맞춰서 실행 파라미터 잘 조정해 봐.
수정 사항: 8 GB VRAM으로는 CUDA에서 잘 안 돌아가는 모양이니까, 실행 안 되면 Vulkan 백엔드로 돌려라. 같은 댓글 체인에 있는 두 번째 실행 파라미터 써도 됨. 그것도 안 되면 컨텍스트 사이즈 줄이고, VRAM 잡아먹는 백그라운드 앱 다 꺼버려. 브라우저 하드웨어 가속도 끄는 거 추천함.
모델 & 양자화
이 모델을 1비트 양자화로 착각하는 사람들 많은데, 일단 확실히 짚고 넘어감. 이거 ISTA DASLab에서 만든 3.5 BPW(Bits Per Weight) "코더" 버전이고, GSQ RCO 양자화 적용된 거임.
전문가(expert) 절반을 날려버려서 원래 파라미터 크기 대비 1.9비트 양자화 수준의 용량이 나오긴 하는데, 실제 가중치는 3.5 BPW를 씀.
모델 페이지 내용 참고:
트랜스포머 전체 평균으로 따지면 원래 모델 파라미터당 1.89비트 수준임. 이 수치는 유효 비율인데, 가지치기(pruning)한 전문가 모델을 원래 파라미터 수에 맞춰서 계산한 거임. 즉, 가지치기와 양자화 효과를 합친 수치지, 개별 가중치가 1.89비트로 저장된다는 뜻이 아님. 남겨둔 가중치는 3.5 bpw로 저장되고 가지치기 영향 안 받음. 나머지 용량 감소분은 전문가 모델 수를 절반으로 줄여서 맞춘 거임. 같이 공개된 릴리스 관례에 따라 트랜스포머 기준으로 수치를 표기함...


