分布式工具¶
此目录 (vllm_omni/distributed/ray_utils) 包含 vllm-omni 中分布式执行的实用工具,支持 Ray 和 多进程 后端。
1. Ray 工具¶
ray_utils 模块提供了用于管理 Ray 集群和 Actor 的辅助函数,这对于以下方面至关重要: * **多节点部署**:在不同物理机之间运行管道阶段。 * **资源管理**:高效的 GPU/CPU 分配。
1.1 基本用法¶
要使用 Ray 后端,在初始化引擎时指定 worker_backend="ray"。
命令行示例
1.2 集群设置¶
步骤 1:启动主节点 在您的主机器上运行此命令
步骤 2:连接工作节点 在每台工作机器上运行此命令
提示:有关完整的集群设置脚本,请参阅 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。