【发布时间】:2018-06-17 04:06:21
【问题描述】:
任何人都在高效的数据并行方面取得了成功,您将相同的模型定义发送到多个 GPU,但将不同的用户数据发送到每个 GPU?
dist-keras 看起来很有希望。但我很想听听有关按照这些思路采取的任何方法的反馈。
我们有用户行为数据:10 万用户、200 个字段(单热向量)、每个用户 30,000 条记录。我们在 Tensorflow 上使用 Keras 构建了一个 RNN,以预测仅为 1 个用户采取的下一个动作(20 多个可能的动作)。在 1 个 GPU 上训练大约需要 30 分钟。 (我的盒子有 8 个 GPU)。现在,我们想为所有 10 万用户构建模型。
我们能够使用多 GPU 方法对单用户数据执行数据并行处理。
但是由于该模型每个用户需要 30 分钟,并且有 10 万个用户,我们希望按用户对数据进行分区,并使用集群以分布式方式为每个用户数据运行相同的模型,并为该用户生成模型输出.
我目前正在使用 Keras 2.1.x 和 TensorFlow 1.4。
【问题讨论】:
-
查看 Uber 的 Horovod 库:eng.uber.com/horovod。
标签: python tensorflow pyspark keras distributed