LightLLM 推論サーバー(ライトエルエルエム スイロンサーバー)
ModelTC(中国)が開発した軽量高効率LLM推論サービングフレームワーク。Token Attention・Efficient Router・RadixCacheを組み合わせ、最大8192並列リクエストを単一サーバーで処理。vLLMより低レイテンシーなFirst Token生成を実現するPython+Triton実装のオープンソースサービング基盤。
LightLLMとは
LightLLMは、中国のModelTC(モデル圧縮・加速技術企業)が2023年9月にオープンソース公開したLLM推論サービングフレームワークです。軽量(Light)かつ高効率を名前のとおり体現しており、最大8192同時リクエストを低レイテンシーで処理できる設計が特徴です。
3つのコア技術
1. Token Attention
vLLMのPagedAttentionを改良した細粒度KVキャッシュ管理機構です。
- ページ単位 → トークン単位: PagedAttentionはブロック単位(デフォルト16トークン)でメモリを管理しますが、Token Attentionはトークン1個単位で管理します
- 内部フラグメンテーション排除: ブロック末尾の未使用スペースをゼロに抑えKVメモリ効率を約18%向上
- 動的解放: 生成完了トークンのKVを即座に解放しリアルタイムでメモリを再割当て
2. Efficient Router
受信リクエストのバッチ構成を動的最適化するスケジューラーです。
- リクエストの入力長・優先度・Time-to-First-Token(TTFT)目標値を考慮
- Prefill-Decode分離: 入力処理(Prefill)と出力生成(Decode)を異なるバッチグループで並行実行
- 公平性保証: 長コンテキストリクエストによるレイテンシースパイクを抑制
3. RadixCache
Prefix Cachingをツリー構造で管理する拡張実装です。
- 根付き基数木(Radix Tree)でKVキャッシュを管理
- 共通プレフィックスを持つリクエスト(同一システムプロンプト等)でKVを完全共有
- RAGアプリケーションでコンテキスト文書のKVを使い回しTTFT 70〜90%削減
vLLM・SGLangとのパフォーマンス比較
| 指標 | LightLLM | vLLM | SGLang |
|---|---|---|---|
| TTFT中央値(8B、同時64req) | 45ms | 78ms | 52ms |
| Throughput(tok/s、同時128req) | 4,800 | 5,200 | 5,100 |
| KVメモリ効率 | ◎(Token単位) | ○(ページ単位) | ○(ページ単位) |
| Prefix Cache命中率 | 92% | 85% | 90% |
| 最大同時接続(8B・A100) | 8,192 | 4,096 | 6,144 |
※公式ベンチマークおよびコミュニティ報告値の参考比較。実環境は構成による差異あり。
セットアップと起動
Dockerで即起動(推奨)
# Qwen2.5 72B(4GPU Tensor Parallel)
docker run -it --gpus all \
-v /your/model/dir:/models \
modelscope/lightllm:latest \
python -m lightllm.server.api_server \
--model-dir /models/Qwen2.5-72B-Instruct \
--tp 4 \
--nccl-port 2083 \
--max-total-token-num 120000 \
--port 8080
Pythonインストール
pip install lightllm
# RadixCacheを有効化してサーバー起動
python -m lightllm.server.api_server \
--model-dir meta-llama/Meta-Llama-3.1-8B-Instruct \
--tp 1 \
--max-total-token-num 40000 \
--use-radix-cache \
--port 8080
OpenAI互換APIで呼び出し
import openai
client = openai.OpenAI(base_url="http://localhost:8080/v1", api_key="dummy")
response = client.chat.completions.create(
model="Qwen2.5-72B-Instruct",
messages=[{"role": "user", "content": "Pythonでクイックソートを実装して"}],
max_tokens=1024,
)
ユースケース
| ユースケース | 推奨度 | 理由 |
|---|---|---|
| 低TTFT要求(チャットbot、リアルタイム応答) | ◎ | Efficient RouterでTTFT最優先制御 |
| RAGシステム(コンテキスト文書固定) | ◎ | RadixCacheで共通文書KV完全再利用 |
| 高スループットバッチ処理 | ○ | vLLM/SGLangと同等 |
| モデル開発・デバッグ | △ | vLLMの方がデバッグツールが充実 |
FAQ
Q1: vLLMとLightLLMのどちらが速いですか? A: スループット(tok/s)はほぼ同等ですが、TTFT(最初のトークンが出るまでの時間)はLightLLMが30〜40%短い傾向があります。レイテンシー重視の場合はLightLLMが有利です。
Q2: マルチモーダル対応はありますか? A: InternVL2の実験的サポートがあります。LLaVAは未対応(2025年6月時点)。
Q3: AWQ量子化モデルは使えますか? A: autoawq変換済みモデルをそのまま読み込めます。4bit量子化でメモリ使用量を75%削減できます。
Q4: Apple Silicon(M-series)で動きますか? A: LightLLMはNVIDIA CUDA専用です。Apple SiliconではllaamCPPやMLC-LLMを使用してください。
まとめ
LightLLMはToken Attention・RadixCache・Efficient Routerの三本柱で低TTFT・高メモリ効率を実現するLLMサービングフレームワークです。vLLMに比べてTTFT中央値30〜40%短縮、KVメモリ効率18%向上が主な優位点です。RAGシステムや低レイテンシーチャットbotの本番デプロイに特に向いています。