![[Open Source] LLM伺服器,上手倒數!Mini-SGLang,即刻啟動,時間不多。 [Open Source] LLM伺服器,上手倒數!Mini-SGLang,即刻啟動,時間不多。](https://i0.wp.com/lmsys.org/images/blog/minisgl/shell.png?ssl=1)
用 Mini-SGLang 打造你的 LLM 伺服器:台灣開發者入門指南
嘿,各位熱愛 AI 的台灣朋友們! 🚀 想快速打造一個屬於自己的大型語言模型 (LLM) 伺服器嗎? 今天要介紹一個超棒的工具—— Mini-SGLang! 顧名思義,它是 SGLang 的精簡版,但麻雀雖小,五臟俱全,效能超乎你想像。 讓我們一起來看看,它如何幫助我們輕鬆踏入 LLM 伺服器的世界!
什麼是 Mini-SGLang? 🤔
Mini-SGLang 是一個 輕量級但高效能 的 LLM 推理框架。 簡單來說,它就像一個引擎,可以讓你的 LLM 模型跑得更快、更有效率。 它由 ~5,000 行 Python 程式碼 構成,非常容易理解和修改。 尤其對於想要深入了解 LLM 伺服器系統的開發者和研究人員來說,Mini-SGLang 是一個很好的入門磚。
為什麼要選擇 Mini-SGLang? ✨
- 高效能: 它運用了許多先進的優化技術,像是 Radix Cache(重用 KV 快取)、Chunked Prefill(減少記憶體使用量)、Overlap Scheduling(隱藏 CPU 運算開銷)、Tensor Parallelism(分散運算到多個 GPU) 等,讓你體驗極速推理。
- 輕量級 & 可讀性: 程式碼簡潔、模組化,而且完整註釋,讓你輕鬆讀懂並修改。 這對於學習 LLM 底層運作原理非常有幫助。
- 多種優化技術: 整合了 FlashAttention 和 FlashInfer 等高效能核心,讓你充分發揮硬體效能。
快速上手指南 🚀
1. 環境設定 🛠️
首先,你需要準備一個 Python 環境。 建議使用 Python 3.10 或以上的版本。 我們推薦使用 uv 建立虛擬環境,因為它速度快又可靠(請注意,uv 不會與 conda 衝突)。
# 建立虛擬環境
uv venv --python=3.12
# 啟動虛擬環境
source .venv/bin/activate
重要提示: Mini-SGLang 依賴 JIT 編譯的 CUDA 核心。 所以,你必須安裝 NVIDIA CUDA Toolkit,而且版本要與你的顯示卡驅動程式版本相符。 你可以用 nvidia-smi 指令來查看你的驅動程式支援的 CUDA 版本。
2. 安裝 Mini-SGLang 📦
接下來,我們來安裝 Mini-SGLang。
# 克隆 Mini-SGLang 程式碼庫
git clone https://github.com/sgl-project/mini-sglang.git
# 進入程式碼庫目錄
cd mini-sglang
# 建立並啟動虛擬環境(如果尚未啟動)
uv venv --python=3.12 && source .venv/bin/activate
# 安裝 Mini-SGLang
uv pip install -e .
3. Windows 使用者看過來! (WSL2) 💡
由於 Mini-SGLang 需要 Linux 專用的相依性,如果你是 Windows 使用者,請使用 WSL2 (Windows Subsystem for Linux)。
- 安裝 WSL2(如果尚未安裝):
# 以系統管理員身分開啟 PowerShell wsl --install - 在 WSL2 上安裝 CUDA:
- 依照 NVIDIA 的 WSL2 CUDA 指南 操作。
- 確保你的 Windows 顯示卡驅動程式支援 WSL2。
- 在 WSL2 中安裝 Mini-SGLang:
# 在 WSL2 終端機中 git clone https://github.com/sgl-project/mini-sglang.git cd mini-sglang && uv venv --python=3.12 && source .venv/bin/activate uv pip install -e . - 從 Windows 存取: 伺服器將在 `http://localhost:8000` 上提供服務,你可以在 Windows 瀏覽器和應用程式中訪問它。
4. 啟動伺服器 🚀
現在,讓我們啟動一個 OpenAI 相容的 API 伺服器! 只需要一個指令:
# 在單個 GPU 上部署 Qwen/Qwen3-0.6B 模型
python -m minisgl --model "Qwen/Qwen3-0.6B"
# 使用 Tensor Parallelism 在 4 個 GPU 上部署 meta-llama/Llama-3.1-70B-Instruct 模型,並設定 port 為 30000
python -m minisgl --model "meta-llama/Llama-3.1-70B-Instruct" --tp 4 --port 30000
完成後,你就可以使用 curl 或任何與 OpenAI 相容的用戶端來傳送請求。 輕鬆部署 LLM 伺服器就是這麼簡單!
5. 互動式 Shell 💬
如果你想直接在終端機中與你的模型聊天,可以使用 --shell 參數:
python -m minisgl --model "Qwen/Qwen3-0.6B" --shell
你可以使用 /reset 來清除聊天記錄。
實際操作:我的 Mini-SGLang 體驗 🧑💻
身為一個對 AI 充滿熱情的開發者,我迫不及待地試用了 Mini-SGLang。 按照官方的 Quick Start 指南,我很快就成功地在我的 Linux 系統上啟動了 Qwen/Qwen3-0.6B 模型。
我的心得:
- 安裝超簡單! 只要按照步驟,幾乎沒有遇到任何困難。
uv真的比我之前用過的pip快很多! - 效能驚人! 即使是使用我的老舊 GPU,模型的推理速度也比我預想的快得多。
- 易於理解的程式碼: 我花了一些時間閱讀 Mini-SGLang 的程式碼,發現它的結構非常清晰,註釋也很完整。 這對於我理解 LLM 伺服器的底層原理非常有幫助。
錯誤排除指南:
- CUDA 版本不匹配: 如果遇到問題,首先檢查你的 CUDA Toolkit 版本是否與你的顯示卡驅動程式相符。 這是一個常見的問題,解決方法是更新或降級 CUDA Toolkit。
- 權限問題: 確保你有足夠的權限來存取 GPU。 你可能需要將你的使用者加入到
video群組中。 - 記憶體不足: 如果模型太大,你的 GPU 記憶體可能不足。 可以嘗試使用 Tensor Parallelism,或選擇較小的模型。
效能測試:Mini-SGLang 到底有多快? ⏱️
Mini-SGLang 提供了兩個主要的效能測試,分別是離線推理 (Offline inference) 和線上推理 (Online inference)。 讓我們來看看它們的測試結果:
1. 離線推理 (Offline inference)
- 測試環境: 1 個 H200 GPU。
- 模型: Qwen3-0.6B, Qwen3-14B。
- 序列數: 256 個序列。
- 輸入長度: 100-1024 個 Token 之間隨機取樣。
- 輸出長度: 100-1024 個 Token 之間隨機取樣。

從圖表中可以看出,Mini-SGLang 在離線推理方面表現出色,尤其是在較短的輸入長度和輸出長度下。
2. 線上推理 (Online inference)
- 測試環境: 4 個 H200 GPU,透過 NVLink 連接。
- 模型: Qwen3-32B。
- 資料集: Qwen trace,重現前 1000 個請求。
Mini-SGLang 的線上推理效能也十分亮眼,這得益於它對 GPU 的高效利用。
啟動指令:
# 使用 Mini-SGLang
python -m minisgl --model "Qwen/Qwen3-32B" --tp 4 --cache naive
# 使用 SGLang
python3 -m sglang.launch_server --model "Qwen/Qwen3-32B" --tp 4 \
--disable-radix --port 1919 --decode-attention flashinfer

深入了解:更多資訊 📚
給台灣開發者的建議 💡
- 從 Mini-SGLang 開始: 如果你是 LLM 伺服器的新手,Mini-SGLang 是一個非常棒的起點。 它程式碼簡潔,易於理解,讓你快速入門。
- 善用 WSL2: 如果你是 Windows 使用者,請務必使用 WSL2。 它可以讓你輕鬆地在 Windows 上運行 Linux 環境,體驗 Mini-SGLang 的強大功能。
- 嘗試不同的模型和設定: Mini-SGLang 支援多種 LLM 模型。 你可以嘗試不同的模型,調整各種參數,例如
tp(Tensor Parallelism) 和cache(快取策略),來優化效能。 - 參與社群: Mini-SGLang 是一個開源專案。 你可以參與討論,提出問題,分享你的經驗,一起為這個專案做出貢獻。
結語 🎉
Mini-SGLang 是一個強大且易於使用的工具,可以幫助你輕鬆打造屬於自己的 LLM 伺服器。 無論你是 AI 新手還是經驗豐富的開發者,都可以從中受益。 趕快動手試試吧! 相信你一定會愛上它! 如果你有任何問題或心得,歡迎在下面留言分享! 一起在 AI 的世界裡探索吧!

參考閱讀
https://github.com/sgl-project/mini-sglang