N-gram과 Experts(MoE) 구조 설명
N-gram vs Experts explained
핵심 요약
MoE는 추론, N-gram은 지식 회상에 특화되어 있으며, N-gram을 SSD에 오프로딩하여 효율성을 극대화하는 Qwen4Exp 구조에 대한 분석입니다.
- MoE 구조 — 추론을 담당하며 연산량이 많음
- N-gram 역할 — 지식 회상을 담당하며 SSD 오프로딩에 적합함
- Qwen4Exp 효율성 — 176B 모델을 125B(RAM) + 51B(SSD)로 분리하여 성능 유지
- 최적화 전략 — 전체 파라미터의 20~25%를 N-gram에 할당하여 성능 향상
Qwen이 파라미터를 순수 MoE(Mixture of Experts) 방식이 아니라 n-gram으로 오프로딩하는 데 집중한 Qwen4Exp 아키텍처라는 폭탄을 터뜨렸길래, 내가 직접 파고들어 봤거든. 배운 게 꽤 많아서 요약해 본다. 사람이 쓰는 거라 틀린 내용 있을 수도 있으니 감안하고 봐라 ㅋㅋ.
세 줄 요약: MoE는 추론을 담당하고, N-gram은 기억을 담당함. 현재 기술 수준에서 N-gram은 성능 저하 없이 전체 가중치의 약 25%까지 오프로딩이 가능하고, 이걸 RAM 대신 SSD에 저장할 때 이득이 제일 큼. 그래서 176B 모델이 125B(RAM) + 51B(SSD) 구성으로 바뀐 거임.
자세한 내용은 아래에 적어둠.
전문가(MoE)는 연산 작업임. 라우터가 모델의 히든 스테이트를 확인해서 몇 개의 피드포워드 블록을 고르면, 그 블록들이 곱셈 연산을 수행하는 방식이지. 근데 이 선택은 레이어가 이미 시작된 뒤에야 결정되는데, 데이터 덩어리가 워낙 커서 전문가 모델을 디스크로 보내면 속도가 개느려짐. 기계가 뭘 필요한지 너무 늦게 알아차리고, 느린 버스를 통해 기가바이트 단위 데이터를 끌어와서 한꺼번에 계산해야 하니까.
반면 n-gram 테이블은 다른 종류의 메모리임. 이건 짧은 지역적 구절에 대한 벡터를 저장하는데, 마지막 몇 개의 토큰을 해시값으로 주소를 지정함. 토큰이 생성되자마자 주소가 바로 나오거든. 네트워크가 테이블 전체를 곱하는 게 아님. 그냥 몇 kB 정도 되는 행 몇 개만 가져와서 스트림에 끼워 넣는 식이지. Qwen 3.8 Flash Next(Qwen4Exp)는 약 125B 파라미터를 MoE 네트워크에 두고, 나머지 51B는 n-gram 테이블에 둔 다음, 토큰 하나당 약 6B 정도만 활성화함. 추가된 51B는 연산량이 아니라 용량일 뿐임. 그래서 176B 학습 파라미터의 이점은 챙기면서, 125B-A6B 모델처럼 빠르게 돌아가는 거임. 물론 제약 사항은 좀 있지만.
전문가는 추론을, n-gram은 기억을 담당함. 근데 게으르게 추론은 안 하고 기억만 해서는 일을 제대로 끝낼 수가 없음. 그러면 퀄리티 떡락하고, 추론하던 LLM이 그냥 메모리 셔틀 기계로 전락해 버리거든. 전문가 모델을 테이블로 오프로딩하는 데도 한계가 있음. 고정된 예산 안에서는 전체 파라미터의 20~25% 정도를 테이블에 할당하는 게 딱 좋음. 그래야 앞쪽 레이어에서 흔한 로컬 패턴 재구축하느라 낭비 안 하고, 뒤쪽 스택에서 제대로 추론을 할 수 있거든.


