개인 PC 한 대로 초대형 오픈소스 AI 모델을 돌리는 서빙 시스템
개인 PC 한 대로 초대형 오픈소스 AI 모델을 돌리는 서빙 시스템
FreeToken은 개인용 GPU 한 장으로는 메모리에 다 못 올리는 초대형 MoE(전문가 혼합) 모델을 노트북부터 워크스테이션까지 다양한 소비자 하드웨어에서 실시간 속도로 돌리는 서빙 시스템이다. GPU, CPU, PCIe 대역폭을 실시간으로 측정해 어떤 전문가 모듈을 GPU 캐시에 채우고 어떤 것을 CPU에서 직접 계산할지 매 순간 최적 비율로 나눈다. 그 결과 RTX 5090에서 기존 최고 성능 엣지 서빙 시스템보다 1.5~2.3배 빠른 디코딩 속도를 냈고, 8GB 노트북 GPU로도 350억 파라미터 모델을 코딩 에이전트 Codex의 평균 속도보다 빠르게 서빙했다.
METAL MEDIA 해설 도표
개인 PC 한 대로 초대형 오픈소스 AI 모델을 돌리는 서빙 시스템
- 01MoE(전문가 혼합) 구조는 토큰마다 일부 전문가만 쓰지만, 전체 전문가 풀은 GPU 메모리보다 훨씬 커서 CPU 메모리에 두고 필요할 때 불러와야 하는데, 이 과정에서 생기는 지연이 엣지 서빙의 병목이었다
- 02프리필(prompt 처리) 단계에서는 다음 레이어 전문가를 미리 PCIe로 불러오는 동안 현재 레이어를 GPU가 계산하게 하는 이중 버퍼링으로 전송 시간을 계산 시간 뒤에 숨겼고, 에이전트가 대화 맥락을 편집할 때도 특수 토큰 경계에 체크포인트를 저장해 새로 생긴 부분만 재계산하도록 했다
- 03디코딩(토큰 생성) 단계에서는 자주 쓰이는 전문가를 GPU에 LRU 캐시로 유지하고, 캐시에 없는 전문가는 PCIe 전송과 CPU 직접 실행 두 갈래로 나누는데, 이때 나누는 비율(q*)을 해당 기기에서 실측한 PCIe 대역폭과 CPU 처리 대역폭에 맞춰 자동 계산한다
- 04GPU에 다른 프로그램이 메모리를 쓰는 상황에도 대응하도록, 엔진을 재시작하지 않고도 실행 중에 GPU 캐시 크기를 다시 조정할 수 있게 만들었다
- 05RTX 5090에서 Qwen3.6-35B-A3B 모델은 초당 77~83토큰, DeepSeek-V4-Flash는 22~25토큰으로 서빙했으며, 워크스테이션급 GPU 한 장으로 7530억 파라미터의 GLM-5.2 모델도 llama.cpp 대비 2배 속도로 서빙했다
무엇을 했나
- MoE(전문가 혼합) 구조는 토큰마다 일부 전문가만 쓰지만, 전체 전문가 풀은 GPU 메모리보다 훨씬 커서 CPU 메모리에 두고 필요할 때 불러와야 하는데, 이 과정에서 생기는 지연이 엣지 서빙의 병목이었다
- 프리필(prompt 처리) 단계에서는 다음 레이어 전문가를 미리 PCIe로 불러오는 동안 현재 레이어를 GPU가 계산하게 하는 이중 버퍼링으로 전송 시간을 계산 시간 뒤에 숨겼고, 에이전트가 대화 맥락을 편집할 때도 특수 토큰 경계에 체크포인트를 저장해 새로 생긴 부분만 재계산하도록 했다
- 디코딩(토큰 생성) 단계에서는 자주 쓰이는 전문가를 GPU에 LRU 캐시로 유지하고, 캐시에 없는 전문가는 PCIe 전송과 CPU 직접 실행 두 갈래로 나누는데, 이때 나누는 비율(q*)을 해당 기기에서 실측한 PCIe 대역폭과 CPU 처리 대역폭에 맞춰 자동 계산한다
- GPU에 다른 프로그램이 메모리를 쓰는 상황에도 대응하도록, 엔진을 재시작하지 않고도 실행 중에 GPU 캐시 크기를 다시 조정할 수 있게 만들었다
- RTX 5090에서 Qwen3.6-35B-A3B 모델은 초당 77~83토큰, DeepSeek-V4-Flash는 22~25토큰으로 서빙했으며, 워크스테이션급 GPU 한 장으로 7530억 파라미터의 GLM-5.2 모델도 llama.cpp 대비 2배 속도로 서빙했다
| System | GPU (VRAM) | PCIe | BP | CPU (threads) | DRAM | BH |
|---|---|---|---|---|---|---|
| (GB/s) | (GiB) | (GB/s) | ||||
| 5090 | RTX 5090 (32 GB) | 5.0 ×16 | 52.7 | 2× Xeon Gold 6459C (32) | DDR5 180 | 77.3 |
| 4090 | RTX 4090 (24 GB) | 4.0 ×16 | 25.1 | 2× Xeon Platinum 8358P (32) | DDR4 240 | 63.2 |
| 3090 | RTX 3090 (24 GB) | 4.0 ×16 | 25.3 | 2× Xeon Gold 6330 (28) | DDR4 180 | 56.7 |
| 5090 desktop | RTX 5090 (32 GB) | 5.0 ×16 | 49.0 | Ryzen 9 9950X3D (32) | DDR5 192 | 53.8 |
| 4060 laptop | RTX 4060 Laptop (8 GB) | 4.0 ×8 | 11.8 | Core i9-13900H (20) | LPDDR5 32 | 47.5 |
| PRO 6000 | RTX PRO 6000 (96 GB) | 5.0 ×16 | 51.5 | Xeon Platinum 8559C (48) | DDR5 512 | 178 |
왜 중요한가
오픈소스로 공개된 최상급 AI 모델도 실제로는 데이터센터급 장비가 있어야 쓸 수 있었는데, 이 연구는 이미 사람들이 가진 노트북이나 게이밍 데스크톱으로도 그런 모델을 실용적인 속도로 돌릴 수 있음을 보여준다. 이는 AI 접근성이 모델 공개 여부가 아니라 이를 서빙하는 소프트웨어 수준에 달려 있다는 점을 시사한다.
이 논문의 용어
- MoE(Mixture of Experts, 전문가 혼합) · 모델 안에 여러 전문가 모듈을 두고 입력마다 일부만 선택해 계산하는 구조
- 프리필(Prefill) · 사용자가 입력한 프롬프트 전체를 모델이 한 번에 처리하는 단계
- 디코딩(Decode) · 모델이 답변을 한 토큰씩 순차적으로 생성하는 단계
- LRU 캐시 · 가장 최근에 안 쓰인 것부터 지우는 방식으로 관리하는 캐시
- TTFT(Time To First Token) · 요청 후 첫 번째 답변 토큰이 나오기까지 걸리는 시간
본문에 싣지 못한 그림
- Figure 1: FreeToken serves the models on the cost–capability Pareto frontier, at interactive speed on consumer hardware. (a) Blended API list price (9:1 input:output mix, following the token economics measured on real coding-agent traces (Zhu et al. 2026)) versus Code Arena Elo (LMArena 2026) for representative hosted models. Blue squares mark models FreeToken serves, tagged with the consumer GPU class that serves them; the frontier segment from DeepSeek-V4-Flash to GLM-5.2 is exactly this set. Kimi-K3 releases open weights but exceeds consumer memory (594 GB); Qwen3.5-35B stands in for its successor Qwen3.6-35B, which has no arena rating yet. (b) Mean decode throughput on real agentic workloads for the strongest model each hardware tier holds (coding agents on the first two tiers, a math agent on the third), against actively maintained edge engines. The dashed line marks the median decode speed of Codex in production traces (33 tok/s (Zhu et al. 2026)); × marks configurations an engine cannot serve.
- Figure 2: FreeToken overview. (1) Prefill: expert loading is double-buffered at full-layer granularity, streaming layer l+1 over PCIe while the GPU computes layer l; recurrent-state checkpoints are anchored at special-token boundaries, so a context edit resumes from the nearest surviving anchor and re-prefills only the new suffix. (2) Decode: most routed experts hit the shared LRU expert cache (here 8 of 12, following temporal locality). The m=4 misses are divided by q⋆=mBP/BH between cache fills over PCIe (one expert) and in-place CPU execution (three), using bandwidths profiled on the deployed machine; the GPU and CPU partial outputs merge exactly. The host-resident expert pool remains the source of truth throughout.
- Figure 3: End-to-end serving on the RTX 5090 across four workloads (1. AIME, 2. OpenCode+SWE, 3. Claude Code+SWE, 4.OpenClaw+Email/Cal) and two models (Qwen3.6-35B-A3B BF16 and DeepSeek-V4-Flash MXFP4). Top: decode TPS; bottom: mean TTFT (log scale). × marks configurations an engine cannot serve (Ollama and MoE-Infinity lack DSV4 support; MoE-Infinity provides no usable server for multi-turn agents).
- Figure 4: (a) Prefill TPS versus prompt length (RTX 5090, Qwen3.6-35B BF16), with and without FreeToken’s pipelined full-layer loading. (b) Decode-time expert miss rate versus cache size (as a percentage of the expert pool) under the three engines’ placement policies, replayed on identical routing traces; lines are means over W1–W4, bands the min–max range.
- Figure 5: Coding-agent decode TPS across consumer GPUs (SWE issues via the OpenCode harness), Qwen3.6-35B-A3B. 4060 laptop using NVFP4, the other Qwen3.6 columns BF16. The RTX PRO 6000 column is a separate demonstration: GLM-5.2 (753B-A40B, NVFP4) on the math workload; Ollama is not run there. × marks configurations an engine cannot serve.
최신 논문
- AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다
- 논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- 고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법
- 로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다
- 에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법
- AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다
- AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다
- AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다