Ray教程构建端到端AI流水线
AI 总结
这篇掘金人工智能教程提供一个可运行的 mini-ray 示例,覆盖数据准备、批量推理、训练、在线服务、可观测性和容错演练。文中称配套代码仅需 Python 和 NumPy、无需 GPU,并将各环节分别映射到 Ray Data、Ray Train、Ray Serve、Ray Tune 和 KubeRay 等生产组件,但没有提供独立运行验证。
深度见解
该教程把 Ray 的核心分布式计算原语整合进一条 AI 工程流水线,并逐一指出各阶段对应的生产组件。
把整本书的能力拼成一条真实流水线:数据准备 → 批量推理 → 训练 → 在线服务 → 可观测性 → 容错。 配套代码
mini-ray/examples/11_end_to_end.py,可以直接运行(纯 Python + NumPy,无需 GPU)。 每一节都给出「真实 Ray 里对应哪个组件」,所以这份案例可以直接迁移到生产栈。
E.1 案例全景
① 数据准备 4 个分片 → 清洗/特征化(任务链,依赖自动并行)
│
② 批量推理 ActorPool + 常驻模型(模型只加载一次)
│
③ 训练 放置组 + 参数服务器 + 数据并行 worker(资源原子性预留)
│
④ 在线服务 有状态推理端点(真实场景 = Ray Serve)
│
⑤ 可观测性 State API + timeline 甘特图
│
⑥ 容错演练 注入 worker 崩溃 + 丢弃全部对象,验证重试与 lineage 重建
| 阶段 | 真实 Ray 对应 | 本文用到的 Ray Core API |
|---|---|---|
| ① 数据准备 | Ray Data(read_* + map_batches) | @ray.remote、ObjectRef 依赖 |
| ② 批量推理 | Ray Data LLM:vLLMEngineProcessorConfig + build_processor | util.ActorPool、actor 常驻 |
| ③ 训练 | Ray Train(+ Ray Tune 调参) | 放置组、PlacementGroupSchedulingStrategy |
| ④ 在线服务 | Ray Serve / Ray Serve LLM | actor 方法调用 |
| ⑤ 可观测性 | ray.util.state + Dashboard + ray.timeline(⚠️ 真实 Ray 的 timeline(filename) 不接受 html=,见 E.6) | state.*、timeline()、timeline(..., html=)(后者是 mini-ray 专有) |
| ⑥ 容错 | 同样的机制(重试 / lineage 重建 / actor 重启) | max_retries、故障注入 |
#Ray#mini-ray#Ray Data#Ray Train#Ray Serve#Ray Tune#KubeRay#NumPy