目前机器学习已应用在Hulu的多个场景,包括推荐、搜索、广告、异常登录检测、语音识别等领域。作为机器学习生命周期的重要一环,Hulu机器学习平台为数据科学家和算法工程师提供了涵盖算力、通信、调度、跟踪、调优的工具和能力,以便更好、更快、更有效的让模型带来商业价值。本文将着重介绍Hulu分布式训练平台的架构,以及在平台搭建和维护中遇到的挑战和解决方案。
Hulu机器学习训练平台已经有五年的历史。五年中,平台围绕机器学习场景,整合了TensorFlow,LightGBM,PyTorch,XGBoost等等一系列机器学习框架,为搜索,推荐,广告,内容发现等等各个领域提供了算力和框架支撑。在平台的不断迭代中,随着公司业务规模的扩大,订阅用户数的增多,机器学习模型的复杂化,训练平台也在面临着方方面面的技术挑战。
随着样本数据、特征和标签数据集愈加庞大,单机训练已无法满足训练时长的要求,这将降低模型的更新频率,有可能导致模型推理效果变差。我们可以通过使用更高性能的GPU来缓解这个问题,但是仍然突破不了单卡训练的瓶颈。
模型参数一般为稀疏或稠密的向量或矩阵,通常模型中更多的参数可以表征更多的特性。当前深度学习模型中参数规模在以倍数速度增长,部分推荐模型已达到10TB级别,在这种情况下,单机/单卡内存已经远远不能满足需求。
为了解决上述问题,分布式训练平台应运而生。通过对分布式训练的支持,平台不仅实现了对关键模型的加速,而且也兼容了目前超大模型的通用解决方案。
目前,业内常见的分布式训练方案分为数据并行、张量并行和流水线并