我正在尝试使用TF中的参数服务器,用稀疏特征向量中的样本训练LR模型。特征ID索引高达50亿,样本的密集大小约为5000。
使用tf.feature_column.categorical_column_with_identity
的num_buckets为50亿,首席工作人员可以轻松地消耗大约100GB的内存,并且在尝试在训练开始之前尝试保存checkpoint-0时被系统杀死。我还尝试了tf.feature_column.categorical_column_with_hash_bucket
,hash_buckets_size为5B,但是没有运气。
由于我只有一个功能插槽,并且每个功能ID都对应一个特定功能,所以我不想执行任何嵌入操作来减小功能尺寸。
有什么办法可以减少首席工作人员的内存消耗?
我的模型中的其他信息:
数据存储在TFRecord中;
样本数量约为5500万;
优化器是FTRL;
batch_size可以是64/128/256/512;