gpt4 book ai didi

tensorflow - 如何在 TF 2.0/1.14.0-eager 和自定义训练循环(梯度磁带)中执行分布式训练的梯度累积?

转载 作者:行者123 更新时间:2023-12-03 14:29:57 26 4
gpt4 key购买 nike

背景:
我有一个模型,我正在尝试将它移植到 TF 2.0获得一些甜蜜的急切执行,但我似乎无法弄清楚如何进行分布式训练(4 个 GPU)并同时执行梯度累积。
问题:

  • 我需要能够使用带有梯度磁带的自定义训练循环,因为我有一个复杂的多模型问题(几个输入模型和输出模型一起训练),我不需要二阶梯度
  • 使用我的模型的大小(中等大小,类似于中型变压器),我无法使用 4 个 GPU 获得大于 ~32 的批量大小,这是我可以获得的最大实例,遗憾的是,这些确实是旧的 11GB K80 是因为 Azure 似乎认为 Google 甚至不再免费赠送的 GPU 已经足够好了......
  • 我有一个需要非常大批量的数据集,因为我必须考虑到非常大的不平衡(我也在使用权重和焦距损失 ofc),因此我需要执行 4-8 步梯度累积来平滑梯度。

  • 我已经阅读了分布式训练循环指南并设法实现了它:
    https://www.tensorflow.org/beta/tutorials/distribute/training_loops
    我还在 TF 2.0 中为自定义训练循环和 tf.keras 实现了梯度累积:
    https://colab.research.google.com/drive/1yaeRMAwhGkm1voaPp7EtFpSLF33EKhTc

    最佳答案

    阅读 https://www.tensorflow.org/tutorials/distribute/custom_training如果您还有任何问题,请更新您的问题。

    关于tensorflow - 如何在 TF 2.0/1.14.0-eager 和自定义训练循环(梯度磁带)中执行分布式训练的梯度累积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56793932/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com