Я пытаюсь обучить модель LR с выборками в разреженном векторе признаков, используя сервер параметров в TF.Индекс идентификатора функции достигает 5 миллиардов, а плотный размер выборки составляет около 5000.
Используя tf.feature_column.categorical_column_with_identity
с num_buckets 5 миллиардов, главный работник может легко потреблять около 100 ГБ памяти и быть уничтоженнымсистема, когда она пытается сохранить контрольную точку-0 до начала обучения.Я также попробовал tf.feature_column.categorical_column_with_hash_bucket
с hash_buckets_size 5B и не получил удачи.
Поскольку у меня только один слот функции, и каждый идентификатор функции соответствует определенной функции, я не хочу выполнять какие-либо операции встраивания вуменьшить размер функции.
Есть ли способ уменьшить потребление памяти главным работником?
Другая информация в моей модели:
данные хранятся в TFRecord;
номер выборки около 55M;
, оптимизатор - FTRL;
batch_size может быть 64/128/256/512;