模型虚拟空间#
备注
v1.5.0 新增。
背景#
一些模型在发布后不再维护,其依赖的库版本也保持在较旧的状态。例如,GOT-OCR2
模型仍依赖于 transformers
4.37.2。如果将该库升级为新版本,模型将无法正常运行;而许多新模型又需要最新版本的 transformers
。这种版本差异会导致依赖冲突。
解决方案#
为了解决这个问题,我们引入了 模型虚拟空间 功能。
通过以下命令安装该功能所需的依赖
# all
pip install 'xinference[all]'
# or virtualenv
pip install 'xinference[virtualenv]'
通过设置环境变量 XINFERENCE_ENABLE_VIRTUAL_ENV=1
启用该功能。
使用示例:
# For command line
XINFERENCE_ENABLE_VIRTUAL_ENV=1 xinference-local ...
# For Docker
docker run -e XINFERENCE_ENABLE_VIRTUAL_ENV=1 ...
警告
该功能需要联网,或使用自建的 PyPI 镜像服务。
Xinference 默认会继承当前 pip 的配置。
备注
模型虚拟空间功能默认处于关闭状态(即 XINFERENCE_ENABLE_VIRTUAL_ENV
的默认值为 0)。
该功能将在 Xinference v2.0.0 起默认开启。
启用该功能后,Xinference 会在加载模型时自动为其创建专属的虚拟环境,并在其中安装对应依赖。这可避免模型之间的依赖冲突,确保各模型在相互隔离的环境中独立运行。
支持的模型#
当前,该功能支持以下模型:
……(自 v1.5.0 起的新模型都会考虑支持该功能)
存储位置#
默认情况下,模型的虚拟环境存储在以下路径
在 v1.6.0 之前:XINFERENCE_HOME / virtualenv / {model_name}
从 v1.6.0 开始:XINFERENCE_HOME / virtualenv / v2 / {model_name}