TEF(Tensorflow Extend Framework):大规模推荐系统深度学习解决方案
背景
Tensorflow是目前使用最广泛的深度学习解决方案,但是在面对高维稀疏数据的场景(如广告,推荐,搜索等)下,有些力不从心,有以下几点缺点:
- 参数必须以固定维度的矩阵形式提前分配(训练开始前),不支持参数的实时(训练过程中)分配与淘汰
- 不支持参数的增量形式的导出
为了克服这些缺点,目前支持高维稀疏场景的深度学习解决方案可以分为三类:
- 自主研发:完全替代Tensroflow。以百度PaddlePaddle为代表,PaddlePaddle目前处于半开源的状态,参数服务器部分的源码并没有开源。
- 使用Tensorflow作为第三方后端深度学习库:以XDL为代表,XDL还支持Tensorflow之外的其他深度学习库;笔者之前对XDL的源码有过详细的分析,可以参考笔者之前的博文:深入浅出XDL
- 扩展Tensorflow:字节跳动的BytePS采用这种方式,但是BytePS并非针对高维稀疏场景的解决方案,它的改进点是分布式深度学习场景下通信效率问题。
TensorflowExtendFramework(以下简称TEF)是笔者开源的针对高维稀疏数据场景(如广告,推荐,搜索等)的深度学习解决方案,Github地址:TensorflowExtendFramework,采用的方式是第三种,扩展Tensorflow。
简介
基本的介绍见项目文档:TEF
源码结构
目录 | 功能 | 备注 |
---|---|---|
docker | 开发与部署环境的Dockerfile | |
examples | tef使用样例 | |
tef/core | tef c++代码 | |
tef/python | tef python代码 | |
third_party | 第三方依赖库 |
实现分析
TEF通过Operation扩展的机制,将Tensorflow的参数分配与更新任务交给自定义的参数服务器来承担,从而克服了以上的几点不足,结构图如下:
TEF(Tensorflow Extend Framework):大规模推荐系统深度学习解决方案相关推荐
- 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1
日萌社 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1 人工智能AI:TensorFlow Keras PyTorch ...
- 推荐系统深度学习篇-NFM 模型介绍(1)
一.推荐系统深度学习篇-NFM 模型介绍(1) NFM是2017年由新加披国立大学提出的一种模型,其主要优化点在于提出了Bi-Interaction,Bi-Interaction考虑到了二阶特征组合, ...
- 检验 pytorch,tensorflow,paddle,mxnet 深度学习框架是否正确支持GPU功能
检验 pytorch,tensorflow,paddle,mxnet 深度学习框架是否正确支持GPU功能 1.pytorch 框架 import torch a = torch.cuda.is_ava ...
- Tensorflow与keras学习 (9)——TensorFlow的RTX 2080 Ti深度学习训练基准
TensorFlow的RTX 2080 Ti深度学习基准-2020年 在本文中,Lambda讨论了RTX 2080 Ti与其他GPU相比的深度学习性能.我们使用RTX 2080 Ti来训练ResNet ...
- 3月13日云栖精选夜读:通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练
阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发.模型训练和模型预测.同时,对于模型训练和预测,用户还可以通过指 ...
- 3月13日云栖精选夜读:通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练...
阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发.模型训练和模型预测.同时,对于模型训练和预测,用户还可以通过指 ...
- 过拟合和欠拟合_现代深度学习解决方案中的两大挑战:拟合和欠拟合
全文共2306字,预计学习时长5分钟 对机器学习模型而言,最糟糕的两种情况无非是构建无用的知识体系,或是从训练数据集中一无所获.在机器学习理论中,这两种现象分别被称为过拟合和欠拟合,是现代深度学习解决 ...
- PaddlePaddle, TensorFlow, MXNet, Caffe2 , PyTorch五大深度学习框架2017-10最新评测
前言 本文将是2017下半年以来,最新也是最全的一个深度学习框架评测.这里的评测并不是简单的使用评测,我们将用这五个框架共同完成一个深度学习任务,从框架使用的易用性.训练的速度.数据预处理的繁琐程度, ...
- 【深度学习】2021 年了,TensorFlow 和 PyTorch 两个深度学习框架地位又有什么变化吗?...
2021年了,大家用TensorFlow还是PyTorch多一点? 观点一 作者:Yulong 链接:https://www.zhihu.com/question/452749603/answer/1 ...
最新文章
- 什么是枚举,为什么有用?
- Centos6.5安装/运行/启动/登录docker
- Django(part2)--创建项目与Django目录结构
- Python爬虫入门四之Urllib库的高级用法
- 【微信插件】P3微信插件测试使用步骤
- 实用常识 | 文件都在C盘,一点儿都不圆润,盘它!
- TransE, TransR
- 微信小程序 好用的UI组件库推荐
- 【其他专题】好用的截图(包括动图gif)软件分享
- C++学习心得和体会
- Simple Tips on C++(对于C++的一些建议)
- Unity MMO游戏架构设计之角色设计二
- 漫谈软硬件的开发(转载)
- MACBOOK 快捷键与系统设置
- 记录一个vue项目报错UnhandledPromiseRejectionWarning: Unhandled promise rejection.
- 力扣(700.701)补9.9
- oracle 11g Data Guard物理备份库
- Challenge Growth —— 从这里开始
- JS中的click事件无反应
- 非关系型数据库NoSQL的崛起