下载
中文
注册

功能特性介绍

mxRec为用户提供了动态扩容、动态Shape、自动改图和特征准入与淘汰等功能特性,用户可以在适配模型中加入想要使用的功能特性。

动态扩容

TensorFlow对Embedding的支持是通过变量实现的,用户需要预估每个表的大小,再通过接口创建变量。Embedding表的大小在一开始就确认,后期无法扩大或者减小,这可能会导致显存的浪费或者空间不足。在推荐场景下,多个稀疏表的大小无法预估,为更好的适配用户场景及需求,增加片上内存稀疏表自动扩容功能,即显存随着模型训练增长。

流程介绍请参见动态扩容模式

动态Shape

mxRec训练框架支持动态Shape。动态Shape指的是TensorFlow的Shape依赖于具体的运算,算子输入是动态Shape、算子输出也是动态Shape。

流程介绍请参见动态Shape

自动改图

mxRec支持创建特征类FeatureSpec模式和自动修改TensorFlow计算图两种特征训练方式。

推荐场景下客户希望零代码改动迁移至昇腾并应用mxRec框架,自动改图通过修改TensorFlow计算图的方式,使得客户训练脚本无需创建特征类(FeatureSpec),无需调用嵌入read emb key算子的函数即可开始模型训练。

流程介绍请参见自动改图

特征准入与淘汰

当某些特征的频率过低时,对模型的训练效果不会有帮助,还会造成内存浪费以及过拟合的问题。因此需要特征准入功能来过滤掉频率过低的特征。特征准入与淘汰的使用分为在创建FeatureSpec模式和自动改图模式下两种情况。

对于一些对训练没有帮助的特征,我们需要将其淘汰以免影响训练效果,同时也能节约内存。在mxRec中我们支持特征淘汰功能,并提供了两种特征淘汰的触发方式,一是根据global step间隔触发淘汰,二是根据时间间隔触发淘汰。

流程介绍请参见特征准入与淘汰