QLoRAとは
QLoRA(Quantized Low-Rank Adaptation)とは、LoRAの手法に量子化(Quantization)を組み合わせることで、さらにメモリ効率を高めたファインチューニング手法です。2023年にワシントン大学の研究者によって発表され、一般的な消費者向けGPU(48GB VRAM)でも65Bパラメータのモデルをファインチューニングできることを示しました。
| ひとことで言うと | モデルを4ビットに圧縮してからLoRA調整する、さらに省メモリな手法。 |
|---|---|
| どこで使う | 個人のGPU1枚で、大規模モデルを追加学習したいとき。 |
| 注意点 | 量子化による精度低下が出る場合がある。推論速度が必ず上がるわけではない。 |
QLoRAの技術的特徴
QLoRAは3つの技術革新により高いメモリ効率を実現しています。第一に、4ビットNormalFloat(NF4)量子化により、モデルの重みを4ビットに圧縮して保持します。第二に、二重量子化(Double Quantization)により量子化パラメータ自体もさらに量子化します。第三に、ページドオプティマイザにより、メモリ不足時にGPUメモリからCPUメモリへの自動転送を行います。
14ビットに量子化重みを圧縮して軽くする
▶
2重みを凍結圧縮したまま固定
▶
3LoRA層を学習小さな追加部分だけ
▶
4メモリが激減数十GB→十数GBに
▶
5差分を保存軽いファイルで運用
QLoRAの実用的意義
QLoRAの最大の貢献は、大規模モデルのファインチューニングを民主化したことです。従来は数百GBのGPUメモリを持つ高価なハードウェアが必要でしたが、QLoRAにより比較的手頃なGPUでも大規模モデルのカスタマイズが可能になりました。Guanaco等の高性能モデルがQLoRAで学習されており、フルファインチューニングに匹敵する性能を達成しています。bitsandbytesライブラリとHugging Face Transformersの統合により、実装も容易です。