arXiv reaDer
ディープネットワークのメモリ最適化
Memory Optimization for Deep Networks
ディープラーニングはゆっくりですが着実に行われ、記憶のボトルネックになっています。最上位のGPUでのテンソル計算は過去5年間で32倍に増加しましたが、使用可能なメモリの合計は2.5倍にしか増加しませんでした。これにより、大規模なネットワークをトレーニングするには中間出力を格納するためにより多くのメモリが必要になるため、研究者は大規模なアーキテクチャを探索できなくなります。このホワイトペーパーでは、ディープネットワークのメモリフットプリントと計算オーバーヘッドの両方を最小限に抑える自動フレームワークであるMONeTを紹介します。 MONeTは、チェックポイントのスケジュールとさまざまなオペレーターの実装を共同で最適化します。 MONeTは、自動チェックポイントだけでなく、以前のすべての手動調整操作よりも優れたパフォーマンスを発揮します。 MONeTは、さまざまなPyTorchモデルの全体的なメモリ要件を3分の1に削減し、計算のオーバーヘッドを9〜16%削減します。同じ計算コストで、MONeTは現在の最先端の自動チェックポインティングフレームワークよりも1.2〜1.8倍少ないメモリを必要とします。私たちのコードはhttps://github.com/utsaslab/MONeTで入手できます。
Deep learning is slowly, but steadily, hitting a memory bottleneck. While the tensor computation in top-of-the-line GPUs increased by 32x over the last five years, the total available memory only grew by 2.5x. This prevents researchers from exploring larger architectures, as training large networks requires more memory for storing intermediate outputs. In this paper, we present MONeT, an automatic framework that minimizes both the memory footprint and computational overhead of deep networks. MONeT jointly optimizes the checkpointing schedule and the implementation of various operators. MONeT is able to outperform all prior hand-tuned operations as well as automated checkpointing. MONeT reduces the overall memory requirement by 3x for various PyTorch models, with a 9-16% overhead in computation. For the same computation cost, MONeT requires 1.2-1.8x less memory than current state-of-the-art automated checkpointing frameworks. Our code is available at https://github.com/utsaslab/MONeT.
updated: Sat Apr 03 2021 00:32:47 GMT+0000 (UTC)
published: Tue Oct 27 2020 17:57:34 GMT+0000 (UTC)
参考文献 (このサイトで利用可能なもの) / References (only if available on this site)
被参照文献 (このサイトで利用可能なものを新しい順に) / Citations (only if available on this site, in order of most recent)
Amazon.co.jpアソシエイト