무슨 일이 일어났나
알리바바 Qwen 팀이 Qwen3.5-35B-A3B를 풀었어. A3B는 활성 파라미터 3B라는 뜻이야. 전체는 35B인데 256개 expert 중 8개 routed + 1개 shared만 켜져서, 추론할 때 실제 도는 건 3B 분량이야. 비전 인코더가 같이 들어가서 이미지·비디오까지 받고, 라이선스는 Apache 2.0이야.
벤치는 SWE-bench Verified 69.2%, MMLU-Pro 85.3, GPQA Diamond 84.2, CodeForces ELO 2028이야. 컨텍스트는 native 262,144 토큰에 YaRN을 켜면 1M 토큰까지 늘려.
왜 이게 일어났나
작년 Claude Sonnet 4 시절부터 셀프호스트 진영의 가장 큰 벽은 “30B급은 코딩이 약하고, 70B+는 GPU가 비싸”였어. MoE는 이 둘 사이를 비집고 들어가는 답이고, DeepSeek V3·V4이 671B/3B 활성으로 먼저 증명했어.
Qwen3.5-35B-A3B는 그 패턴을 단일 GPU급으로 끌어내린 형태야. 명세를 보면 이래:
- Total params: 35B (전체 expert 합계)
- Activated: 3B (routed 8 + shared 1)
- Hidden layers: 40개, Gated DeltaNet + Gated Attention 혼합
- Context: 262,144 native, YaRN 1.01M
- 언어: 201개
Gated DeltaNet은 선형 attention이라 long context에서 메모리 증가가 완만해. 1M 컨텍스트가 그냥 마케팅이 아니라 실제로 돌릴 수 있게 설계된 구조라는 게 이번 라인의 의미야.
어떤 의미인가
활성 파라미터 3B에 속으면 안 돼. 전체 35B를 VRAM에 로드해야 라우팅이 동작하니까, BF16이면 70GB, Q4_K_M으로 양자화해야 24GB 한 장에 겨우 들어가. RTX 4090이나 A6000 한 장으로 돌릴지 결정하는 사람한테는 의미가 큰 라인이야 — 30B-A3B에서 35B-A3B로 바뀌면서 SWE-bench가 60%대 후반으로 의미 있게 올라온 부분이 이번 차이점이야.
비교할 때 같이 봐야 할 라인:
- Claude Opus 4.7: SWE-bench Verified 76% 추정, $5/$25 per 1M 토큰
- GPT-5.5: SWE-bench Verified 71% (Standard 기준), $5/$30
- Qwen3.5-35B-A3B: SWE-bench 69.2%, 셀프호스트 시 토큰당 비용 0
코딩 워크로드가 무겁고 코드가 외부로 못 나가는 환경이면 셀프호스트 라인이 처음으로 의미 있는 레벨에 들어왔어.
다음 수순
Hugging Face 모델 카드에 vLLM·SGLang·KTransformers 배포 스니펫이 다 있어. vllm serve Qwen/Qwen3.5-35B-A3B --tensor-parallel-size 8 --max-model-len 262144 한 줄이면 떠. 사내 PoC면 본인 도메인 데이터로 LoRA를 얹어서 같은 활성 비율로 측정해보고, Claude Opus 4.7 API 비용과 비교 표를 만들어. 단일 사용자 처리량이 200 tok/s가 안 나오면 동시 요청 부하 테스트도 같이 돌려야 해.