LLM WikiAccess-protected knowledge portal
← 스터디 홈
67편 · 약 14분

SGLang 0.5.16: Inkling 975B 첫날 지원·DSpark 내장·UnifiedRadixTree 기본화로 이종 어텐션 모델 추론 경계를 다시 그은 방법

왜 지금 봐야 하나

SGLang 0.5.15가 Spec V2와 Breakable CUDA Graph를 기본 경로로 확립한 지 16일 만인 2026년 7월 26일, v0.5.16이 세 가지 변화를 동시에 들고왔다.

  1. Thinking Machines Lab이 7월 15일 공개한 Inkling(975B/41B 활성 멀티모달 MoE)의 첫날 서빙 지원
  2. DeepSeek의 DSpark 신뢰도 기반 투기적 디코딩 알고리즘을 SGLang 내장 경로로 추가
  3. 이종 어텐션 아키텍처를 위한 UnifiedRadixTree KV 캐시 관리자 기본화

세 변화의 방향은 같다. 순수 트랜스포머가 아닌 하이브리드 어텐션 아키텍처—슬라이딩 윈도 어텐션(SWA), Mamba2 선형 어텐션, 단순 합성곱(short convolution) 레이어를 섞은 모델—가 프런티어에 자리를 잡았고, 서빙 프레임워크가 이를 소화할 수 있어야 한다는 것이다.


배경: 0.5.15가 남긴 과제

SGLang 0.5.15는 Spec V2(다양한 어텐션 백엔드에서 투기적 디코딩을 균일하게 처리하는 엔진)와 Breakable CUDA Graph(조건에 따라 그래프 실행을 동적으로 중단하는 메커니즘)를 기본 경로로 전환했다.

그러나 0.5.15까지 SGLang의 KV 캐시 관리자인 RadixTree는 표준 트랜스포머 어텐션을 전제했다. Mamba 같은 상태 공간 모델(SSM)이나 슬라이딩 윈도 어텐션을 섞은 모델은 레이어마다 KV 캐시 크기와 구조가 달라서, 어텐션 유형별로 별도의 KV 관리 경로가 필요했다. 이 경로들은 서로 달랐고, 새 하이브리드 모델을 지원할 때마다 별도 구현이 요구됐다.

0.5.16의 세 변화는 이 구조적 한계를 한 번에 해결한다.


Inkling: 975B 멀티모달 하이브리드 MoE

모델 아키텍처

Inkling은 Thinking Machines Lab이 2026년 7월 15일 공개한 오픈 가중치(Apache 2.0) 멀티모달 MoE 모델이다.

항목
총 파라미터975B
활성 파라미터41B (토큰당)
전문가 구성256 라우팅 + 2 공유 전문가, 토큰당 6 활성
컨텍스트 윈도1,048,576 토큰 (≈1M)
어텐션 구성SWA + 전체 어텐션 5:1 비율, 8 KV 헤드, 상대 위치 인코딩
추가 구성요소Short convolution 레이어, 공유 전문가 싱크(shared expert sink), MTP
입력 모달리티텍스트, 이미지, 오디오
학습 데이터45조 토큰 (텍스트·이미지·오디오·비디오)
라이선스Apache 2.0

어텐션 레이어가 SWA와 전체 어텐션을 5:1 비율로 섞는다는 것이 핵심이다. 슬라이딩 윈도 레이어는 고정 크기 컨텍스트만 KV 캐시로 보관하기 때문에, 같은 모델 안에서 레이어마다 KV 캐시 크기가 달라진다.

하드웨어 요구사항

Inkling 가중치는 두 가지 형태로 공개됐다.

BF16 체크포인트

  • 최소 2TB 집계 VRAM 필요
  • 8× NVIDIA B300 또는 16× H200 (TP16)

NVFP4 체크포인트

  • 최소 600GB 집계 VRAM
  • 4× B300 (W4A4) 또는 8× H200 (W4A16)
  • 라우팅 전문가만 NVFP4 양자화. 공유 전문가와 qkvr 선형 레이어는 BF16 유지
  • Blackwell FP4 텐서 코어(B200/GB200/B300) 필요

SGLang의 Inkling 전용 최적화

SGLang 0.5.16은 Inkling을 위해 여러 최적화를 직접 구현했다.

최적화설명
Prefill CUDA 그래프입력 처리 단계를 CUDA 그래프로 캡처
MXFP8 KV 캐시Inkling의 8 KV 헤드 구조에 맞춘 FP8 KV 저장
HiCache공통 프리픽스의 계층적 KV 캐시 재사용
PD 분리 지원Prefill-Decode 분리 서빙으로 TTFT와 처리량을 독립 제어
multi-LoRA 서빙복수 LoRA 어댑터 동시 서빙

Blackwell GPU 기준 성능:

측정치
입력 처리 속도최대 71,700 tok/s
사용자당 생성 속도171.0 tok/s

DSpark: SGLang 내장 신뢰도 기반 투기적 디코딩

DSpark 알고리즘의 설계 원리는 ai-frontier/22에서 다뤘다. 여기서는 SGLang 0.5.16이 이를 어떻게 운영 경로로 통합했는지를 집중한다.

SGLang에서의 DSpark 활성화

# DSpark 기본 실행
python -m sglang.launch_server \
  --model-path deepseek-ai/DeepSeek-V4-Flash \
  --speculative-algorithm DSPARK \
  --tp 8

# Ragged verify 모드 활성화 (처리량 개선)
SGLANG_RAGGED_VERIFY_MODE=compact \
python -m sglang.launch_server \
  --model-path deepseek-ai/DeepSeek-V4-Pro \
  --speculative-algorithm DSPARK \
  --speculative-dspark-block-size 4 \
  --tp 8

--speculative-dspark-block-size는 반자기회귀 블록 크기를 결정한다. 기본값은 4다. 블록이 클수록 한 번에 더 많은 토큰을 드래프트하지만, 검증 실패 시 버리는 토큰도 많아진다. 배치 규모와 모델 특성에 따라 실측으로 조정한다.

동작 방식

DSpark가 기존 MTP(Multi-Token Prediction)와 다른 핵심 차이는 가변 길이 검증이다.

  • MTP(고정 검증): 드래프터가 항상 N개 토큰을 제안, 항상 N개를 검증
  • DSpark(신뢰도 기반 검증): 드래프트의 접두사 생존 확률과 현재 엔진 부하를 계산해, 요청마다 검증 윈도 크기를 동적으로 결정

드래프트가 자신 없는 구간은 짧게 검증하고, 확신 있는 구간은 길게 검증해 처리량 낭비를 줄인다.

성능 결과

DeepSeek-V4-Pro, TP8, B300 기준:

지표
생성 속도383.7 tok/s
평균 수락 길이~5 토큰
MTP-1 대비 속도 향상57–85%

출력 분포는 목표 모델과 동일하다. 재학습이나 양자화 없이 순수 서빙 경로 변경만으로 이 결과를 얻는다.


UnifiedRadixTree: 이종 KV 캐시의 단일 추상화

문제

SWA와 전체 어텐션을 섞은 Inkling, Mamba2 레이어가 있는 모델, Dynamic Sparse Attention(DSA) 모델은 모두 레이어마다 KV 캐시 크기와 구조가 다르다.

  • SWA 레이어: 고정 윈도(예: 4096 토큰)만 KV 보관
  • 전체 어텐션 레이어: 전체 시퀀스 KV 보관
  • Mamba2/SSM 레이어: KV 캐시 없이 은닉 상태(hidden state)만 관리

기존 SGLang은 어텐션 유형별로 별도 RadixTree 구현을 사용했다. 새 하이브리드 모델이 등장할 때마다 KV 캐시 로직을 따로 작성하는 부담이 있었다.

해법

0.5.16부터 UnifiedRadixTree가 SWA, Mamba, DSA 모델의 기본 KV 캐시 관리자가 됐다. 단일 트리 구조 안에서 레이어별 KV 크기와 유형 차이를 추상화한다. 캐시 공유, 프리픽스 재사용, 메모리 회수 로직이 모두 하나의 인터페이스 아래 작동한다.

새 하이브리드 모델을 추가할 때 레이어별 KV 크기 정보만 등록하면 KV 캐시 관리 로직을 별도로 구현하지 않아도 된다.


0.5.16 서빙 구조 한눈에 보기

Inkling 975B (SWA+전체+ShortConv)
SWA 레이어 ×5
전체 어텐션 ×1
Short Conv
MoE 256+2 전문가
MTP
NVFP4: 600GB / BF16: 2TB
DeepSeek-V4-Pro + DSpark
MLA 어텐션
MoE 게이팅
DSpark 드래프터
신뢰도 기반 검증
383.7 tok/s, 수락길이 ~5
UnifiedRadixTree (0.5.16 신규 기본)
SWA KV (윈도 내)
전체 어텐션 KV
Mamba 은닉 상태
DSA KV
Spec V2 엔진
EAGLE / EAGLE-3
MTP
DSpark (신규)
N-gram
커널 레이어
FlashInfer 0.6.14
CuTe DSL 4.6.0
MXFP8 KV 캐시
Blackwell: B200 / GB200 / B300
Hopper: H100 / H200
AMD (BF16 전용)
SGLang 0.5.16: 이종 모델 서빙 경로와 UnifiedRadixTree

기타 변화

추가 모델 지원

모델특징
LongCat 2.0 FP8긴 컨텍스트 특화, FP8 체크포인트
JetBrains Mellum v2JetBrains 코드 보조 모델 업데이트
Pi0.5물리 AI (로봇 제어) 모델
LongLive 2.0디퓨전 모델 (이미지 생성)

의존성 업데이트

라이브러리버전
flashinfer0.6.14
CuTe DSL4.6.0
sgl-kernel0.4.5
llguidance1.7.6

제거된 기능

0.5.16에서 실험적 양자화 세 경로가 제거됐다.

  • QServe(QoQ) W4A8
  • FBGEMM FP8
  • CUTLASS FP8 blockwise (SM90/SM100 대상)

이 경로를 사용하던 환경은 AWQ, GPTQ, 또는 표준 FP8 경로로 마이그레이션해야 한다.


v0.5.16 운영 체크리스트

  • [ ] Inkling BF16: 집계 VRAM 2TB 이상 확보 (8× B300 또는 16× H200). BF16 체크포인트는 Hopper에서도 동작한다.
  • [ ] Inkling NVFP4: Blackwell FP4 텐서 코어(B200/GB200/B300) 필수. H100/A100에서는 NVFP4 체크포인트를 사용하지 않는다.
  • [ ] DSpark 블록 크기: --speculative-dspark-block-size 기본값 4로 시작해 실측 latency/throughput을 측정한 뒤 조정한다.
  • [ ] Ragged verify 모드: SGLANG_RAGGED_VERIFY_MODE=compact 적용으로 DSpark 처리량이 개선된다. 호환성 문제 발생 시 해제하고 검증한다.
  • [ ] UnifiedRadixTree 전환: SWA·Mamba·DSA 모델에서 자동 적용된다. 배포 후 캐시 히트율(cache_hit_rate 메트릭)과 메모리 사용량을 측정해 기준선과 비교한다.
  • [ ] 제거된 양자화 경로 마이그레이션: QServe W4A8 또는 FBGEMM FP8 사용 중이면 배포 전 AWQ/FP8 표준 경로로 전환한다.
  • [ ] HiCache 활용: Inkling 서빙 시 HiCache를 활성화한다. 공통 시스템 프롬프트를 공유하는 요청이 많을수록 KV 재사용률이 높아진다.
  • [ ] AMD GPU: Inkling BF16 체크포인트만 지원한다. AMD에서 NVFP4 체크포인트를 시도하지 않는다.

한 문장으로

SGLang 0.5.16은 Inkling 975B 하이브리드 MoE·DSpark 신뢰도 기반 투기적 디코딩·UnifiedRadixTree KV 캐시 추상화를 묶어, 이종 어텐션 아키텍처를 가진 차세대 거대 모델을 단일 서빙 프레임워크에서 운영할 수 있게 한 릴리스다.

References

  • SGLang GitHub 릴리스: https://github.com/sgl-project/sglang/releases
  • SGLang v0.5.16 릴리스 (newreleases.io): https://newreleases.io/project/github/sgl-project/sglang/release/v0.5.16
  • SGLang + Inkling Day-0 지원 (LMSYS 블로그): https://www.lmsys.org/blog/2026-07-15-inkling-day0-support
  • Inkling 소개 — Thinking Machines Lab: https://thinkingmachines.ai/news/introducing-inkling/
  • Inkling BF16 가중치 (Hugging Face): https://huggingface.co/thinkingmachines/Inkling
  • Inkling NVFP4 가중치 (Hugging Face): https://huggingface.co/thinkingmachines/Inkling-NVFP4
  • DSpark in SGLang 블로그 (LMSYS): https://www.lmsys.org/blog/2026-07-06-dspark-sglang/
  • DSpark 논문 arXiv:2607.05147: https://arxiv.org/abs/2607.05147
  • SGLang 투기적 디코딩 공식 문서: https://docs.sglang.io/advanced_features/speculative_decoding.html
  • Inkling 아키텍처 분석 (Sebastian Raschka): https://sebastianraschka.com/blog/2026/inkling-architecture-benchmark-notes.html