背景

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

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

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

  1. 自主研发:完全替代Tensroflow。以百度PaddlePaddle为代表,PaddlePaddle目前处于半开源的状态,参数服务器部分的源码并没有开源。
  2. 使用Tensorflow作为第三方后端深度学习库:以XDL为代表,XDL还支持Tensorflow之外的其他深度学习库;笔者之前对XDL的源码有过详细的分析,可以参考笔者之前的博文:深入浅出XDL
  3. 扩展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):大规模推荐系统深度学习解决方案相关推荐

  1. 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1

    日萌社 人工智能AI:TensorFlow Keras PyTorch MXNet PaddlePaddle 深度学习实战 part1 人工智能AI:TensorFlow Keras PyTorch ...

  2. 推荐系统深度学习篇-NFM 模型介绍(1)

    一.推荐系统深度学习篇-NFM 模型介绍(1) NFM是2017年由新加披国立大学提出的一种模型,其主要优化点在于提出了Bi-Interaction,Bi-Interaction考虑到了二阶特征组合, ...

  3. 检验 pytorch,tensorflow,paddle,mxnet 深度学习框架是否正确支持GPU功能

    检验 pytorch,tensorflow,paddle,mxnet 深度学习框架是否正确支持GPU功能 1.pytorch 框架 import torch a = torch.cuda.is_ava ...

  4. Tensorflow与keras学习 (9)——TensorFlow的RTX 2080 Ti深度学习训练基准

    TensorFlow的RTX 2080 Ti深度学习基准-2020年 在本文中,Lambda讨论了RTX 2080 Ti与其他GPU相比的深度学习性能.我们使用RTX 2080 Ti来训练ResNet ...

  5. 3月13日云栖精选夜读:通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练

    阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发.模型训练和模型预测.同时,对于模型训练和预测,用户还可以通过指 ...

  6. 3月13日云栖精选夜读:通过阿里云容器服务深度学习解决方案上手Caffe+多GPU训练...

    阿里云容器服务提供的深度学习解决方案内置了对Tensorflow, Keras, MXnet框架的环境,并支持基于它们的深度学习模型开发.模型训练和模型预测.同时,对于模型训练和预测,用户还可以通过指 ...

  7. 过拟合和欠拟合_现代深度学习解决方案中的两大挑战:拟合和欠拟合

    全文共2306字,预计学习时长5分钟 对机器学习模型而言,最糟糕的两种情况无非是构建无用的知识体系,或是从训练数据集中一无所获.在机器学习理论中,这两种现象分别被称为过拟合和欠拟合,是现代深度学习解决 ...

  8. PaddlePaddle, TensorFlow, MXNet, Caffe2 , PyTorch五大深度学习框架2017-10最新评测

    前言 本文将是2017下半年以来,最新也是最全的一个深度学习框架评测.这里的评测并不是简单的使用评测,我们将用这五个框架共同完成一个深度学习任务,从框架使用的易用性.训练的速度.数据预处理的繁琐程度, ...

  9. 【深度学习】2021 年了,TensorFlow 和 PyTorch 两个深度学习框架地位又有什么变化吗?...

    2021年了,大家用TensorFlow还是PyTorch多一点? 观点一 作者:Yulong 链接:https://www.zhihu.com/question/452749603/answer/1 ...

最新文章

  1. 什么是枚举,为什么有用?
  2. Centos6.5安装/运行/启动/登录docker
  3. Django(part2)--创建项目与Django目录结构
  4. Python爬虫入门四之Urllib库的高级用法
  5. 【微信插件】P3微信插件测试使用步骤
  6. 实用常识 | 文件都在C盘,一点儿都不圆润,盘它!
  7. TransE, TransR
  8. 微信小程序 好用的UI组件库推荐
  9. 【其他专题】好用的截图(包括动图gif)软件分享
  10. C++学习心得和体会
  11. Simple Tips on C++(对于C++的一些建议)
  12. Unity MMO游戏架构设计之角色设计二
  13. 漫谈软硬件的开发(转载)
  14. MACBOOK 快捷键与系统设置
  15. 记录一个vue项目报错UnhandledPromiseRejectionWarning: Unhandled promise rejection.
  16. 力扣(700.701)补9.9
  17. oracle 11g Data Guard物理备份库
  18. Challenge Growth —— 从这里开始
  19. JS中的click事件无反应
  20. 非关系型数据库NoSQL的崛起

热门文章

  1. 使用mmap映射来读写文件
  2. iPhone必崩溃bug曝光
  3. React-Hooks之useImperativeHandle使用,让父组件操纵子组件的状态和方法
  4. android实现自动取消订单,android – 使用RemoteView自动取消自定义通知
  5. python中从小到大排序的函数_深入理解Python中的排序函数
  6. Cet6高频词汇汇总
  7. java-多线程-ReentrantLock
  8. 【直觉建设】归纳偏差与选择性偏差
  9. Oracle11g下载与安装图文教程(win10)
  10. 钉钉群组关联GitLab机器人怎么用