Pinterest 使用 Ray 现代化机器学习基础设施

Pinterest 使用 Ray 现代化机器学习基础设施

💡 原文英文,约900词,阅读约需3分钟。
📝

内容提要

Pinterest公布了其使用开源分布式计算框架Ray现代化机器学习基础设施的旅程。Pinterest在将Ray集成到其生产环境中遇到了挑战,但通过自定义解决方案和用户界面的开发,成功简化了Ray集群的配置和管理。DoorDash也经历了类似的旅程,但两者的部署策略略有不同。Pinterest和DoorDash都强调了可观察性和监控的重要性,并报告了在灵活性、开发速度和性能方面的显著改进。

🔎

延伸解读

Pinterest 的定制化方案与成本控制

Pinterest 在 PinCompute 上运行 Ray 时,因无法安装 KubeRay 等 operator,不得不自研 API 网关、集群控制器和作业控制器,并借助 MySQL 管理外部状态。这种深度定制虽增加了初期复杂度,但换来了对集群生命周期的精细控制。其专用 UI 支持无活跃集群时分析日志,直接针对 GPU 闲置成本问题,体现了在资源效率上的务实考量。

可观测性:自研与开源工具的选择

两家公司都强调可观测性,但路径不同。Pinterest 将 Ray 指标接入自研时序数据库 Goku,并遵循 Ray 建议将日志持久化到 S3;DoorDash 则直接采用 Prometheus 收集指标。这反映出基础设施决策往往受现有技术栈影响:Pinterest 利用内部成熟工具,DoorDash 选择社区标准,两者都有效支撑了监控需求。

部署策略差异:自建与借力

Pinterest 从零构建定制解决方案,而 DoorDash 在自研控制器之外,复用了 Ray 团队提供的 Helm charts 和 Argo CD 进行部署管理。这种差异可能源于团队资源、时间压力或对控制粒度的需求不同。DoorDash 还开发了 Kotlin 客户端库以适配其主流技术栈,并联合 Nvidia 解决 GPU 驱动兼容性问题,显示出在借力生态的同时解决特定环境难题的平衡。

性能提升与落地速度的量化对比

Pinterest 报告机器学习想法到生产的时间从数周缩短至数天;DoorDash 同样从数周降至几天,并在部分迁移用例中实现 10-20 倍的性能提升。这些数据表明,Ray 在异构计算和分布式数据处理上的优势能直接转化为业务敏捷性。但需注意,这些收益基于两家公司的大规模场景,实际效果可能因团队规模和现有基础设施而异。

❓

Q&A

Pinterest是如何现代化其机器学习基础设施的?

Pinterest通过使用开源分布式计算框架Ray来现代化其机器学习基础设施,克服了多项挑战并开发了自定义解决方案。

Pinterest在集成Ray时遇到了哪些挑战?

Pinterest在集成Ray时面临Kubernetes集群的限制、持久日志记录和指标集成等挑战。

Pinterest为了解决Ray集成中的问题采取了哪些措施?

Pinterest开发了API网关、Ray集群控制器和专用用户界面等自定义解决方案,以简化Ray集群的管理。

Ray的灵活性对Pinterest的机器学习基础设施有什么影响?

Ray的灵活性使Pinterest能够更快地将机器学习想法投入生产,缩短了从几周到几天的时间。

DoorDash与Pinterest在机器学习基础设施现代化方面有什么不同?

DoorDash创建了自助平台和Kotlin客户端库,而Pinterest则专注于从头构建自定义解决方案。

Pinterest和DoorDash在机器学习基础设施现代化中都取得了哪些显著改进?

两家公司都报告了在灵活性、开发速度和性能方面的显著改善,机器学习想法的生产速度大幅提升。

🏷️

标签

➡️

继续阅读