結論
【推論】 推論時の必要GPUメモリ[GB] = パラメータ数[b] × 2 【学習】 学習時の必要GPUメモリ[GB] = 推論時の必要GPUメモリ[GB] × 4 【n bit 量子化】 量子化時必要GPUメモリ[GB] = 通常時必要GPUメモリ[GB] × ( n / 通常時の bit 数) 【LoRA】 学習時の必要GPUメモリ[GB] = 推論時の必要GPUメモリ[GB]
詳細
GPTのような大規模言語モデル(LLM)を動かすのに必要なGPUメモリを調べたのでまとめておきます。
参考にしたのは以下の二つの資料です。
上の二つの資料を総合すると、概算なので正確ではありませんが、以下のようにまとめられます。
【推論】 推論時の必要GPUメモリ[GB] = パラメータ数[b] × 2 【学習】 学習時の必要GPUメモリ[GB] = 推論時の必要GPUメモリ[GB] × 4 【n bit 量子化】 量子化時必要GPUメモリ[GB] = 通常時必要GPUメモリ[GB] × ( n / 通常時の bit 数) 【LoRA】 学習時の必要GPUメモリ[GB] = 推論時の必要GPUメモリ[GB]
「n bit 量子化」
通常は float32 や float16 といった "32 bit" or "16 bit" で計算されている変数を"n bit"の変数として扱って計算する手法です。
「LoRA」
事前学習済みの重みとは別の「ファインチューニング用学習重み」を新しく追加する手法です。