多模态 AI 流水线#
💻 在 Anyscale 上免费运行本教程的全部内容:https://console.anyscale.com/template-preview/image-search-and-classification 或在此处访问存储库 here。
本教程侧重于多模态 AI 工作负载规模化的根本性挑战
🔋 计算:管理异构集群,减少空闲时间,处理复杂依赖项
📈 规模:与 Python 生态系统集成,提高可观测性,实现有效调试
🛡️ 可靠性:确保容错能力,利用检查点,支持作业可恢复性
🚀 生产:弥合开发到生产的差距,实现快速迭代,保持零停机,满足 SLA
本教程涵盖了 Ray 如何解决这些挑战,并通过实现可扩展的批处理推理、分布式训练和在线服务工作负载来提供实践解决方案。
01-Batch-Inference.ipynb:使用 Ray Data 规模化地摄取和预处理数据,为不同犬种的图像数据集生成嵌入并存储它们。02-Distributed-Training.ipynb:预处理数据,使用 Ray Train 训练图像分类器,并将模型构件保存到模型注册中心 (MLOps)。03-Online-Serving.ipynb:使用 Ray Serve 部署在线服务,该服务使用训练好的模型生成预测。
开发#
该应用程序在 Anyscale Workspaces 上开发,这使得开发无需担心基础设施——就像在笔记本电脑上工作一样。Workspaces 配备了
开发工具:从本地 IDE (Cursor, VS Code 等) 启动远程会话,开始编码,使用您喜欢的相同工具,但拥有 Anyscale 计算能力。
依赖项:使用 pip 或 uv 等常用工具安装依赖项。Anyscale 将所有依赖项传播到集群的工作节点。
计算:通过将 Anyscale 部署到您的帐户中,利用您选择的任何计算提供商的任何预留实例容量、Spot 实例。或者,您可以使用 Anyscale 云来实现完全的无服务器体验。
底层会自动启动一个由 Anyscale 高效管理的集群。
调试:利用 分布式调试器,获得与 VS Code 类似的调试体验。
在 官方文档 中了解有关 Anyscale Workspaces 的更多信息。
其他依赖项#
您可以选择通过 uv 或 pip 来管理其他依赖项。
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 CLI 或 SDK 来部署 高可用服务 和运行 可靠的批处理作业,无缝集成到您现有的 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 专有优化。