美团内部深度定制的TensorFlow版本,基于原生TensorFlow 1.x架构与接口,从大规模稀疏参数的支持、训练模式、分布式通信优化、流水线优化、算子优化融合等多维度进行了深度优化。在推荐系统场景中,分布式扩展性提升10倍以上,单位算力性能也有显著提升,并在美团内部业务中大量使用,本文介绍了相关的优化与实践工作。
- 1 背景
- 2 大规模训练优化挑战
- 2.1 业务迭代带来的挑战
- 2.2 系统负载分析
- 3 优化实践
- 3.1 大规模稀疏参数介绍
- 3.2 分布式负载均衡优化
- 3.3 通信优化
- 3.4 延迟优化
- 3.5 单实例PS并发优化
- 3.6 单位算力吞吐优化
- 4 大规模稀疏算法建模
- 5 总结与展望
1 背景
TensorFlow(下文简称TF)是谷歌推出的一个开源深度学习框架,在美团推荐系统场景中得到了广泛的使用。但TensorFlow官方版本对工业级场景的支持,目前做得并不是特别的完善。美团在大规模生产落地的过程中,遇到了以下几方面的挑战:
- 所有参数都是用Variable表达, 对于百亿以上的稀疏参数开辟了大量的内存,造成了资源的浪费;
- 只支持百级别Worker的分布式扩展,对上千Worker的扩展性较差;
- 由于不支持大规模稀疏参数动态添加、删除,增量导出,导致无法支持Online Learning;
- 大规模集群运行时,会遇到慢机和宕机;由于框架层不能处理&#