QA-LoRA:GPUで量子化された大規模言語モデルを微調整する

「QA-LoRA:GPUを使用して量子化された大規模言語モデルを微調整する方法」

量子化意識の微調整

Illustration by the author — Made with images from Pixabay (1,2)

最先端の大規模な言語モデル(LLM)は、数十億のパラメータで事前学習されます。事前学習済みのLLMは多くのタスクを実行できますが、微調整することでさらに優れた性能を発揮します。

LoRAにより、微調整のコストを劇的に削減することができます。LoRAは、凍結された元のパラメータの上に、低ランクテンソル(数百万)であるパラメータを追加します。微調整中には、追加されたテンソルのパラメータのみが訓練されます。

LoRAはモデルの読み込みにメモリを必要とします。メモリのコストを削減し、微調整を高速化するために、新しいアプローチである量子化意識のLoRA(QA-LoRA)微調整が提案されています。

本記事では、QA-LoRAの説明と、以前の研究(特にQLoRA)とのパフォーマンス比較を行います。また、QA-LoRAを使用して独自の量子化意識のLoRAをLlama 2のために微調整する方法も紹介します。

QLoRAの問題点

QLoRAでは、既に量子化されたLLMの上にLoRAを微調整することができます。私の以前の記事では、デスクトップコンピュータや無料のGoogle Colabインスタンスを使用して、LLM(たとえばLlama 2やGPT-NeoX)を何度も微調整するためにQLoRAを使用しました。

QLoRaとTRLを使用してコンピュータでLlama 2を微調整

Guanacoと適切なパディング上で

kaitchup.substack.com

QA-LoRAに入る前に、QLoRAの現在の制約について理解することは興味深いです。

NormalFloat4(NF4)の量子化

LLMの量子化アルゴリズムは通常、INT4データ型を使用してパラメータを4ビットの精度で量子化します。最近のGPUでは、このデータ型を使用した計算がますます最適化されています。

QLoRAでは、デフォルトではINT4ではなくNormalFloat4(NF4)という別のデータ型が使用されます。NF4は、圧縮された浮動小数点数と考えることができます。QLoRAの著者によれば、NF4はINT4よりも優れています。NF4で量子化されたLLMは、より低いパープレキシティを達成します。

ただし、NF4の計算は高速な推論には最適化されていません。これはその1つの理由です…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more