从YARN迁移到k8s,滴滴机器学习平台二次开发是这样做的
作者头像
  • 朱贤瑶
  • 2019-12-01 09:03:27 5

滴滴机器学习平台的演进与优化

导语

在人工智能时代,机器学习技术已经渗透到各个领域,深刻改变了业务模式和技术架构。随着深度学习技术的发展,高效、易用的机器学习平台对于互联网公司变得尤为重要。滴滴出行资深软件工程师唐博在2019 AI开发者大会上的演讲,分享了滴滴如何利用 Kubernetes 调度系统优化其机器学习平台的经验。

滴滴机器学习平台概述

滴滴机器学习平台旨在为用户提供多种环境,包括实验环境、离线任务和在线服务。实验环境允许用户进行代码开发和调试;离线任务用于批量训练和调参;在线服务则用于实时预测。

平台调度系统的演进

最初,滴滴采用 YARN 进行资源管理,并对其进行了改造,以适应机器学习的需求。然而,随着业务的不断发展,滴滴决定转向 Kubernetes,因为 Kubernetes 提供了更高的扩展性、灵活性和更广泛的生态支持。Kubernetes 的优势在于其扩展性、CSI、CNI、CRI、CRD 等接口的丰富性,以及基于云原生理念的声明式 API 设计,使其更适合机器学习场景。

机器学习场景下的Kubernetes落地实践

滴滴机器学习平台提供了三种环境:实验环境、离线任务和在线服务。平台在易用性、利用率和稳定性三个方面进行了优化。

易用性

平台提供了灵活的网络配置和隔离机制,用户可以通过管控系统页面登录实验环境。为了提高用户体验,平台引入了 SDN 技术,实现了更灵活的网络配置和更强的隔离性。

利用率

平台在资源利用率方面也做了大量工作。例如,通过共享 GPU、调度策略和优化调度算法,提高了资源利用率。平台还引入了英伟达的 vGPU 技术,以更好地支持 GPU 使用。

稳定性

为了提高平台的稳定性,滴滴对 Kubernetes 进行了多项优化。例如,增大了 pod 驱逐时间,去除了一些可能导致数据丢失的操作,并优化了升级过程中的资源管理。

平台正在开发的功能及未来展望

滴滴机器学习平台正在开发新的功能,包括定制化的调度器、再调度器和自定义的 device plugin。这些新功能将进一步提高平台的性能和用户体验。未来,滴滴希望借助 Kubernetes 提供多机多卡服务,并将更多大数据任务整合到平台中,进一步提高资源利用率。

结语

滴滴机器学习平台通过不断优化和创新,已经成为一个高效、稳定且易于使用的平台。滴滴将继续致力于推动平台的发展,为用户提供更好的机器学习服务。

演讲嘉宾

唐博,滴滴出行资深软件工程师,拥有丰富的技术背景和实践经验,同时也是多个开源项目的贡献者。

    本文来源:图灵汇
责任编辑: : 朱贤瑶
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
迁移滴滴机器这样开发学习平台YARNk8s
    下一篇