SGLang RadixAttention: Tree-Based Cache Management
SGLang LMSYS'den çıkan vLLM alternatifi. RadixAttention ile prefix sharing'i tree yapısı üzerinde yönetiyor. Bazı senaryolarda vLLM'den hızlı.
Şükrü Yusuf KAYA
12 dakikalık okuma
İleriSGLang: vLLM'in Hızlı Alternatifi
SGLang (github.com/sgl-project/sglang), Stanford/Berkeley'den çıkan açık inference engine. vLLM ile aynı kategoride ama farklı tasarım.
Ana yenilik: RadixAttention — prefix tree (trie) ile cache management.
RadixAttention Mantığı#
vLLM'de cache: hash-based block lookup. Aynı block hash'i → reuse.
SGLang'de cache: prefix tree (radix tree). Tokenları bir tree'de organize eder.
Tree'de her node bir prefix. Branching ile farklı prompt varyasyonları paylaşılan parent'ı reuse eder. vLLM'de bu kadar fine-grained değil.
SGLang vs vLLM Karşılaştırma#
vLLM#
- Block-based hash matching
- Mature, production-tested
- En geniş model desteği
- Block size 16 (configurable)
- Cache eviction: LRU
- Multi-tenant native
SGLang#
- Tree-based prefix matching
- Daha agresif prefix sharing
- Yeni (2024), hızlı evrim
- Variable block size
- Cache eviction: tree-aware
- Multi-tenant + branching scenarios çok iyi
SGLang Setup#
bash
# Kurulumpip install "sglang[all]" # Server başlatpython -m sglang.launch_server \ --model-path meta-llama/Llama-3.1-8B-Instruct \ --enable-flashinfer \ --port 30000SGLang başlatma
Branching Senaryolarda Üstünlük#
SGLang'in en parladığı use case: paralel branch'ler.
Örnek: bir sorudan birden çok cevap variantı üret (chain-of-thought, self-consistency):
python
# Self-consistency: aynı soru 5 kez, farklı reasoning pathsimport sglang as sgl @sgl.functiondef consistency(s, question): s += sgl.system("Matematik sorularını çöz.") s += sgl.user(question) # Branching: 5 paralel cevap, hepsi aynı system+user prefix'i paylaşır forks = s.fork(5) for f in forks: f += sgl.assistant(sgl.gen("answer")) # SGLang prefix sharing: 5 fork aynı prefix'i sadece 1× hesaplarSGLang branching ile self-consistency
vLLM'de 5 ayrı request gönderirsin — system+user 5× compute (cache yardımıyla 1 write + 4 read). SGLang'de tek tree, hepsi otomatik shared.
Real-world impact: Self-consistency, beam search, multi-sample generation use case'lerinde SGLang ~2-3× daha hızlı vLLM'den.
Pratik Karar
SGLang vLLM'i tamamen değiştirmez. Standart inference için ikisi de eşit. Branching/paralel senaryolarda SGLang öne çıkıyor.
✓ Pekiştir#
Bir Sonraki Derste#
TensorRT-LLM — NVIDIA'nın enterprise inference solution'ı.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
İlgili İçerikler
1. Temeller — Context Penceresi Ekonomisi
Bu Eğitim Hakkında ve Prompt Caching Neden Önemli?
Öğrenmeye Başla1. Temeller — Context Penceresi Ekonomisi
Token Ekonomisi 101: Input vs Output Cost Asimetrisi
Öğrenmeye Başla1. Temeller — Context Penceresi Ekonomisi