メインコンテンツへジャンプ

ファインチューニング (Fine-tuning)

ファインチューニングの理解

特定の目的のために人工知能(AI)や機械学習 (ML)モデルをトレーニングする場合、データサイエンティスト とエンジニアは、ゼロから新しいモデルをトレーニングするよりも、事前にトレーニングされた既存の大規模言語モデル(LLM)を修正する方が簡単でコストがかからないことに気づきました。 基礎となる大規模言語モデルは、膨大なデータセットで訓練された強力で汎用的なAIであり、幅広いトピックやタスクにわたって人間のようなテキストを理解し、生成します。

既存のモデルのディープラーニングを活用することで、特定のユースケースに合わせてモデルを調整するために必要なコンピュート・パワーとオーケストレーション・データの量を減らすことができます。

ファインチューニングとは、事前に訓練されたモデルを、より小さなタスク固有のデータセットに適応させたり、補足したりするプロセスです。ベースとなる基盤モデルの生の言語能力を、さまざまなユースケースに適応させることができるため、LLM の開発サイクルには欠かせないものとなっています。

Databricks についてさらに詳しく

ファインチューニングとカスタム LLM 構築のためのコンパクトガイド

Mosaic AI を使用して、自社の LLM のファインチューニングと事前学習する方法を学ぶ

ガイドをダウンロード

生成 AI のビッグブック

本番運用品質の 生成 AIアプリケーションを構築するためのベストプラクティス。

ブログを読む

生成と一緒にAI

5つの短いチュートリアルで生成AIのスキルを身につけましょう。Databricksサーティフィケートを取得できます。

詳しく見る

ファインチューニングLLMの仕組み

事前訓練された大規模言語モデルは、自然言語を理解し、入力に対して人間のような応答を生成することに優れているように、膨大な量のデータで訓練されています。

ファインチューニング・モデルは、感情分析、質問応答、文書要約などの 特定のタスクを より高い精度で 実行する能力を 向上させます。サードパーティのLLMもありますが、組織独自のデータを使ったファインチューニング・モデルは、ドメインに特化した結果を提供します。

ファインチューニングの重要性とメリット

ファインチューニングは、汎用LLMのインテリジェンスを企業データに接続し、企業が生成AI(GenAI)モデルをより高い特異性と関連性を持つ独自のビジネスニーズに適応させることを可能にします。小規模な企業でも、ニーズと予算に応じてカスタマイズしたモデルを構築することができます。

ファインチューニングは、トレーニングモデルのための高額なインフラにゼロから投資する必要性を大幅に削減します。 ファインチューニングによって事前に学習されたモデルは、特定のユースケースにより効率的に適応されるため、企業は推論の待ち時間を短縮し、市場投入までの時間を短縮することができます。

ファインチューニング技術は、メモリ使用量を削減し、専門的でドメイン固有の知識を持つ基礎モデルのトレーニングプロセスを高速化し、労力とリソースを節約します。

Databricks上の独自のデータで言語モデルを微調整する場合、独自のデータセットは、一般的なモデルトレーニング環境に関連するサードパーティのリスクにさらされることはありません。

ファインチューニングの種類

ファインチューニングは、モデルのアウトプットの精度と関連性を向上させ、広く訓練された基盤モデルよりも専門的なアプリケーションでより効果的になります。 特定のドメインや業界に特化したテキストを理解し、生成するためにモデルを適応させようとします。このモデルは、ターゲットドメインのテキストで構成されたデータセットで微調整され、ドメイン固有のタスクのコンテキストと知識を向上させます。このプロセスは非常にリソース集約的ですが、新しい技術によってファインチューニングの効率は格段に向上しました。 以下は、組織がLLMを微調整する方法の一部です:

  • フルファインチューニング:フルファインチューニングでは、ニューラルネットワークのすべてのレイヤーを最適化またはトレーニングします。 この方法は一般的に最良の結果をもたらしますが、最もリソースを必要とし、時間もかかります。
  • 部分的ファインチューニング:関連するダウンストリームタスクのモデル性能に最も重要な事前学習済みパラメーターの選択されたサブセットのみを更新することで、計算負荷を軽減します。
  • 加法的ファインチューニング:加法的な方法は、モデルに追加のパラメーターやレイヤーを追加し、既存の事前学習された重みを凍結し、それらの新しいコンポーネントのみを学習します。
  • 少数ショット学習:大規模なラベル付きデータセットを収集することが現実的でない場合、数ショット学習は、手元の必要なタスクのいくつかの例(またはショット)を提供することによって、これに対処しようとします。
  • 転移学習:この手法により、モデルは最初に学習したタスクとは異なるタスクを実行できるようになります。主なアイデアは、モデルが大規模で一般的なデータセットから得た知識を活用し、より具体的または関連するタスクに適用することです。

パラメーター-効率的なファインチューニング

パラメータ-効率的ファインチューニング(PEFT)は、計算リソースとストレージの要件を最小限に抑えながら、特定のタスクに大規模な事前学習モデルを適応させるために設計された一連のテクニックです。 このアプローチは、リ ソースが限られているアプリケーションや、複数のファインチューニン グ・タスクが必要なアプリケーションに有効です。 低ランク適応(LoRA)やアダプターベースのファインチューニングなどのPEFT手法は、モデル全体を更新する代わりに、少数の学習可能なパラメーターを導入することで機能します。 PEFTの主要コンポーネントであるアダプター層は、事前学習済みモデルの各層に挿入される軽量で学習可能なモデルです。

これらのアダプターには、シーケンシャル、レシデュアル、パラレルなどの種類があり、元の重みを変更することなくモデルの出力を調整します。 例えば、LoRAは製品記述の生成など、大規模言語モデルタスクの微調整を効率的に行うことができます。 一方、量子化低ランク適応(QLoRA)は、量子化を利用することでメモリと計算負荷を軽減することに重点を置いています。QLoRAは量子化された低ランク行列でメモリを最適化するため、ハードウェアリソースが限られているタスクで非常に効率的です。

ファインチューニングの使い方

ファインチューニングを行うことで、業界特有の用語やタスクに特化したインタラクションなど、より焦点を絞ったデータセットをモデルに与えることができます。これは、モデルがユースケースに対してより適切なレスポンスを生成するのに役立ちます。これは、モデルのコアとなる知識のカスタマイズや補足から、まったく新しいタスクやドメインへのモデルの拡張まで、何でも可能です。

  • タスク固有の適応: 事前に学習された言語モデルがあり、それを特定のタスクに適応させたい場合。例えば、ドメイン固有のデータを使用した、特定のドメインに対するセンチメント分析やテキスト生成などです。 大規模なモデルをゼロからトレーニングする代わりに、事前にトレーニングされたモデルを使用して、新しいタスクのために一般的な言語理解を活用しながら、特定のタスクで微調整することができます。
  • バイアスの軽減:ファインチューニングは、バランスの取れた代表的なトレーニングデータを提供することで、プレトレーニングモードに存在するバイアスを軽減または打ち消すために使用することができます。
  • データセキュリティとコンプライアンス:センシティブなデータを扱う場合、セキュアなインフラストラクチャ上でローカルにモデルを微調整し、モデルが管理された環境から離れることがないようにすることができます。
  • 利用可能なデータが限られている:ファインチューニングは、特定のタ スクのラベル付きデータが限られている場合に特に有効です。 ゼロからモデルをトレーニングする代わりに、事前にトレーニングされたモデルの知識を活用し、より少ないデータセットを使用してタスクに適応させることができます。
  • 継続学習:ファインチューニングは、時間の経過とともに変化するデータや要件にモデルを適応させる必要がある継続学習シナリオに役立ちます。 何もないところから始めることなく、定期的にモデルを更新することができます。

LLMはまた、特定の産業アプリケーションに対応するために微調整することもできます。例えば、医療分野では、独自の医療データをファインチューニングすることで、より正確な診断と治療が可能になります。 同様に、金融のアプリケーションでは、取引データと顧客の行動を分析することによって、不正行為を検出するために微調整されたモデルを教えることができます。

ファインチューニング・プロセス

  1. 環境の設定:ファインチューニングモデルは一般的に反復プロセスです、そのため、ほとんどのオープンソースモデルは複数回トレーニングされます。つまり、トレーニングデータを同じML プラットフォーム上に置くことが、パフォーマンスとコストの両面で重要になります。 ファインチューニング GenAI モデルで企業データを扱うには、独自の情報にアクセスする必要があります。AI 成熟度曲線でビジネスが進むにつれ、実行するモデルの数は増えるばかりで、データへのアクセスに対する要求も高まります。 モデルトレーニング環境は、データリネージ)の動きを追跡できなければなりません、そのため、コンピュート効率のためには、通常、並列アーキテクチャが必要になります。
  2. ベースモデルを選択してください:今日、多くのオープンソースデータセット、モデル、そして様々なタ スクに対応したプロンプトライブラリが存在します:アーキテクチャ、サイズ、トレーニングデータのレイヤー、関連するタスクでのパフォーマンスなど、ターゲットとするタスクの特性に近いモデルを選択します。
  3. データの準備:ファインチューニングに適した形式にデータを変換します。 さらに、教師ありファインチューニングでは、与えられたプロンプトを条件にテキスト生成モデルを訓練します。
  4. モデルの調整 パラメーター:既存のモデルで起動し、企業データで補強または微調整します。 検索拡張世代(RAG )、PEFTまたは標準的なファインチューニングのようなテクニックを使用して、これらのモデルを拡張します。
  5. トレーニングと評価:トレーニング中のモデルの進捗状況を定期的に評価し、その有効性を把握し、必要な修正を実施します。 これは、トレーニング期間中、明確な検証データセットを使用してモデルのパフォーマンスを評価することです。

機械学習とファインチューニング

LLMは翻訳、質問への回答、チャット、コンテンツの要約、コンテンツやコードの生成など、言語に関連するタスクを実行する機械学習モデルです。これは、膨大なデータセットから価値を抽出し、その「学習」をすぐに利用できるようにします。この「転移学習」プロセスでは、事前に訓練されたモデルを使用して、他の下流のモデルで使用するための特徴をコンピュートし、新しいモデルの訓練と調整に必要な時間を大幅に短縮します。 詳しい情報と例については、「転移学習のための特徴づけ」をご覧ください。

課題とベストプラクティス

共通の課題

  • モデルdrift:モデルの性能は時間とともに劣化します。 最適な性能を維持するために、定期的なモニタリングとファインチューニングが必要になる場合があります。
  • モデル間のエクスペリメント:異なるモデルプロバイダの認証情報、料金制限、権限、クエリー構文を管理できます。
  • 企業文脈の欠如:基盤モデルは幅広い知識を持っていますが、社内の知識やドメインに関する専門知識が不足しています。
  • モデルの運用:リクエストとモデルのレスポンスは、品質、デバッグ、安全のために一貫して監視する必要があります。モデル間のインターフェイスが異なるため、それらを管理・統合するのは困難です。
  • オーバーフィット:モデルが特定のデータセットに忠実に訓練されすぎて、未知の新しいデータでうまく機能しなくなると、汎化能力が失われる可能性があります。
  • バイアスの増幅:事前学習されたモデルに内在するバイアスがファインチューニング中に強まると、新しいデータセットのバイアスを強める可能性があります。
  • ハイパーパラメータの複雑さ:適切なフレームワークとツールがなければ、適切なハイパーパラメータ設定を特定するプロセスには時間と計算コストがかかります。

ベストプラクティス

  • 事前学習済みモデルの活用:事前に訓練されたモデルは、膨大なデータからの知識と一般的な言語理解によって起動されるため、データチームはドメイン固有のトレーニングに集中することができます。
  • 起動が小さい:コンピュートリソースが限られている場合、より小さなモデルはより少ない電力とメモリで済みます。 小さなデータ・サブセットから始めて、徐々に完全なデータセットにスケールアップしていくことができます。
  • 高品質のデータセットを使用してください:ノイズや誤差を最小限に抑えるため、データセットがタスクとドメインを代表するものであることを確認してください。
  • データ形式によるエクスペリメント:多様なデータ入力タイプを含めることで、モデルの応答に汎用性を持たせ、より幅広いシナリオに対応できるようになります。
  • ハイパーパラメータの使用:ハイパーパラメータは、学習効率のバランスをとり、オーバーフィッティングを防ぐために調整する必要があります。モデルの精度を向上させるために、ハイパーパラメータの値を変えたエクスペリメント。

微調整をしない場合

モデルの "オーバーフィット "を避けるために、事前学習されたモデルのタスクと類似しすぎているファインチューニングタスクを追加したり、追加したりすることは、元のデータセットから汎化する能力を失う可能性があるため控えましょう。 トレーニングデータセットを拡張することで、モデルの精度を高めることができます。

ファインチューニングの未来

大規模なコンピュート・リソースへの依存を減らし、 デプロイメントを確実にカスタマイズしやすくすることで、 生成の民主化に取り組み続けています。AILLMファインチューニングLLMの規模を拡大するには、自動化されたインテリジェントなツールが必要です。

LoRAのような進歩はプロセスを合理化し、外部ソースにアクセスしてリアルタイムで検証し、モデルの出力をクロスチェックしてパフォーマンスを自己改善できる、よりインテリジェントなツールへの道を開きます。

さらに統合を進めると、キュレーションされた回答に基づいて質問やファインチューニングを作成し、独自のトレーニングデータセットを生成できるLLMが生まれるかもしれません。 これにより、微調整されたLLMを企業のワークフローに統合し、業務を強化することが容易になります。

多くのユースケースにおいて、AI モデルは今日、人間レベルの精度またはそれに近い精度を発揮しています。しかし、LLM の開発における倫理的AI やバイアスに関する懸念は依然として残っています。つまり、プロバイダーは責任ある公正なAI 実践を確保することに専念し続けなければなりません。

LLMを特定のタスク、業界、データセット向けにトレーニングすると、汎化されたモデルの能力が広がります。トレーニング、デプロイ、管理、クエリ、およびモニタリングのための統一されたサービスにより、すべてのモデルを一箇所で管理し、単一のAPI でクエリすることができます。

将来的には、マルチモーダルファインチューニングの進歩が、AI モデルができることの限界を押し広げ、画像、テキスト、音声など複数のデータタイプを統合し、1つのきめ細かいソリューションにすることを可能にしています。 微調整されたAIモデルの精度、効率性、拡張性が高まるにつれて、AIは事業運営に不可欠なものとなり、あらゆる分野での採用が進むと予想されます。

FAQ

1. ファインチューニングを行う主なメリットは?
コスト削減、市場投入の迅速化、特定用途におけるモデルの精度と関連性の向上、データセキュリティの強化などが主なメリットです。

2. パラメータ効率的ファインチューニング(PEFT)とは何か?
PEFTはモデル全体を更新せず、少数のパラメーターのみ調整することで計算資源を節約する手法です。LoRAやQLoRAなどが代表例です。

3. ファインチューニングで生じる主な課題は?
主な課題は過適合、バイアスの増幅、モデル性能の時間的劣化(モデルドリフト)、複雑なハイパーパラメータの管理が挙げられます。

用語集に戻る