만약 대규모 언어 모델(LLM)을 자체 호스팅한다면, 아마 두 가지 진영 중 하나에 속해 있을 것입니다. 사용하기 쉽기 때문에 vLLM이나 SGLang을 사용하거나, NVIDIA 하드웨어에서 최대한의 성능을 뽑아낼 수 있지만 설정 과정의 어려움을 감수할 의향이 있어서 TensorRT-LLM을 사용하는 경우입니다.
TokenSpeed는 이러한 상충 관계를 끝내고자 합니다. 이는 LightSeek Foundation의 오픈 소스(MIT) 추론 엔진으로, vLLM 수준의 사용 편의성과 TensorRT-LLM 수준의 성능을 목표로 하며, 특히 코딩 어시스턴트와 같은 에이전트 워크로드에 맞춰 조정되었습니다.
본 포스트에서는 이것이 무엇인지, 왜 '에이전트적(agentic)'이라는 것이 문제를 변화시키는지, 몇 분 만에 서버를 실행하는 방법, 그리고 이것이 여러분의 스택에 포함될 자격이 있는지 등을 다룰 것입니다.
어떤 문제를 해결하고 있는가?
대부분의 추론 벤치마크는 채팅과 같은 형태입니다. 짧은 프롬프트, 짧은 답변, 끝. 하지만 코딩 에이전트는 이와 전혀 다릅니다.
일반적인 에이전트 세션에는 다음 요소들이 포함됩니다:
- 매우 긴 컨텍스트. 파일, 도구 출력 및 기록을 포함하면 프롬프트가 정기적으로 50K 토큰을 초과합니다.
- 많은 턴(turns). 같은 대화가 수십 번 반복되며, 매번 약간씩 더 길어집니다.
- 높은 속도 하한선. 토큰 스트리밍이 느리면 에이전트가 고장 난 것처럼 느껴집니다. TokenSpeed 팀은 최소 사용자당 초당 약 70토큰을 목표로 하며, 때로는 200토큰 이상을 달성하기도 합니다.
따라서 목표는 단순히 '최대 처리량(maximum throughput)'만이 아닙니다. 모든 사용자가 여전히 빠른 생성을 경험하는 동시에 GPU당 최대 처리량을 확보하는 것입니다. 이러한 관점이 TokenSpeed의 대부분 설계 선택을 이끌었습니다.
작동 방식 (요약)
사용하기 위해 내부 구조를 이해할 필요는 없지만, 알아두면 좋을 네 가지 부분이 있습니다:
-
모델링 레이어(Modeling layer). 개발자가 모든 모델에 대해 텐서 병렬 통신 코드를 직접 작성할 필요 없이, 모듈 경계에서 데이터가 어디에 있어야 하는지 주석을 달면 작은 정적 컴파일러가 집합 연산(collective operations)을 생성합니다. 사용자 지정 병렬 코드의 양이 적으면 새로운 모델을 추가할 때 버그 발생률이 낮아집니다.
-
스케줄러(Scheduler). 제어 평면은 유한 상태 기계(finite-state machine)로 C++를 사용하여 작성되었습니다. 요청 수명 주기와 KV 캐시 소유권이 명시적으로 모델링되며, 타입 시스템은 프로덕션 환경에서 새벽 3시에 발견되는 것이 아니라 컴파일 시점에 안전하지 않은 KV 캐시 재사용을 잡아냅니다. 실행 측면(execution side)은 여전히 Python에 남아 있어 수정하기 쉽습니다.
-
커널(Kernels). 커널은 레지스트리가 있는 자체 플러그인 패키지에 존재하여 NVIDIA와 AMD 백엔드가 나란히 배치될 수 있습니다. Blackwell용 MLA(Multi-head Latent Attention) 커널은 vLLM이 채택할 만큼 충분히 빠릅니다.
-
진입점(Entrypoint). 요청은 OpenAI 호환 서버를 통해 들어오며, 이 서버는 그들의 SMG 프로젝트를 기반으로 구축되어 CPU 측 오버헤드를 낮게 유지합니다.
시작하기 (Getting started)
필요한 것 (What you need)
- NVIDIA GPU 호스트 (나이틀리 휠의 경우 CUDA 13), 또는 ROCm 7.2가 있는 AMD 호스트
- Python 3.11 ~ 3.13
- 쉬운 경로를 원한다면 GPU 지원을 갖춘 Docker
옵션 1: Docker (권장)
프로젝트는 모든 것이 미리 설치된 러너 이미지를 제공합니다:
docker pull lightseekorg/tokenspeed-runner:latest
docker run -itd \
...
캐시 디렉토리를 마운트하면 컨테이너 재시작 시에도 모델 가중치가 유지됩니다.
옵션 2: pip (나이틀리 휠)
CUDA 13 머신에서:
python -m pip install --upgrade tokenspeed \
--extra-index-url https://lightseek.org/whl/nightly
나이틀리는 날짜별로 버전 관리되므로 재현성을 위해 특정 버전을 고정할 수 있습니다:
python -m pip install
AMD 사용자는 ROCm PyTorch를 먼저 설치하고 별도의 휠 인덱스를 사용해야 하므로 [시작 가이드](https://lightseek.org/tokenspeed/guides/getting-started)의 ROCm 지침을 따르세요.
모든 것이 제대로 설정되었는지 확인하세요:
tokenspeed env
tokenspeed serve --help
### 첫 번째 모델 실행하기
GPT-OSS 20B는 단일 GPU에 적합하며 좋은 테스트가 됩니다:
tokenspeed serve openai/gpt-oss-20b
--served-model-name gpt-oss-20b
--host 0.0.0.0
...
### OpenAI처럼 사용하기
서버가 OpenAI API를 지원하므로, 기존 클라이언트 코드는 `base_url`만 변경하면 작동합니다:
```python
from openai import OpenAI
client = OpenAI(api_key="EMPTY", base_url="http://localhost:8000/v1")
...
또는 curl로 사용하기:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
...
이것이 전체 루프입니다. 대부분의 에이전트 프레임워크를 포함하여 이미 OpenAI와 통신하는 모든 것은 이 서버를 가리킬 수 있습니다.
더 큰 모델 사용하기
대규모 MoE(Mixture-of-Experts) 모델의 경우, vLLM을 사용해 본 적이 있다면 플래그가 익숙할 것입니다. 여기 네 개의 Blackwell GPU에서 Kimi K2.5를 실행하는 형태입니다:
tokenspeed serve nvidia/Kimi-K2.5-NVFP4 \
--served-model-name kimi-k2.5 \
--trust-remote-code \
...
모델 레시피 페이지에는 DeepSeek V4, Qwen3 및 Qwen3.8, GLM 5.x, MiniMax M3, Kimi K3, Nemotron-3 Super 등 다양한 모델의 테스트 실행 명령이 있습니다. 플래그를 처음부터 조정하기보다는 레시피에서 시작하세요.
성능은 어떤가요?
팀이 자체 보고한 주요 수치들:
- NVIDIA B200에서 코딩 에이전트 트레이스(SWE-smith, EvalScope로 평가)를 실행하는 Kimi K2.5에서 TokenSpeed는 전체 지연 시간/처리량 곡선에 걸쳐 TensorRT-LLM을 능가했습니다. 이는 배치 크기 1일 때 약 9% 빠르고, 사용자당 초당 약 100 토큰에서 약 11% 더 높은 처리량을 의미합니다.
- 이들의 MLA 디코드 커널은 일반적인 추측적 디코딩(speculative-decoding) 워크로드에서 TensorRT-LLM 대비 지연 시간을 절반가량 줄였습니다.
- 그들은 에이전트 작업 부하에 대해 Qwen3.5-397B-A17B 모델로 초당 최대 580 토큰을 보고했습니다.
이것들은 공급업체 벤치마크이므로, 보장이라기보다는 테스트할 이유로 간주하십시오. 좋은 소식은 이 벤치마크 하네스가 test/agentic_benchmark 경로 아래 리포지토리에 있어 자체 트래픽으로 재현할 수 있다는 것입니다.
시도해 볼 가치가 있을까요?
예, 다음과 같은 경우:
- 코딩 에이전트 또는 기타 긴 컨텍스트, 다중 턴 워크로드용 대규모 MoE 모델(DeepSeek, Kimi, Qwen, GLM, MiniMax)을 서비스하는 경우.
- 최신 NVIDIA 하드웨어(Hopper, 특히 Blackwell) 또는 AMD MI350급 GPU에서 실행하며 토큰당 비용에 신경 쓰는 경우.
- 속도를 위해 TensorRT-LLM을 염두에 두었지만, 빌드 및 설정 오버헤드를 원하지 않는 경우.
- 새로운 최첨단 오픈 모델에 대한 출시일 제로(day-zero) 지원을 원하는 경우. TokenSpeed는 Kimi K3와 Thinking Machines의 Inkling에 대해 출시일 지원을 제공했습니다.
링크