SGLang Transformers 後端整合
SGLang 已將 Hugging Face transformers 函式庫整合為後端,讓使用者能夠執行任何兼容 transformers 的模型,具備高效能推論能力。此整合彌合了 transformers 生態系的彈性與生產環境對高吞吐量、低延遲需求之間的差距。
透過 SGLang 的高效能推論
SGLang 以效率為設計目標,利用如 RadixAttention——一種記憶體效能高的注意力機制——等功能,提供更快速且更省資源的推論,尤其在高負載下。雖然標準的 transformers 函式庫針對實驗、小規模任務與訓練進行了最佳化,SGLang 則提供針對大量使用情境的專屬引擎。
SGLang 提供多種部署模式:
- Offline Engine:使用
sgl.Engine進行直接生成。 - Server Mode:透過
sglang.launch_server啟動伺服器,以 API 處理請求。 - OpenAI-Compatible API:提供可直接取代外部服務的解決方案。
Transformers 後端整合
transformers 後端讓 SGLang 能自動回退至 transformers 函式庫,以支援未被 SGLang 原生支援的模型。這帶來了多項即時好處:
- Instant Access:使用者可立即執行新增至 transformers 函式庫的模型。
- Custom Model Support:可部署在 Hugging Face Hub 上且兼容 transformers 的模型。
- Reduced Engineering Overhead:使用者不再需要等待每個新模型架構的原生 SGLang 實作。
此整合使得最佳化部署與使用 RadixAttention 成為可能,涵蓋更廣泛的模型,同時不犧牲 transformers 生態系的多樣性。
使用方式與相容性
若要使用 transformers 後端,使用者可在引擎初始化時明確設定 implementation 參數:
llm = sgl.Engine(model_path="meta-llama/Llama-3.2-1B-Instruct", impl="transformers")
指定 impl="transformers" 為可選項;若模型未被原生支援,SGLang 會自動切換至 transformers 實作。
相容性需求
符合以下條件的任何 Hugging Face Hub 上的模型皆相容:
- 能在
transformers函式庫中運作。 - 正確實作注意力機制。
- 對於自訂模型,載入時需設定
trust_remote_code=True。
例如,Kyutai 團隊的 Helium 模型 (kyutai/helium-1-preview-2b),目前尚未被 SGLang 原生支援,可透過 transformers 後端執行:
python3 -m sglang.launch_server \
--model-path kyutai/helium-1-preview-2b \
--impl transformers \
--host 0.0.0.0 \
--port 30000
未來路線圖
開發持續進行,以在以下領域提升整合程度:
- Performance Optimization:縮小 transformers 後端模型與原生 SGLang 整合模型之間的效能差距。
- LoRA Support:加入 Low-Rank Adaptation(LoRA)的支援。
- VLM Integration:擴展至 Vision-Language Models(VLM)的支援,以拓展使用情境。