nogawanogawa / paper_memo

4 stars 0 forks source link

A Survey on Efficient Training of Transformers #96

Closed nogawanogawa closed 11 months ago

nogawanogawa commented 11 months ago

論文URL

https://arxiv.org/abs/2302.01107

著者

Bohan Zhuang, Jing Liu, Zizheng Pan, Haoyu He, Yuetian Weng, Chunhua Shen

会議

IJCAI 2023 survey track

背景

最近のTransformerは大きな計算リソースが要求される。

計算量の観点では、モデルの大規模化によって消費電力等が増大している。 またモデルサイズの大規模化に伴い、要求するメモリサイズも指数関数的に増大する。

計算量とメモリリソースを効率的に使用することにより、Transformerの学習を低コスト・高精度で行う事ができるはずである。

目的

Transformerの学習における計算量・メモリリソースの効率化

アプローチ

調査概要

image

学習効率は大きく3つのカテゴリに分解でき、それぞれについて調査している。

ひとことメモ

nogawanogawa commented 11 months ago

背景

最近のTransformerは計算リソースを要求する。

計算量の観点では、モデルの大規模化によって消費電力等が増大している。 またモデルサイズの大規模化に伴い、要求するメモリサイズも指数関数的に増大する。

計算量とメモリリソースを効率的に使用することにより、Transformerの学習を低コスト・高精度で行う事ができるはずである。

nogawanogawa commented 11 months ago

目的

Transformerの学習における計算量・メモリリソースの効率化

アプローチ

nogawanogawa commented 11 months ago

調査概要

image

学習効率は大きく3つのカテゴリに分解できる

nogawanogawa commented 11 months ago

学習効率化

Optimization

Optimizer

現状、Adam/AdamWが広く使用されている。

Initialization

あんま良くわからんかった

Sparse training

(全くわからん)

Overparameterization

(全くわからん)

Large batch training

基本的にバッチサイズを大きくすると計算は高速化する。 ただ大きなバッチ学習は確率的勾配推定値の分散を減少させるので、ちょうどいいサイズが望ましいらしい。

みたいな手法があるらしい。

Incremental learning

元の困難な最適化問題を、最適化しやすいサブ問題のつなぎ合わせに変換することで学習を効率化する

Data Selection

Token masking

Importance sampling

分散削減の恩恵を受けながら、有益な学習例を優先する 勾配ノルム(gradient norm)の使用が主流。

nogawanogawa commented 11 months ago

メモリ効率化

Parallelism

Data並列とModel並列の手段があるらしい

Quantized training

標準的なNNではFP32を使用しているが、FP16やFP8を使用することで効率化する

Rematerialization and offloading

Parameter-efficient tuning

nogawanogawa commented 11 months ago

ハードウェア・アルゴリズム協調設計

Sparse matrix multiplication

Transformerの計算オーバーヘッドを削減するために、疎行列と密行列を乗算するスパース一般行列乗算(SpGEMM)が使用されるケースがある。(不規則な計算になるため、GPUとは相性が悪いのでFPGAやASICと組み合わせる)

Hardware-aware low-precision

計算の精度を下げることでメモリ量と計算量を削減できる

Efficient attention

軽量なアテンションを使用する研究も進んでいる