在生產環境中部署大型語言模型與訓練它們是完全不同的挑戰。訓練需要大規模叢集和數週的運算時間,但可以容忍批次處理和可變吞吐量。生產推論需要一致的亞秒級延遲、彈性擴展以應對流量高峰、跨不同硬體配置的多模型管理,以及對每個請求的可觀測性。訓練好的模型與生產級服務基礎設施之間的差距是巨大的。
Xorbits Inference(Xinference) 以一個專為可擴展 LLM 服務而建的開源平台填補了這個差距。最初作為 Xorbits 生態系統中分散式資料處理的一部分而開發,Xinference 已成長為最全面的開源模型服務平台之一。它支援廣泛的模型架構——從 LLM 和嵌入模型到視覺語言和音訊模型——並提供大規模可靠運行所需的營運工具。
Xinference 與 vLLM、TGI 和 Ollama 等替代方案的區別在於其模型支援的廣度和營運功能。vLLM 專注於高吞吐量 LLM 服務,Ollama 針對本地開發,而 Xinference 旨在成為涵蓋整個範圍的單一平台:從在筆記型電腦上運行模型的單一開發者,到服務數百萬請求、跨數十種模型變體的生產叢集。
支援的模型類別
Xinference 支援令人印象深刻的廣泛模型類型,每種都有優化的服務配置:
| 模型類型 | 範例 | 使用案例 |
|---|---|---|
| LLM | LLaMA 3、Qwen 2.5、Mistral、Phi-4、DeepSeek | 聊天、程式碼生成、文字完成 |
| 嵌入 | BGE、E5、Instructor、Jina | 向量搜尋、RAG 管線 |
| 重新排序 | BGE Reranker、Cohere Rerank | 搜尋結果重新排序 |
| 圖片生成 | Stable Diffusion 3、FLUX、DALL-E | 從文字建立圖片 |
| 音訊 | Whisper、Bark、ChatTTS | 語音轉文字、文字轉語音 |
| 視覺語言 | LLaVA、Qwen-VL、InternVL | 圖片說明、視覺問答 |
多模型服務架構
下圖顯示 Xinference 如何在 GPU 節點叢集中管理多個模型:
flowchart TD
Client[客戶端應用程式] --> Gateway[Xinference API 閘道]
Gateway --> Router[模型路由器]
subgraph Cluster[GPU 叢集]
Router --> M1[模型實例:LLaMA 3<br>GPU 節點 1<br>4 位元量化]
Router --> M2[模型實例:BGE 嵌入<br>GPU 節點 2<br>批次大小:32]
Router --> M3[模型實例:Whisper<br>GPU 節點 3<br>FP16]
Router --> M4[模型實例:Stable Diffusion<br>GPU 節點 4<br>3 個副本]
end
M1 --> LB1[負載平衡器]
M2 --> LB2[負載平衡器]
M3 --> LB3[負載平衡器]
M4 --> LB4[負載平衡器]
subgraph Monitoring[可觀測性堆疊]
LB1 --> Metrics[指標收集器]
LB2 --> Metrics
LB3 --> Metrics
LB4 --> Metrics
Metrics --> Dashboard[Grafana 儀表板]
Metrics --> Alerts[警報管理器]
end閘道處理請求路由,模型路由器決定哪個模型實例應處理每個請求,每個模型實例可以獨立擴展、更新或替換,而不會影響其他實例。這種架構對於生產部署至關重要,因為不同團隊可能擁有不同流量模式的不同模型。
擴展與效能
Xinference 提供多個擴展維度來處理生產流量:
| 策略 | 機制 | 擴展時間 | 最適用於 |
|---|---|---|---|
| 垂直擴展 | 增加 GPU 記憶體/每個實例的核心數 | 數分鐘 | 單一大模型最佳化 |
| 水平擴展 | 新增更多模型副本 | 數秒 | 流量高峰、高並發 |
| 投機擴展 | 在同一個 GPU 上批次處理對同一模型的請求 | 毫秒 | 高吞吐量、低變異性工作負載 |
| 模型並行 | 將單個模型分片到多個 GPU | 數小時 | 一個 GPU 無法容納的模型 |
開始使用
Xinference 可透過 pip 安裝並在數分鐘內啟動:
pip install "xorbits[inference]"
xinference
這將在連接埠 9997 上啟動 Xinference 服務,提供用於模型管理的 Web UI 和 OpenAI 相容的 API 端點。請造訪 Xorbits Inference GitHub 儲存庫 取得安裝指南、模型配置範例和部署最佳實務。
Xinference 文件入口網站 提供 Kubernetes 部署、GPU 配置、量化設定和 API 整合的全面指南。
常見問題
什麼是 Xorbits Inference?
Xorbits Inference(Xinference)是一個開源平台,用於在生產環境中部署、服務和管理大型語言模型及其他 AI 模型。它為多種模型類型提供統一 API、自動擴展和全面監控。
Xorbits Inference 支援哪些模型類型?
Xinference 支援 LLM(包括 LLaMA、Qwen、Mistral、Phi 等)、嵌入模型、重新排序模型、圖片生成模型(Stable Diffusion)、音訊模型(Whisper、Bark)和視覺語言模型(LLaVA、Qwen-VL)。
Xorbits 如何處理擴展?
Xinference 支援跨多個 GPU 節點的橫向擴展。可以按需啟動新的模型副本,內建負載平衡器將請求分配到可用的副本。它與 Kubernetes 整合,可根據佇列深度和 GPU 利用率等指標進行自動擴展。
Xorbits 支援量化嗎?
是的。Xinference 支援多種量化方法,包括 4 位元和 8 位元精度的 GPTQ、AWQ、GGUF 和 bitsandbytes。這使得在有限的 GPU 硬體上執行更大的模型成為可能,且品質下降最小。
Xorbits 提供哪些 API?
Xinference 為 LLM(聊天完成、完成、嵌入)提供 OpenAI 相容的 API 端點、用於模型管理的 REST API、用於程式化控制的 Python SDK,以及用於互動式模型探索和管理的 Web UI。
延伸閱讀
- Xorbits Inference GitHub 儲存庫 – 原始碼、版本和社群貢獻
- Xinference 文件 – 安裝指南、API 參考和部署教學
- vLLM:高吞吐量 LLM 服務 – 專注於吞吐量的替代 LLM 服務引擎
- Ollama:本地 LLM 執行器 – 用於開發的輕量級本地模型執行器
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!