多模态 AI 流水线#

   

💻 在 Anyscale 上免费运行本教程的全部内容:https://console.anyscale.com/template-preview/image-search-and-classification 或在此处访问存储库 here

本教程侧重于多模态 AI 工作负载规模化的根本性挑战

  • 🔋 计算:管理异构集群,减少空闲时间,处理复杂依赖项

  • 📈 规模:与 Python 生态系统集成,提高可观测性,实现有效调试

  • 🛡️ 可靠性:确保容错能力,利用检查点,支持作业可恢复性

  • 🚀 生产:弥合开发到生产的差距,实现快速迭代,保持零停机,满足 SLA

本教程涵盖了 Ray 如何解决这些挑战,并通过实现可扩展的批处理推理、分布式训练和在线服务工作负载来提供实践解决方案。

https://raw.githubusercontent.com/anyscale/multimodal-ai/refs/heads/main/images/overview.png

开发#

该应用程序在 Anyscale Workspaces 上开发,这使得开发无需担心基础设施——就像在笔记本电脑上工作一样。Workspaces 配备了

  • 开发工具:从本地 IDE (Cursor, VS Code 等) 启动远程会话,开始编码,使用您喜欢的相同工具,但拥有 Anyscale 计算能力。

  • 依赖项:使用 pip 或 uv 等常用工具安装依赖项。Anyscale 将所有依赖项传播到集群的工作节点。

  • 计算:通过将 Anyscale 部署到您的帐户中,利用您选择的任何计算提供商的任何预留实例容量、Spot 实例。或者,您可以使用 Anyscale 云来实现完全的无服务器体验。

    • 底层会自动启动一个由 Anyscale 高效管理的集群。

  • 调试:利用 分布式调试器,获得与 VS Code 类似的调试体验。

官方文档 中了解有关 Anyscale Workspaces 的更多信息。

其他依赖项#

您可以选择通过 uvpip 来管理其他依赖项。

uv#

# UV setup instructions
uv init .  # this creates pyproject.toml, uv lockfile, etc.
ray_wheel_url=https://:9478/ray/$(pip freeze | grep -oP '^ray @ file:///home/ray/\.whl/\K.*')
uv add "$ray_wheel_url[data, train, tune, serve]"  # to use anyscale's performant ray runtime
uv add $(grep -v '^\s*#' requirements.txt)
uv add --editable ./doggos

Pip#

# Pip setup instructions
pip install -q -r /home/ray/default/requirements.txt
pip install -e ./doggos

注意:在 Anyscale 上免费运行整个教程—所有依赖项都已预先安装,并且计算会自动扩展。要在其他地方运行,请从 containerfile 安装依赖项,并配置相应的 GPU 资源。

生产#

通过利用 Anyscale CLISDK 来部署 高可用服务 和运行 可靠的批处理作业,无缝集成到您现有的 CI/CD 流水线中。在与生产环境几乎相同的环境中开发—一个多节点集群—可以极大地加速开发到生产的过渡。本教程还介绍了 RayTurbo 专有功能,可优化工作负载的性能、容错能力、规模和可观测性。

anyscale job submit -f /home/ray/default/configs/generate_embeddings.yaml
anyscale job submit -f /home/ray/default/configs/train_model.yaml
anyscale service deploy -f /home/ray/default/configs/service.yaml

无需担心基础设施#

将基础设施与您的 ML/AI 开发人员隔离开来,让他们能够专注于核心的 ML 开发。您还可以通过 企业治理和可观测性 以及 管理员功能 来更好地管理计算资源和成本,从而可以设置 资源配额,为 不同工作负载设置优先级,并获得整个计算集群的 利用率可观测性。在 Kubernetes 云 (EKS, GKE 等) 上运行的用户仍然可以通过部署 Anyscale Kubernetes Operator 来访问本教程中演示的 RayTurbo 专有优化。