找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

937

积分

0

好友

120

主题
发表于 7 天前 | 查看: 27| 回复: 0
本帖最后由 云栈大前端 于 2025-12-18 18:40 编辑

Lyft 近期对其机器学习平台 LyftLearn 进行了重构,采用“离线计算上云托管、在线推理保留自建”的混合方案:将训练与批处理等离线工作负载迁移到 AWS SageMaker,同时继续使用 Kubernetes 承载在线模型服务。该决策思路是:在运维复杂度最高的环节优先使用托管服务,在需要成本效率与控制力的环节保留自定义基础设施。

架构拆分:Compute 迁移 SageMaker,Serving 继续跑在 Kubernetes

LyftLearn 主要由两部分组成:

  • LyftLearn Compute:负责训练、批处理等离线计算
  • LyftLearn Serving:负责实时在线推理(inference)

工程团队将 LyftLearn Compute 迁移至 AWS SageMaker,以减少在自建批处理计算基础设施上的投入;而 LyftLearn Serving 保留在 Kubernetes 上,因为现有架构已能满足性能要求,并且与内部工具链结合紧密。

迁移动因:自建离线计算的运维成本持续攀升

LyftLearn 每天支撑数亿次预测请求,覆盖派单优化、定价、风控等业务;平台每天运行数千个训练任务,服务数百名数据科学家与机器学习工程师。平台最初完全构建在 Kubernetes 上,但随着规模扩大,运维复杂度显著增加:

  • 新增任意 ML 能力往往需要额外的编排与控制逻辑
  • 为了同步 Kubernetes 状态与平台数据库,需要维护多个 watcher 服务
  • 事件乱序、容器状态迁移等带来“最终一致性”的状态管理问题
  • 集群自动扩缩容与后台守护服务消耗大量工程时间

在这些问题上,离线计算尤其“重运维”,成为团队优先下放给托管服务的部分。

SageMaker 如何缓解离线痛点:事件驱动与按需资源

对离线工作负载,SageMaker 的托管能力直接命中痛点:

  • AWS EventBridge + SQS 替代 watcher 架构,转为事件驱动的状态管理
  • 采用按需资源拉起,减少闲置集群容量带来的成本浪费

但迁移并非“改代码就能跑”,团队要求对既有 ML 代码保持高度兼容,避免大规模重写。

关键实现:跨平台 Docker 镜像与 Train-Serve 一致性

Lyft 构建了跨平台的 Docker 镜像,使 SageMaker 中的运行时尽可能复刻 Kubernetes 环境,并在镜像/兼容层中透明处理:

  • 凭证注入(credential injection)
  • 指标采集(metrics collection)
  • 配置管理(configuration management)

这种兼容层还带来一个重要收益:同一份 Docker 镜像既用于 SageMaker 训练,也用于 Kubernetes 服务部署,从机制上减少了 train-serve 不一致问题,提升线上稳定性与可回溯性。

启动时延优化:SOCI 索引与 Warm Pools

对于每 15 分钟重训一次的时延敏感工作负载,团队需要把 SageMaker 的启动耗时压到接近 Kubernetes 的水平。为此他们引入:

  • Seekable OCI(SOCI)索引(用于 notebook 场景)
  • SageMaker warm pools(用于训练任务)

以缩短镜像拉取与实例冷启动时间。

复杂难点:Spark 在 SageMaker Studio 与 EKS 间的双向通信

迁移中最棘手的问题之一来自 Spark:其执行器(executors)需要对 notebook 驱动(driver)发起入站连接,但 SageMaker 默认网络设置会阻断这类入站通信,导致 Studio 与 EKS(Kubernetes 集群)之间的联动受限。

Lyft 与 AWS 协作,在 Studio Domains 中启用自定义网络配置,解决了 Spark 的网络连通性问题,并未引入明显性能损失。

灰度方式:按仓库逐步迁移、双栈并行

迁移采取“repository by repository”的节奏推进,两个基础设施并行运行,只需做少量配置改动即可逐步切换。Lyft 表示迁移后:

  • 基础设施相关故障(incidents)减少
  • 工程团队从繁琐运维中释放出来,将精力转向 ML 平台能力建设与迭代速度提升

平台工程的关键不在于你运行了什么技术栈,而在于你隐藏了多少复杂度、释放了多少交付速度。——Lyft 工程团队总结

架构图:LyftLearn 混合高层架构

LyftLearn Hybrid High-Level Architecture

图源:Lyft 工程博客

延伸阅读

在实践层面,这一案例给 机器学习 平台团队提供了一个更务实的对照:与其追求“全统一平台”,不如围绕组织成本与控制边界做拆分——把最耗运维的部分交给托管,把最需要定制化与性价比的部分留在自建体系中。




上一篇:AWS发布Transform Custom:AI驱动代码现代化与技术债务消除实战
下一篇:Ax 1.0开源优化平台:LLM与系统调优实战指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-25 01:10 , Processed in 0.155524 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表