我已经接受了训练let output = {status: false};
if(execute.permission) {
let message: string[] = execute.params;
if(message.length >= 2) {
// Destructuring follows
[output['position'], output['message']] = message;
}
}
模型和tensorflow。我有3台服务器,每台服务器有32个CPU和8个Titan X gpu。
当我用单个服务器和单个gpu训练这个模型时,它连续使用gpu 50~60%。步进时间也合理(0.2~0.3秒)。
但是,当我使用群集(1个参数服务器,2个具有异步的工作人员)训练相同模型时,他们无法使用gpu和步长增加(3秒,比单个版本慢10倍)。
我发现参数服务器的参数大小为220MB,网络使用率为2Gbits / sec。我认为有降低参数更新频率的方法,但我无法找到。
有办法解决这个问题吗?
提前致谢。
答案 0 :(得分:0)
一种方法可能是使用输入投影图层并将嵌入尺寸降低8倍。这样,模型中的大多数参数都会减少,并有望提高传输速度。
我不知道你的任务是什么,但它也有助于共享嵌入 - 就像在编码器和解码器中共享相同的嵌入一样,它将参数减少了2倍。