PEFT (高パラメータ効率ファインチューニング) とは
大規模言語モデル (LLM) の運用には、コンピュートリソースと資金が必要です。PEFT (Parameter-Efficient Fine Tuning、高パラメータ効率ファインチューニング) は、LLM 内のパラメータの一部のみを調整してリソースを節約する一連の技法です。
PEFT は、従来のファインチューニング・モデルと同等のアウトプットを生み出しつつ、LLM のカスタマイズのハードルを引き下げます。
従来のファインチューニングと PEFT
ファインチューニングと PEFT はどちらも、LLM アライメントの技法です。求める出力が生成されるように、必要なデータを使って LLM に調整や情報の供給を施します。PEFT は言わば、従来のファインチューニングの進化形です。
従来のファインチューニングは、モデル全体をさらにトレーニングすることで LLM を調整します。そのためには、多大なコンピュートリソース、データ、そして時間が必要です。
これに比べて、PEFT はモデル内のパラメータのごく一部を変更するだけなので、一般に、大規模なリソースを持たない組織にとっても利用しやすい技法です。
Red Hat AI
PEFT のメリット
PEFT には、より小規模なハードウェアで、大規模なモデルをより迅速にトレーニングできるというメリットがあります。
具体的には、次のようなものがあります。
- トレーニング速度の向上:PEFT では、更新するパラメータが少なければ、より短期間で実験やイテレーションを実施できます。
- リソース効率が高い:PEFT は、従来のファインチューニングと比べて GPU メモリの使用量がはるかに少ないため、コンシューマーグレードのハードウェアで実行できます。つまり、専用サーバーを用意しなくても、ノートパソコンで LLM のトレーニングができるということです。
- 破局的忘却を克服できる:破局的忘却とは、モデルが新しいトレーニングデータを与えられた際に、すでに学習した知識を忘れてしまう現象です。PEFT ではモデル全体ではなく一部のパラメータのみを更新するため、モデルの破局的忘却を防げます。
- 可搬性がある:PEFT でチューニングされたモデルは、より規模が小さく、管理しやすく、さまざまなプラットフォームにデプロイしやすいため、運用環境におけるモデルの更新や改善が容易です。
- 持続可能:PEFT は使用するコンピュートリソースが少ないため、環境に配慮した運用目標との足並みがそろいます。
- 利用しやすい:チームや組織のコンピュートリソースが少なくても、モデルをファインチューニングして目指す成果を実現できます。
PEFT の仕組み
LLM は複数のニューラルネットワーク層から構成されています。こうした層は、入力層から始まって出力層で終わるフローチャートの一種と考えてください。これら 2 つの層の間にニューラルネットワークを流れるデータを処理するさまざまな層があり、それぞれが独自の役割を担っています。
言語モデルによる情報処理の方法を調整するには、パラメータを変更します。
LLM のパラメータとは
パラメータ (「重み」と呼ばれることもあります) は、LLM がどのように言語を理解するかを決めるものです。
パラメータは機械で言えば、調整するための歯車のようなものです。各パラメータには特定の数値が割り当てられていて、その数値を変えることでモデルの言語の解釈能力や生成能力が変化します。
1 つの LLM に数十億 (場合によっては数千億) ものパラメータが含まれることもあります。パラメータ数が多いほど、モデルが実行できるタスクの複雑度も上がります。
しかし、モデルのパラメータ数が増えると、必要なハードウェアリソースも増えます。必要なハードウェアに投資する資金がある組織ばかりではありません。だからこそ、PEFT をはじめとするチューニング技法が重要となるのです。
モデルの効率を高めるため、精度を維持しつつ不要なパラメータを除外する方法を学びましょう。
パラメータの効率的なファインチューニング
PEFT では、あらかじめトレーニングされたモデルの構造の大部分は維持しつつ、戦略的に少数のパラメータのみを変更します。このような調整方法の例は、次のとおりです。
モデル層の凍結:推論中は、ニューラルネットワークのすべての層を経由して計算が行われます。これらの層の一部を凍結することで、計算に必要な処理能力をある程度抑えられます。
アダプターの追加:アダプターは、ボードゲームで言う拡張パックのようなものです。アダプターはあらかじめトレーニングされたモデル内の層に追加され、トレーニングを通じてドメインまたはアプリケーション固有の情報を学習します。このシナリオでは、元のモデルが変更されるのではなく、新しい機能が追加されます。
PEFT を実行する方法は次のように複数あります。
- LoRA (Low-Rank Adaptation)
- QLoRA (Quantized Low-Rank Adaptation)
- プレフィックスチューニング
- プロンプトチューニング
- P チューニング
ファインチューニングとは
ファインチューニングは、LLM が目標に合わせて出力を調整できるようにするために、そのモデルに意図を伝える方法です。
たとえば、ある LLM はシェイクスピアのような文体でメールを作成することはできる一方で、会社が提供する製品の詳細については何も知らないとします。
このような場合に、独自の情報を使ったモデルのトレーニングに使用できるのがファインチューニングです。
ファインチューニングは、あらかじめトレーニングされたモデルを、目的に合わせてカスタマイズしたデータセットを使用してさらにトレーニングし、独自のタスクを効果的に実行できるようにするプロセスです。この追加のトレーニングデータによりモデルのパラメータが変更され、元のモデルに代わる新しいバージョンが作成されます。
ドメイン固有のユースケースに合わせて LLM を個別化するには、ファインチューニングが欠かせません。ところが、従来のファインチューニングには多くのコストがかかります。
ファインチューニングのコストが高い理由
LLM のファインチューニングのコスト要因には、次のようなものがあります。
- GPU 要件:ファインチューニングには多大な処理能力が求められます。グラフィックス・プロセッシング・ユニット (GPU) は購入コストも運用コストも高く、ファインチューニング・プロセスにおいては、GPU を長時間稼働させる必要があります。そのため、電力や冷却にかかる費用も高額になる可能性があります。
- データ要件:LLM を新たな情報でファインチューニングするためのデータセットは、高品質で適切にラベル付けされたものでなければなりません。こうしたデータの取得、構築、事前処理には費用も時間もかかります。
組織に合った LLM アライメント技法の選び方
LLM アライメントとは、言語モデルをトレーニングし、個別化して、求める出力を生成するプロセスを指します。
さまざまな LLM アライメント技法から組織に合ったものを選択する際には、以下の要素を検討します。
- データ依存度:どのくらいのデータが必要ですか?この技法が適切に作用するために必要なデータにアクセスできますか?
- 正確さ:この技法はチューニング後のモデルの正確さにどの程度影響しますか?
- ユーザーが感じる複雑さ:使いやすさはどの程度ですか?
従来のファインチューニングと比較すると、PEFT は必要なデータ量が少なく、きわめて正答率が高く、ユーザーにとっても使いやすくなっています。
その他にも検討すべき LLM アラインメントのオプションとして、以下が挙げられます。
- 検索拡張生成 (RAG):RAG により、LLM 内に存在するデータを任意の外部知識ソース (データリポジトリ、テキストのコレクション、既存のドキュメントなど) で補完できます。
- RAG はデータ依存度は高いものの、正答率が高く、ファインチューニングよりも使い方が簡単です。RAG とファインチューニングについて読む
- InstructLab:IBM と Red Hat の協力によって生まれた InstructLab コミュニティ・プロジェクトでは、組織内の誰もが知識やスキルを共有でき、それらすべてを組み込んだ言語モデルが構築されます。
- InstructLab では、合成データを使って人間が作成したデータを補うため、データへの依存度は低くなります。正確さはファインチューニングと同等であり、使い方はきわめて簡単です。
Red Hat のサポート内容
PEFT は、Red Hat® OpenShift® AI でサポートされているアラインメント技法の 1 つです。
OpenShift AI は、AI 対応アプリケーションを構築、デプロイ、管理するためのツールを備えた柔軟でスケーラブルな MLOps プラットフォームです。OpenShift AI は、オンプレミスとパブリッククラウドの両方で、AI/ML の実験およびモデルのライフサイクル全体をサポートします。
Red Hat® AI は、AI 導入の初期段階にある企業から、ハイブリッドクラウド全体に AI を拡張する準備ができている企業まで、AI 導入のあらゆる段階で役立つ製品およびサービスのポートフォリオです。企業独自のユースケースに応じて、生成 AI および予測 AI のいずれの取り組みもサポート可能です。
Red Hat AI は、さまざまなインフラストラクチャにわたるパフォーマンス、安定性、GPU サポートに重点を置いた、オープンソース・テクノロジーおよびパートナー・エコシステムに支えられています。また目的に特化した小規模なモデルを効率的にチューニングでき、データが存在する場所のどこにでも展開できる柔軟性を備えています。