模型加载指南#

本文档旨在提供模型加载的功能说明。

副本#

副本用来指定模型加载的实例份数。比如,你有两张 GPU,每张卡可以放下模型的一个副本,你可以设置副本数为 2。这样,两个完全相同的模型实例将分布在这两张 GPU 上。Xinference 会自动进行负载均衡,确保请求均匀分配到多张卡上。用户看到的仍是一个模型,这大大提升了整体资源利用率。

旧版本多实例部署:

当您拥有多张GPU显卡时,每张显卡可承载一个模型实例,此时可将实例数量设置为等于GPU数量。例如:

  • 2张GPU,2个实例:每张GPU运行一个模型实例

  • 4张GPU,4个实例:每张GPU运行一个模型实例

Added in version v1.15.0.

引入一个新的环境变量:

XINFERENCE_ENV_ALLOW_MULTI_REPLICA_PER_GPU

控制是否启用单GPU多副本功能,默认值:1

新功能:智能副本部署

  1. 单GPU多副本

新增支持:即使仅有一块GPU,也能运行多个模型副本。

  • 场景:您拥有1个GPU且显存充足

  • 配置:副本数量=3,GPU数量=1

  • 结果:3个模型实例,在同一GPU上运行,共享GPU资源

  1. 混合GPU分配

智能分配: 副本数可以不等于GPU数量,系统会智能分配

  • 场景: 你有2张GPU,需要3个副本

  • 配置: 副本数=3,GPU数量=2

  • 结果: GPU0运行2个实例,GPU1运行1个实例

混合分配策略#

当前策略为 空闲优先 :调度器始终尝试将副本分配至最空闲的GPU。使用 XINFERENCE_ENV_LAUNCH_STRATEGY 参数选择启动策略。

设置环境变量#

Added in version v1.8.1.

有时我们希望在运行时为特定模型指定环境变量。从 v1.8.1 开始,Xinference 提供了单独配置环境变量的功能,无需在启动 Xinference 前设置。

针对 Web UI。

actor

命令行使用时,使用 --env 指定环境变量。

示例用法:

xinference launch xxx --env A 0 --env B 1

以 vLLM 为例,它有 V1 和 V0 两个版本,默认会自动判定使用哪个版本。如果想在加载模型时强制通过设置 VLLM_USE_V1=0 来使用 V0,可以指定该环境变量。

配置模型虚拟空间#

Added in version v1.8.1.

对于这部分,请参考 开关虚拟空间和定制依赖