【问题标题】:Speeding up small minibatches on a GPU在 GPU 上加速小型 minibatch
【发布时间】:2023-04-11 00:43:01
【问题描述】:

是否可以使用较小的 minibatch 大小并仍然充分利用大型 GPU?我的 GPU 可以非常快速地处理大量 minibatch 大小(5000+),但精度较低。我读过有人将较小的 minibatch 大小并行发送到多个 GPU,但我想知道是否可以将几个较小的 minibatch 大小并行发送到同一个 GPU。

因此,例如并行训练 16 个 64 个小批量,而不是一次训练一个 1024 个小批量。或者,同时使用小批量训练 16 个不同的模型并聚合结果。

【问题讨论】:

    标签: python tensorflow machine-learning neural-network


    【解决方案1】:

    如果您只是使用像 tensorflow 这样的标准库,那么这不应该是您需要考虑的问题类型,它会尝试在后端尽可能多地利用您的 GPU,如果您在训练期间获得较低的准确度,请尝试在寻找其他方式之前,先从代码和数据中找到问题。

    FWIW,您可以尝试按照tensorflow optimize performance on 1 GPU 的指南进一步优化您的 GPU 性能

    【讨论】:

    • 这不是一个真正的答案,您只是在猜测,并没有意识到大批量的问题。
    • 也许吧,希望你能找到你需要的东西,祝你有美好的一天:)
    • 史努比博士是正确的,我试图避免大批量,因为它们会收敛到局部最优值。我想我有一个有效且重要的问题,为什么它被否决了。
    • @MichaelMalin 可能这个问题太具体了,之前遇到的人不多,也许你可以直接问史努比博士。
    猜你喜欢
    • 1970-01-01
    • 2019-04-13
    • 2013-07-03
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2014-09-24
    • 1970-01-01
    相关资源
    最近更新 更多