TEF(Tensorflow Extend Framework):大规模推荐系统深度学习解决方案

背景

Tensorflow是目前使用最广泛的深度学习解决方案,但是在面对高维稀疏数据的场景(如广告,推荐,搜索等)下,有些力不从心,有以下几点缺点:

  • 参数必须以固定维度的矩阵形式提前分配(训练开始前),不支持参数的实时(训练过程中)分配与淘汰
  • 不支持参数的增量形式的导出

为了克服这些缺点,目前支持高维稀疏场景的深度学习解决方案可以分为三类:

  1. 自主研发:完全替代Tensroflow。以百度PaddlePaddle为代表,PaddlePaddle目前处于半开源的状态,参数服务器部分的源码并没有开源。
  2. 使用Tensorflow作为第三方后端深度学习库:以XDL为代表,XDL还支持Tensorflow之外的其他深度学习库;笔者之前对XDL的源码有过详细的分析,可以参考笔者之前的博文:深入浅出XDL
  3. 扩展Tensorflow:字节跳动的BytePS采用这种方式,但是BytePS并非针对高维稀疏场景的解决方案,它的改进点是分布式深度学习场景下通信效率问题。

TensorflowExtendFramework(以下简称TEF)是笔者开源的针对高维稀疏数据场景(如广告,推荐,搜索等)的深度学习解决方案,Github地址:TensorflowExtendFramework,采用的方式是第三种,扩展Tensorflow。

简介

基本的介绍见项目文档:TEF

源码结构

目录功能备注
docker开发与部署环境的Dockerfile
examplestef使用样例
tef/coretef c++代码
tef/pythontef python代码
third_party第三方依赖库

实现分析

TEF通过Operation扩展的机制,将Tensorflow的参数分配与更新任务交给自定义的参数服务器来承担,从而克服了以上的几点不足,结构图如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值