高パラメーター効率ファインチューニング (PEFT) とは
大規模言語モデル (LLM) の運用には、コンピュートリソースと資金が必要です。高パラメーター効率ファインチューニング (PEFT) とは、LLM 内のパラメーターの一部のみを調整してリソースを節約する一連の技法です。
PEFT は、従来のファインチューニングが施されたモデルと同等の出力を生み出しつつ、LLM のカスタマイズのハードルを引き下げます。
従来のファインチューニングと PEFT
ファインチューニングと PEFT はどちらも、LLM アライメントの技法です。求める出力が生成されるように、必要なデータを使って LLM に調整や情報の供給を施します。PEFT は言わば、従来のファインチューニングの進化形です。
従来のファインチューニングは、モデル全体をさらにトレーニングすることで LLM を調整します。そのためには、多大なコンピュートリソース、データ、そして時間が必要です。
それに対して PEFT はモデル内のパラメーターのごく一部を変更するだけなので、豊富なリソースを持たない組織にとって利用しやすい技法となります。
Red Hat AI
PEFT のメリットとは
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 は必要なデータ量が少なく、きわめて正答率が高く、ユーザーにとっても使いやすくなっています。
検討すべきもう 1 つの LLM アライメントのオプションは、検索拡張生成 (RAG) です。RAG により、LLM 内に存在するデータを任意の外部知識ソース (データリポジトリ、テキストのコレクション、既存のドキュメントなど) で補完することができます。RAG はデータ依存度が高いものの、正答率が高く、ファインチューニングよりも使い方が簡単です。
Red Hat でできること
高パラメーター効率ファインチューニングは、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 サポートに重点を置いた、オープンソース・テクノロジーおよびパートナーエコシステムに支えられています。また目的に特化した小規模なモデルを効率的にチューニングでき、データが存在する場所のどこにでも展開できる柔軟性を備えています。
エンタープライズ AI を始める:初心者向けガイド
この初心者向けガイドでは、Red Hat OpenShift AI と Red Hat Enterprise Linux AI によって AI 導入をどのように加速できるのかについて説明します。