言語AIガイド

QLoRA と 4 ビット微調整

QLoRA は、フリーズしたモデルを重みあたりわずか 4 ビットで保存することで、単一のコンシューマー GPU 上で大規模な言語モデルを微調整できる技術です。

2分の読書最終更新日

概要

It made customizing 65B-parameter models possible on hardware that previously could only handle models a fraction of that size.

ディープダイブ

通常、大規模なモデルを微調整するには、すべての重みを 16 ビット精度でロードし、すべてを更新する必要があるため、膨大なメモリが必要になります。 QLoRA は 2 つのアイデアを組み合わせています。まず、事前トレーニングされたモデルをフリーズして 4 ビットに量子化し、メモリを約 4 倍に削減します。第 2 に、LoRA を使用します。巨大な重み行列を更新する代わりに、小さなトレーニング可能な低ランクのアダプター行列を並行して挿入するため、数百万のパラメーターのみが更新されます。 4 ビットのベースは固定されたままですが、グラデーションは小さなアダプターのみを通過します。 Dettmers 氏らによって 2023 年に導入された QLoRA は、1 つの 48GB GPU で 65B モデルを微調整すると、完全な 16 ビット微調整の品質に匹敵する可能性があることを示しました。

技術的な洞察

QLoRAでは3つのコツを紹介しました。 NF4 (4 ビット NormalFloat) は、ニューラル重みの釣鐘曲線分布用に最適化されたデータ型で、プレーンな int4 よりも高い精度が得られます。二重量子化は量子化定数自体を圧縮し、余分なメモリを節約します。ページ オプティマイザーは、GPU-CPU 統合メモリを使用して、長いシーケンス中のスパイクを吸収し、メモリ不足によるクラッシュを防ぎます。順方向および逆方向のパス中に、4 ビットの重みは行列の乗算のためにジャストインタイムの 16 ビットに逆量子化され、その後破棄されます。

戦略的影響

速度とスケール

言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。

アクセスと到達範囲

言語やコミュニケーション スタイルを超えてアクセスが拡張されます。

より明確な判決

自動化が繰り返しを処理する間、チームは判断により多くの時間を費やすことができます。

QLoRA と 4 ビット微調整の将来

4 ビットの微調整は標準的な手法となっており、現在では 2 ビットおよび 1 ビット (3 値) 表現を含む、さらに低い精度に向けた研究が進められています。 AWQ、GPTQ、HQQ などの新しい量子化スキームは精度をさらに向上させますが、QA-LoRA などの技術はアダプターをマージした後でもモデルの量子化を維持することを目的としています。オープンウェイト モデルが成長するにつれ、愛好家が単一のゲーム GPU で 70B 以上のモデルを微調整できるツールが日常化し、カスタマイズが民主化されることが期待されます。

現実世界の実装

あるスタートアップは、サーバー クラスターをレンタルせずに、単一の 48 GB GPU で 70B Llama モデルを微調整し、独自のブランド ボイスでカスタマー サポート アシスタントを構築しました。

コンシューマー向け RTX 4090 を 1 台使用している研究者は、一晩でオープン モデルをニッチな医療質問応答データセットに適応させます。

開発者は、さまざまなタスク用に数十の小型の交換可能な LoRA アダプターを作成し、すべてがメモリーにロードされた 1 つの 4 ビット基本モデルを共有します。

愛好家は、無料の Colab グレードのハードウェアを使用して、個人のチャット ログにあるモデルを微調整して、特定の書き方を模倣します。

リスクとガードレール

幻覚のような事実が、レポート、サポート フロー、または研究結果に静かに組み込まれる可能性があります。

迅速な対応により、同様のリクエスト間で一貫性のない結果が生じる可能性があります。

アクセス制御が弱いと、機密テキスト データが漏洩する可能性があります。

実装ロードマップ

1

展開する前に、出力形式、トーン、品質基準を定義します。

2

正確さが重要な場合は常に、信頼できる情報源を使って地上対応を行ってください。

3

一か八かの成果物については人間によるレビュー チェックポイントを維持します。

4

失敗パターンを追跡し、プロンプトやワークフローを定期的に再トレーニングします。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the QLoRA and 4-Bit Fine-Tuning quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

除去サンプリングの微調整

よくある質問

What is QLoRA and 4-Bit Fine-Tuning?

QLoRA は、フリーズしたモデルを重みあたりわずか 4 ビットで保存することで、単一のコンシューマー GPU 上で大規模な言語モデルを微調整できる技術です。これにより、以前はそのサイズのほんの一部のモデルしか処理できなかったハードウェア上で 65B パラメータ モデルのカスタマイズが可能になりました。

QLoRA の「4 ビット」部分の背後にある中心となるメモリ節約のアイデアは何ですか?

QLoRA は、凍結された事前トレーニングされた重みを値ごとに 4 ビットで保存し、16 ビットと比較してメモリを約 4 倍削減します。

QLoRA の微調整中に、実際に勾配降下法によってどのパラメータが更新されますか?

基本モデルはフリーズされています。注入された低ランクのアダプター行列のみが勾配更新を受け取りますが、これはパラメーターのほんの一部にすぎません。

QLoRA の文脈における NF4 とは何ですか?

NF4 (NormalFloat 4 ビット) は、プレーンな int4 よりも高い精度を実現するために、ニューラル ネットワークの重みのベルカーブ分布に基づいて設計されたデータ型です。

QLoRA の「ページングオプティマイザー」はどのような問題に対処しますか?

ページ オプティマイザーは、GPU-CPU 統合メモリを使用してメモリのスパイクを吸収し、長い入力のトレーニング中のメモリ不足によるクラッシュを防ぎます。

トレーニング中に 4 ビットの重みがより高い精度に戻されるのはいつですか?

4 ビットの重みは、行列の乗算ごとにオンザフライで 16 ビットの精度に逆量子化され、メモリを節約するために高精度のコピーが破棄されます。