在生产环境中部署大型语言模型与训练它们是完全不同的挑战。训练需要大规模集群和数周的计算时间,但可以容忍批处理和可变吞吐量。生产推理需要一致的亚秒级延迟、弹性扩展以应对流量高峰、跨不同硬件配置的多模型管理,以及对每个请求的可观测性。训练好的模型与生产级服务基础设施之间的差距是巨大的。
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助你行銷加分!