基盤モデルの微調整
重要
この機能は、次のリージョンでパブリック プレビュー段階です: centralus
、eastus
、eastus2
、northcentralus
、westus
Foundation Model Fine-tuning (現在はモザイク AI モデル トレーニングの一部) を使用すると、独自のデータを使用して基礎モデルをカスタマイズし、特定のアプリケーションのパフォーマンスを最適化できます。 基盤モデルの完全なパラメーターの微調整を実施またはトレーニングを継続すると、モデルをゼロからトレーニングするよりもはるかに少ないデータ、時間、コンピューティング リソースを使用して、独自のモデルをトレーニングできます。
Databricks を使用すると、トレーニングに使用する独自のデータ、トレーニングする基盤モデル、MLflow に保存されたチェックポイント、Unity Catalog に登録され、デプロイする準備ができているモデルなど、すべてを 1 つのプラットフォームで利用できます。
「 Tutorial: Foundation Model Fine-tuning run の作成とデプロイ」を参照して Foundation Model Fine-tuning API を使用して実行を作成し、Databricks UI と Mosaic AI Model Serving を使用して結果を確認してモデルをデプロイする方法について説明します。
Foundation Model Fine-tuning とは
Foundation Model Fine-tuning を使用すると、Databricks API または UI を使用して、基礎モデルを調整またはトレーニングできます。
Foundation Model の微調整を使用すると、次のことができます。
- MLflow に保存されたチェックポイントを使用して、カスタム データを使用してモデルをトレーニングできます。 トレーニング済みモデルを完全に制御できます。
- モデルを Unity Catalog に自動的に登録し、モデル サービスを使用して簡単にデプロイできるようにします。
- 以前にトレーニングしたモデルの重みを読み込んで、完成した独自のモデルをさらにトレーニングできます。
Databricks では、次の場合に Foundation Model の微調整を試してみることをお勧めします。
- 少数ショット学習を試したが、より良い結果を得たいと考えている。
- 既存のモデルに対してプロンプト エンジニアリングを試みたが、より良い結果を得たいと考えている。
- データのプライバシーのために、カスタム モデルに対する完全な所有権を必要としている。
- 待ち時間やコストに敏感で、タスク固有のデータを使用してより小さく安価なモデルを使用したいと考えている。
サポートされているタスク
Foundation Model Fine-tuning では、次のユース ケースがサポートされています。
- チャット補完: 推奨されるタスク。 ユーザーと AI アシスタントの間のチャット ログでモデルをトレーニングします。 この形式は、実際のチャット ログだけでなく、質問応答や会話テキストの標準形式としても使用できます。 テキストは、特定のモデルに適した形式に自動的に書式設定されます。 テンプレートの詳細については、HuggingFace ドキュメントのチャット テンプレートの例に関するページを参照してください。
- 命令の微調整: 構造化されたプロンプト応答データでモデルをトレーニングします。 これを使用して、モデルを新しいタスクに適応させたり、応答スタイルを変更したり、命令に従う機能を追加したりできます。 このタスクではデータに自動的に書式設定が適用されないため、カスタム データ書式設定が必要な場合にのみ推奨されます。
- 継続的な事前トレーニング: 追加のテキスト データを使用してモデルをトレーニングします。 これを使用して、新しい知識をモデルに追加したり、モデルを特定の領域に集中させたりできます。
要件
- 次の Azure リージョンのいずれかにある Databricks ワークスペース:
centralus
、eastus
、eastus2
、northcentralus
、westus
。 pip install databricks_genai
を使用してインストールされた Foundation Model の微調整 API。- データが Delta テーブル内にある場合は、Databricks Runtime 12.2 LTS ML 以降。
必要な入力データ形式については、「Foundation Model Fine-tuning のPrepare データ」を参照してください。
モデル トレーニングに推奨されるデータ サイズ
Databricks では、最初に 1 から 4 つのエポックを使用してトレーニングすることをお勧めします。 微調整されたモデルを評価した後、モデルの出力をトレーニング データとより類似させる場合は、さらに 1 または 2 つのエポックを使用してトレーニングを続けることができます。
微調整データに表されていないタスクでモデルのパフォーマンスが大幅に低下する場合、またはモデルが微調整データの正確なコピーを出力するように見える場合、Databricks ではトレーニング エポックの数を減らすことをお勧めします。
命令の微調整とチャットの完了のために、モデルの少なくとも 1 つの完全なコンテキスト長に対して十分なトークンを提供する必要があります。 たとえば、meta-llama/Llama-3.2-3B-Instruct
には131072のトークンがあります。
継続的な事前トレーニングに関して、Databricks は、カスタム データを学習するより高品質なモデルを取得するために、少なくとも 150 万個のトークンを推奨しています。
サポートされているモデル
次の表に、サポートされているモデルを示します。 該当 モデル ライセンスと許容される使用ポリシー情報については、 モデル ライセンスを参照してください。
最新のモデルのサポートを継続するために、Databricks はサポートされているモデルを更新したり、古いモデルを廃止したりする場合があります。 「廃止予定のモデル」を参照してください。
モデル | コンテキストの最大長 | メモ |
---|---|---|
meta-llama/Llama-3.2-1B |
131072 | |
meta-llama/Llama-3.2-1B-Instruct |
131072 | |
meta-llama/Llama-3.2-3B |
131072 | |
meta-llama/Llama-3.2-3B-Instruct |
131072 | |
meta-llama/Meta-Llama-3.1-70B |
131072 | |
meta-llama/Meta-Llama-3.1-70B-Instruct |
131072 | |
meta-llama/Meta-Llama-3.1-8B |
131072 | |
meta-llama/Meta-Llama-3.1-8B-Instruct |
131072 |
廃止予定のモデル
次の表に、提供終了が計画されているサポートされているモデルの一覧を示します。 廃止されたモデル 、計画されている廃止日、推奨されるモデルの置換については、廃止モデル を参照してください。
モデル | コンテキストの最大長 | メモ |
---|---|---|
mistralai/Mistral-7B-v0.1 |
32768 | このモデルは、2025 年 4 月 30 日以降はサポートされなくなりました。 |
mistralai/Mistral-7B-Instruct-v0.2 |
32768 | このモデルは、2025 年 4 月 30 日以降はサポートされなくなりました。 |
mistralai/Mixtral-8x7B-v0.1 |
32768 | このモデルは、2025 年 4 月 30 日以降はサポートされなくなりました。 |
databricks/dbrx-base |
32768 | このモデルは、2025 年 4 月 30 日以降はサポートされなくなりました。 |
databricks/dbrx-instruct |
32768 | このモデルは、2025 年 4 月 30 日以降はサポートされなくなりました。 |
モデル ライセンス
次の表に、サポートされているモデル ファミリの該当するモデル ライセンスと許容される使用ポリシー情報を示します。
モデル ファミリ | ライセンスと許容される使用ポリシー |
---|---|
Meta Llama 3.2 | Meta Llama 3.2 は LLAMA 3.2 Community License の下でライセンスされています (Copyright © Meta Platforms, Inc. All Rights Reserved.)。 お客様は、本ライセンスの条件およびLlama 3.2 利用規約を遵守する責任を負います。 |
Meta Llama 3.1 | Meta Llama 3.1 は LLAMA 3.1 Community License の下でライセンスされています (Copyright © Meta Platforms, Inc. All Rights Reserved.)。 お客様は、該当するモデル ライセンスへのコンプライアンスを遵守する責任を負います。 |
DBRX | DBRX は、Databricks Open Model License (Copyright © Databricks, Inc.) の下で提供され、その対象となります。All rights reserved. お客様は、Databricks 利用規約を含む、該当するモデル ライセンスへのコンプライアンスを遵守する責任を負います。 |
Foundation Model の微調整を使用する
Foundation Model の微調整には、 databricks_genai
SDK を使用してアクセスできます。 次の例では、Unity Catalog ボリュームのデータを使用するトレーニング実行を作成して起動します。 構成の詳細については、「 Foundation Model Fine-tuning API を使用してトレーニング実行を作成する を参照してください。
from databricks.model_training import foundation_model as fm
model = 'meta-llama/Meta-Llama-3.1-8B-Instruct'
# UC Volume with JSONL formatted data
train_data_path = 'dbfs:/Volumes/main/mydirectory/ift/train.jsonl'
register_to = 'main.mydirectory'
run = fm.create(
model=model,
train_data_path=train_data_path,
register_to=register_to,
)
データの準備、ファインチューニング トレーニング実行の構成、デプロイについて段階的に説明する指示ファインチューニングの例については、「指示ファインチューニング: 固有表現認識」デモ ノートブックを参照してください。
制限事項
コンピューティングの可用性のため、大規模なデータセット (100 億以上のトークン) はサポートされていません。
継続的な事前トレーニングでは、ワークロードは 60 から 256 MB のファイルに制限されます。 1 GB を超えるファイルでは、処理時間が長くなる可能性があります。
Databricks では、Foundation Model Fine-tuning を使用して、最新の最新のモデルをカスタマイズに使用できるように努めています。 新しいモデルが使用可能になると、API または UI から古いモデルへのアクセスが削除されたり、古いモデルが非推奨になったり、サポートされているモデルが更新されたりする可能性があります。 「生成 AI モデルのメンテナンス ポリシー」を参照してください。
ワークスペースに Azure Private Link を設定している場合、Foundation Model の微調整では、
eastus2
内の Azure ワークスペースのみがサポートされます。ストレージに Private Link を設定している場合、Databricks では Unity カタログ テーブルを使用することをお勧めします。
Unity カタログにデータを格納する Azure Data Lake Storage アカウントでファイアウォールを有効にしている場合は、Foundation Model の微調整を使用するために、Databricks サーバーレス データ プレーン クラスターからのトラフィックを許可する必要があります。 詳細およびカスタム ソリューションについては、Databricks アカウント チームにお問い合わせください。