中文

亚线性内存:如何使 Performers 变得 SLiM

机器学习 2020-12-22 v1

摘要

Transformer 架构已彻底变革了序列数据的深度学习,成为广泛应用最先进解决方案中无处不在的部件。然而原生 Transformer 以资源昂贵著称,作为输入长度 LL 的函数,其串行时间与内存均需 O(L2)O(L^2)。近期工作提出了多种线性自注意力机制,串行计算仅随 O(L)O(L) 缩放。我们就总体计算复杂度对具有线性自注意力的近期 Transformer 机制 Performers 进行了透彻分析。我们观察到显著的计算灵活性:前向与反向传播可作为 LL 的亚线性内存函数(除输入序列的微小存储外)无近似地执行,代价是在并行设定下时间复杂度更高。在极端情形,Performer 在训练期间仅消耗 O(1)O(1) 内存,仍需要 O(L)O(L) 时间。这一被发现的时间-内存权衡可用于训练,或由于完全反向兼容,用于在低内存设备(例如智能手机或前代 GPU)上微调,从而助力去中心化与民主化的深度学习。

关键词

引用

@article{arxiv.2012.11346,
  title  = {Sub-Linear Memory: How to Make Performers SLiM},
  author = {Valerii Likhosherstov and Krzysztof Choromanski and Jared Davis and Xingyou Song and Adrian Weller},
  journal= {arXiv preprint arXiv:2012.11346},
  year   = {2020}
}