当推荐遇到社交:美图的推荐算法设计优化实践( 五 )

高效:采用 tensorflow 底层 API 和 Estimator 来实现,并遵循 tensorflow 官方性能优化指南,最大限度提升模型训练效率,相比 Keras 以及内部未优化版本,单卡训练效率有数倍提升。同时,能够支持同步、异步等多种并行训练方案;

可扩展:Bamboo 的最初的设计目标是作为 tensorflow 的补充,因此在整个设计过程充分考虑了扩展性,能够支持采用 Bamboo 提供的 API 或者使用 tensorflow 原生 API。良好的分层设计,方便使用方进行模块的复用和重构。

MML Serving

MML Serving 决定了模型能否上线提供服务以及在线服务的效率。去年下半年,我们上线了采用 C++ 开发的新版 MML Serving,通过内存和并发的优化,让我们整体预估耗时减少了 50%,服务初始化耗时减少了 50%,内存使用量降低了 77%。通过压测发现,服务在高并发下,整体表现稳定。另外良好的架构设计,可以很方便接入各种第三方机器学习库,目前已经内置了对 tensorflow 和 xgboost 模型的支持。

平台收益

推荐阅读