
我々は、650億パラメータのモデルを単一の48GB GPU上で微調整(fine-tuning)可能にするほどメモリ使用量を大幅に削減しつつ、16ビットの完全精度微調整と同等の性能を維持する効率的な微調整手法「QLoRA」を提案する。QLoRAは、固定された4ビット量子化された事前学習済み言語モデルを介して勾配を逆伝播させ、低ランクアダプタ(Low Rank Adapters, LoRA)に伝える仕組みである。我々が開発した最良のモデル族である「Guanaco」は、Vicunaベンチマークにおいて、これまで公開されたすべてのモデルを上回り、ChatGPTの性能の99.3%を達成した。これには、単一GPU上で24時間の微調整で十分である。QLoRAは、性能を損なうことなくメモリを削減するための複数の革新を導入している。(a)正規分布に従う重みに対して情報理論的に最適な新しいデータ型「4ビットNormalFloat(NF4)」、(b)量子化定数自体を再度量子化する「二重量子化(double quantization)」により平均メモリ使用量を削減、(c)メモリの急激な増加を管理する「ページ化最適化(paged optimizers)」である。本手法を用いて、1,000以上ものモデルの微調整を実施し、8つの指示データセット、複数のモデルタイプ(LLaMA、T5)およびモデルスケール(330億および650億パラメータモデルなど)におけるインストラクション対応能力およびチャットボット性能について詳細な分析を行った。これらのモデルは従来の微調整では実行が困難であった。結果として、小規模だが高品質なデータセットを用いたQLoRA微調整により、従来の最先端(SoTA)モデルよりも小さいモデルでも最先端の性能が達成されることを示した。人間評価およびGPT-4による評価を統合したチャットボット性能分析から、GPT-4評価は人間評価の安価かつ妥当な代替手段であることが明らかになった。さらに、現行のチャットボットベンチマークがチャットボットの性能を正確に評価するには信頼性が低いことが判明した。「レモンピッキング(lemon-picked)」分析により、GuanacoがChatGPTと比較して失敗する具体的なケースを明らかにした。本研究では、すべてのモデルおよびコード(4ビット学習用CUDAカーネルを含む)を公開する。