fleet transpiler模式 mpi分布式训练ctr模型 embedding极易出现梯度爆炸
收藏
0
收藏
全部评论(2)
问题已解决,解决方案如下:
- paddlecloud 的config.ini里添加:
FLAGS_communicator_send_queue_size=8
FLAGS_communicator_thread_pool_size=8
FLAGS_communicator_max_merge_var_num=8
FLAGS_communicator_is_sgd_optimizer=0
- 训练代码中优化器需打开lazy_mode:
optimizer = fluid.optimizer.Adam(learning_rate=3e-4, lazy_mode=True)
加入以上改动后,模型可以正常训练。
0
请登录后评论
1)PaddlePaddle版本:paddle 1.6.1
1 )多机,cpu
Pserver log报错日志:Error Message Summary:
Tue Dec 31 14:58:11 2019[1,0]:----------------------
Tue Dec 31 14:58:11 2019[1,0]:PaddleCheckError: Operator adam output Tensor C3_C7_moment2_0 contains Inf at [/paddle/paddle/fluid/framework/operator.cc:843]
Train log报错日志:PaddleCheckError: internal error in RPCClient at [/paddle/paddle/fluid/operators/distributed/parameter_prefetch.cc:129]
Tue Dec 31 14:58:15 2019[1,2]: [operator < distributed_lookup_table > error]
任务的mpi链接
本地训练正常,提到mpi训练几个batch后就报错了。之前使用业务线的数据集训练ctr模型频繁出现embedding梯度爆炸。之前也提过问题,链接