要約
大規模モデルのトレーニングは、膨大な計算コストと限られたハードウェア・メモリに悩まされる。実用的な解決策は低精度表現であるが、数値精度の低下と不安定な学習によりモデルの有用性が低下するという問題がある。我々は、低精度浮動小数点が、学習プロセスにおける重要な位置で適切に誤差を補正することができれば、うまく機能することを主張する。我々は、数値誤差を考慮した演算を正確に実行するために、低精度での多成分浮動小数点表現を利用するCollageを提案する。訓練に対する不正確さの影響を理解するために、訓練中に失われた情報を追跡し、様々な精度戦略を区別する、シンプルで新しい指標を提案する。本手法は、半精度($16$ビット浮動小数点)のような一般的に使用される低精度で動作し、$8$ビットのようなさらに低精度で動作するように自然に拡張することができる。実験結果によると、Collageを用いた事前学習は、$32$ビット浮動小数点モデルのコピーの要求を除去し、$(16, 32)$ビット混合精度戦略と比較して、同程度かそれ以上の学習性能を達成し、最大$3.7times$高速化し、$sim 15%~$23%$ メモリ使用量を削減する。
要約(オリジナル)
Large models training is plagued by the intense compute cost and limited hardware memory. A practical solution is low-precision representation but is troubled by loss in numerical accuracy and unstable training rendering the model less useful. We argue that low-precision floating points can perform well provided the error is properly compensated at the critical locations in the training process. We propose Collage which utilizes multi-component float representation in low-precision to accurately perform operations with numerical errors accounted. To understand the impact of imprecision to training, we propose a simple and novel metric which tracks the lost information during training as well as differentiates various precision strategies. Our method works with commonly used low-precision such as half-precision ($16$-bit floating points) and can be naturally extended to work with even lower precision such as $8$-bit. Experimental results show that pre-training using Collage removes the requirement of using $32$-bit floating-point copies of the model and attains similar/better training performance compared to $(16, 32)$-bit mixed-precision strategy, with up to $3.7\times$ speedup and $\sim 15\%$ to $23\%$ less memory usage in practice.
arxiv情報
著者 | Tao Yu,Gaurav Gupta,Karthick Gopalswamy,Amith Mamidala,Hao Zhou,Jeffrey Huynh,Youngsuk Park,Ron Diamant,Anoop Deoras,Luke Huan |
発行日 | 2024-05-06 16:55:30+00:00 |
arxivサイト | arxiv_id(pdf) |