TensorNet——基于TensorFlow的大规模稀疏特征模型分布式训练框架

TensorNet是一个基于TensorFlow的分布式训练框架,针对大规模稀疏特征模型进行优化,旨在解决训练样本量大、模型参数多的问题。它支持异步和同步模式,提供对稀疏特征的高效处理,降低网络通信开销,提升训练速度。在360的广告场景中,TensorNet将训练时间从3.5小时缩短到25分钟,并在在线推理性能上有35%的提升。
摘要由CSDN通过智能技术生成

奇技 · 指南

TensorNet是什么?

TensorNet是一个构建在TensorFlow之上针对广告推荐等大规模稀疏场景优化的分布式训练框架。TensorNet的目标是让所有使用TensorFlow的开发者可以快速的、方便的训练出稀疏参数超过百亿的超大模型。

练带有大规模稀疏特征模型的主要挑战

在广告、搜索、推荐等场景下的深度模型都会存在大量的高维离散稀疏特征,训练带有高维稀疏特征的模型主要有两个问题:

  1. 训练样本规模大。比如对于360广告场景会有超过100TB的训练数据。

  2. 模型参数多。比如对于360广告场景会有超过100亿的参数。

使用单机模式训练模型速度慢,耗时长,严重制约了模型的迭代速度,使用分布式训练已经成为业界标准。

使用TensorFlow训练稀疏特征模型的主要问题

TensorFlow是最受开发者欢迎的深度学习训练框架,但是TensorFlow对训练带有大规模稀疏特征的模型不太友好,主要问题有:

  1. TensorFlow支持的特征维度有限。一般的,TensorFlow需要对每一个特征定义一个矩阵,这个矩阵受限于内存,往往不能太大。

  2. TensorFlow分布式训练时需要同步所有的参数,这导致速度过慢。由于带有稀疏特征的模型参数多,同步开销非常大,会严重制约训练的速度。

TensorNet——基于TensorFlow的专为大规模稀疏特征模型优化的分布式训练框架

TensorNet在复用TensorFlow的所有功能的基础之上,专门定制使其支持大规模稀疏特征模型的训练。TensorNet的主要提升包括:

  1. 使TensorFlow支持的稀疏特征的维度接近于无限

  2. 使TensorFlow分布式训练时同步的参数规模减小到原来的万分之一,乃至十万分之一,从而极大的提升了训练速度。在360真实业务场景下我们将原来的离线训练时间由3.5小时提升到了25分钟

  3. 配合TensorNet通过split graph的方法可以对在线推理的性能进行优化。在360真实场景测试中我们发现有近 35% 的性能提升。

TensorNet分布式训练架构

TensorNet支持异步和同步模式训练。异步模式在仅有CPU的集群中速度提升十分显著,同步模式在网卡速度超过100GbE的GPU集群中表现突出。

TensorNet异步训练架构

在仅有CPU的集群中使用参数服务器的异步训练模式是训练模型

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值