跳到内容

分布式工具

此目录 (vllm_omni/distributed/ray_utils) 包含 vllm-omni 中分布式执行的实用工具,支持 Ray多进程 后端。

1. Ray 工具

ray_utils 模块提供了用于管理 Ray 集群和 Actor 的辅助函数,这对于以下方面至关重要: * **多节点部署**:在不同物理机之间运行管道阶段。 * **资源管理**:高效的 GPU/CPU 分配。

1.1 基本用法

要使用 Ray 后端,在初始化引擎时指定 worker_backend="ray"

命令行示例

vllm serve Qwen/Qwen2.5-Omni-7B \
  --omni \
  --port 8091 \
  --worker-backend ray \
  --ray-address auto

1.2 集群设置

步骤 1:启动主节点 在您的主机器上运行此命令

ray start --head --port=6399

步骤 2:连接工作节点 在每台工作机器上运行此命令

ray start --address=<HEAD_NODE_IP>:6399

提示:有关完整的集群设置脚本,请参阅 vLLM 示例:run_cluster.sh

1.3 分布式连接器支持

在 Ray 上运行时,系统会自动调整其通信策略

  • 跨节点:推荐使用 MooncakeConnector(需要单独配置)。
  • 同节点:仍可使用 SharedMemoryConnector 以提高效率,或使用 Ray 的原生对象存储(plasma)。
  • SHM 阈值默认值不同:当 worker_backend="ray" 时,SharedMemoryConnector 的默认阈值设置为 sys.maxsize,这将强制载荷内联(不使用 SHM)。如果您希望在 Ray 运行时使用 SHM,请在连接器配置中覆盖 shm_threshold_bytes

1.4 内部助手

  • initialize_ray_cluster:连接到现有的 Ray 集群或启动一个本地集群。

2. 故障排除

  • 连接问题:确保 Ray 主节点可访问并且端口(此示例中默认为 6399)已打开。
  • 版本不匹配:确保所有节点运行相同版本的 Ray 和 Python。

安装

pip install "ray[default]"