LLM の LoRA と QLoRA の推奨事項

このページでは、Low-Rank Adaptation of Large Language Models(LoRA)やそれよりもメモリ効率の高い QLoRA を使用して、Vertex AI で大規模言語モデル(LLM)をチューニングする際の構成上の推奨事項について説明します。

チューニングに関する推奨事項

次の表は、LoRA または QLoRA を使用して LLM をチューニングする際の推奨事項をまとめたものです。

仕様 推奨事項 詳細
GPU メモリの効率 QLoRA QLoRA では、LoRA と比較して GPU メモリのピーク使用量が約 75% 少なくなります。
スピード LoRA LoRA は QLoRA よりもチューニング速度が約 66% 高速です。
費用対効果 LoRA どちらの方法も費用は比較的低額ですが、LoRA は QLoRA よりも最大で 40% 費用が少なくなります。
最大シーケンス長 QLoRA 最大シーケンス長を長くすると GPU メモリの消費量が増加します。QLoRA では使用する GPU メモリが少ないため、最大シーケンス長を長くすることができます。
精度の向上 同じ どちらの方法でも精度は同程度に向上します。
バッチサイズの大きさ QLoRA QLoRA では、はるかに大きなバッチサイズがサポートされています。たとえば、次の GPU で openLLaMA-7B をチューニングする際のバッチサイズの推奨事項は次のとおりです。
  • 1 x A100 40G:
    • LoRA: 推奨のバッチサイズは 2 です。
    • QLoRA: 推奨のバッチサイズは 24 です。
  • 1 x L4:
    • LoRA: バッチサイズ 1 はメモリ不足エラー(OOM)で失敗します。
    • QLoRA: 推奨のバッチサイズは 12 です。
  • 1 x V100:
    • LoRA: バッチサイズ 1 はメモリ不足エラー(OOM)で失敗します。
    • QLoRA: 推奨のバッチサイズは 8 です。