0. 前言

  • 相关资料:
  • 论文基本信息
    • 领域:视频理解 训练加速
    • 作者单位:FAIR&得克萨斯大学奥斯汀分校
    • 发表时间:2019.12
  • 这工作对我们这种算力不够的人非常有帮助,也开源了,为啥没啥人讨论呢。
    • 可能做视频算法的,除了我们,都是有钱人吧……
    • 人生第一次训练Kinetics-400,就是现在了吗……

1. 要解决什么问题

  • 现在的视频相关模型训练时间太久。
    • 128卡在Kinetics-400上训练Slowfast也要一天多……
    • high resolution models(指的应该是3D CNN模型,如I3D、SlowFast) 性能好,但训练时间长。
    • low resolution models(指的应该是2D CNN模型,如TSN、TSM)训练时间较短,但性能差。

2. 用了什么方法

  • 提出了一个multigrid的训练模型的方法。
    • 该方法的目标是加快训练速度,且不损失太多精度。
    • 一个结论:在训练过程中,输入数据的shape不用一定是固定的。
    • 总体思路:
      • coarse-to-fine,即从粗糙到精细。
      • 主要需要平衡“预处理每个mini-batch数据的计算量”与“不同输入数据尺寸导致的模型计算量”。
  • 方法基本流程
    • 简单说,就是在训练过程中不断变换输入数据的尺寸。
    • 假设输入数据为(batch_size, t, h ,w ,c)
    • 训练过程中,batch_size, t, h ,w 都会不停的变换。
      • 刚刚提到,总体思路是从粗糙到精细。所谓粗糙就指的是h, w较小,精细指的是h, w较大。
    • 另外,随着在改变整体shape的时候,一般要求总计算量(FLOPs)不会变化太大。
  • 一些基本概念:
    • sampling grids: 按我的理解就是,当batch_size, t, h, w这些数值固定后,就是一个sampling grid。
      • 一个sampling grid就代表一次对video的重采样(resample)。
      • 对于上面没一个维度,都有两个量化数值,span/stride,前者表示所有可取的值,后者表示采样间隔。
      • 相同的input size可能会是不用的 sampling grid。
    • grid scheduling:
      • 感觉意思差不多就是training schedule,在训练过程中变化 batch_size, t, h, w 这些维度。
  • 具体实现方式:
    • multigrid training的一个重要部分就是如何选择 sampling grids
      • 本质就是怎么在训练过程中变换 batch_size, t, h, w 这几个维度。
    • 文中提出了 short cycles, long cycles, long+short cycles,如下图所示。
    • 论文浏览(11) A Multigrid Method for Efficiently Training Video Models

3. 效果如何

  • 在Kinetics-400上,用128GPU,训练backbone为ResNet50的SlowFast模型。
    • 横坐标所谓的wall-clock time猜测就是总训练时间(刚开始看,baseline训练20小时完事了,震惊了,结果仔细一看,128GPU……)。
    • 图中所谓的 1x 这些指的是 epochs 的数量,1x就是指与baseline相同。
    • 对于1x的epochs,baseline/short cycle/long cycle/short-long cycle的训练时间分别是20/8/5/5小时……
    • 论文浏览(11) A Multigrid Method for Efficiently Training Video Models
  • 在Kinetics-400上,用1GPU训练I3D模型。
    • 训练时间从6.7天减少到2天……
    • 论文浏览(11) A Multigrid Method for Efficiently Training Video Models
  • 在Something-Something-V2/Charades上也尝试使用multigrid训练,效果都可以
    • 从而证明这种方法对各类数据集都有效。
      论文浏览(11) A Multigrid Method for Efficiently Training Video Models

4. 还存在什么问题

  • 感觉是比较工程化的项目(我喜欢),也没有太多“为什么”,做了这么多试验就是有效。

  • 等有机会,要在ava上也试试。

相关文章:

  • 2021-08-14
  • 2022-01-26
  • 2021-06-25
  • 2021-06-23
  • 2021-08-27
  • 2021-04-19
  • 2021-10-11
  • 2021-05-20
猜你喜欢
  • 2021-08-29
  • 2021-09-10
  • 2021-08-03
  • 2021-07-15
  • 2021-07-02
  • 2021-08-01
  • 2021-10-24
相关资源
相似解决方案