基盤モデルのモザイク AI モデル トレーニング
重要
この機能は、次のリージョンでパブリック プレビュー段階です: centralus
、eastus
、eastus2
、northcentralus
、westus
Mosaic AI モデル トレーニング (旧称 Foundation Model Training) では、独自のデータを使って基盤モデルをカスタマイズし、特定のアプリケーション用にパフォーマンスを最適化できます。 基盤モデルの完全なパラメーターの微調整を実施またはトレーニングを継続すると、モデルをゼロからトレーニングするよりもはるかに少ないデータ、時間、コンピューティング リソースを使用して、独自のモデルをトレーニングできます。
Databricks を使用すると、トレーニングに使用する独自のデータ、トレーニングする基盤モデル、MLflow に保存されたチェックポイント、Unity Catalog に登録され、デプロイする準備ができているモデルなど、すべてを 1 つのプラットフォームで利用できます。
Mosaic AI モデル トレーニング API を使用して実行を作成する方法については、チュートリアル:Mosaic AI モデル トレーニング実行を作成してデプロイする を参照してください。そして、結果を確認し、Databricks UI と Mosaic AI モデル Serving を使用してモデルをデプロイします。
Mosaic AI モデル トレーニングとは
Mosaic AI モデル トレーニングを使用すると、Databricks の API または UI を使用して、基盤モデルを調整したり、さらにトレーニングしたりできます。
Mosaic AI モデル トレーニングを使用すると、次のことを実行できます。
- MLflow に保存されたチェックポイントを使用して、カスタム データを使用してモデルをトレーニングできます。 トレーニング済みモデルを完全に制御できます。
- モデルを Unity Catalog に自動的に登録し、モデル サービスを使用して簡単にデプロイできるようにします。
- 以前にトレーニングしたモデルの重みを読み込んで、完成した独自のモデルをさらにトレーニングできます。
Databricks では、次の場合に Mosaic AI モデル トレーニングを試してみることをお勧めしています。
- 少数ショット学習を試したが、より良い結果を得たいと考えている。
- 既存のモデルに対してプロンプト エンジニアリングを試みたが、より良い結果を得たいと考えている。
- データのプライバシーのために、カスタム モデルに対する完全な所有権を必要としている。
- 待ち時間やコストに敏感で、タスク固有のデータを使用してより小さく安価なモデルを使用したいと考えている。
サポートされているタスク
Mosaic AI モデル トレーニングでは、次のユース ケースがサポートされています。
- チャット補完: 推奨されるタスク。 ユーザーと AI アシスタントの間のチャット ログでモデルをトレーニングします。 この形式は、実際のチャット ログだけでなく、質問応答や会話テキストの標準形式としても使用できます。 テキストは、特定のモデルに適した形式に自動的に書式設定されます。 テンプレートの詳細については、HuggingFace ドキュメントのチャット テンプレートの例に関するページを参照してください。
- 監視付き微調整: 構造化されたプロンプト応答データでモデルをトレーニングします。 これを使用して、モデルを新しいタスクに適応させたり、応答スタイルを変更したり、命令に従う機能を追加したりできます。 このタスクではデータに自動的に書式設定が適用されないため、カスタム データ書式設定が必要な場合にのみ推奨されます。
- 継続的な事前トレーニング: 追加のテキスト データを使用してモデルをトレーニングします。 これを使用して、新しい知識をモデルに追加したり、モデルを特定の領域に集中させたりできます。
要件
- 次の Azure リージョンのいずれかにある Databricks ワークスペース:
centralus
、eastus
、eastus2
、northcentralus
、westus
。 pip install databricks_genai
を使用してインストールされた Mosaic AI モデル トレーニングの API。- データが Delta テーブル内にある場合は、Databricks Runtime 12.2 LTS ML 以降。
必要な入力データ形式の詳細については、「Mosaic AI モデル トレーニング用にデータを準備する」を参照してください。
モデル トレーニングに推奨されるデータ サイズ
Databricks では、最初に 1 から 4 つのエポックを使用してトレーニングすることをお勧めします。 微調整されたモデルを評価した後、モデルの出力をトレーニング データとより類似させる場合は、さらに 1 または 2 つのエポックを使用してトレーニングを続けることができます。
微調整データに表されていないタスクでモデルのパフォーマンスが大幅に低下する場合、またはモデルが微調整データの正確なコピーを出力するように見える場合、Databricks ではトレーニング エポックの数を減らすことをお勧めします。
監視付き微調整とチャット補完には、モデルの少なくとも 1 つの完全なコンテキスト長に対して十分なトークンを提供する必要があります。 たとえば、meta-llama/Llama-2-7b-chat-hf
の場合は 4096 トークン、mistralai/Mistral-7B-v0.1
の場合は 32768 トークンです。
継続的な事前トレーニングに関して、Databricks は、カスタム データを学習するより高品質なモデルを取得するために、少なくとも 150 万個のトークンを推奨しています。
サポートされているモデル
次の表に、サポートされているモデルをリストします。 サポートされている最新のモデルとそれらに関連するコンテキストの長さには、get_models()
関数を使用します。
from databricks.model_training import foundation_model
foundation_model.get_models()
重要
Meta Llama 3.2 は LLAMA 3.2 Community License の下でライセンスされています (Copyright © Meta Platforms, Inc. All Rights Reserved.)。 お客様は、本ライセンスの条件およびLlama 3.2 利用規約を遵守する責任を負います。
Meta Llama 3.1 は LLAMA 3.1 Community License の下でライセンスされています (Copyright © Meta Platforms, Inc. All Rights Reserved.)。 お客様は、該当するモデル ライセンスへのコンプライアンスを遵守する責任を負います。
Llama 3 は LLAMA 3 Community License の下でライセンスされています (Copyright © Meta Platforms, Inc. All Rights Reserved.)。 お客様は、該当するモデル ライセンスへのコンプライアンスを遵守する責任を負います。
Llama 2 および Code Llama のモデルは LLAMA 2 Community License (Copyright © Meta Platforms, Inc.) の下でライセンスされています。All Rights Reserved.)。 お客様は、該当するモデル ライセンスへのコンプライアンスを遵守する責任を負います。
DBRX は、Databricks Open Model License (Copyright © Databricks, Inc.) の下で提供され、その対象となります。All rights reserved. お客様は、Databricks 利用規約を含む、該当するモデル ライセンスへのコンプライアンスを遵守する責任を負います。
モデル | コンテキストの最大長 | メモ |
---|---|---|
databricks/dbrx-base |
32768 | |
databricks/dbrx-instruct |
32768 | |
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-405B |
131072 | |
meta-llama/Meta-Llama-3.1-405B-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 | |
meta-llama/Meta-Llama-3-70B |
8192 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Meta-Llama-3-70B-Instruct |
8192 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Meta-Llama-3-8B |
8192 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Meta-Llama-3-8B-Instruct |
8192 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Llama-2-7b-hf |
4096 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Llama-2-13b-hf |
4096 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Llama-2-70b-hf |
4096 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Llama-2-7b-chat-hf |
4096 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Llama-2-13b-chat-hf |
4096 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
meta-llama/Llama-2-70b-chat-hf |
4096 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-7b-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-13b-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-34b-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-7b-Instruct-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-13b-Instruct-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-34b-Instruct-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-7b-Python-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-13b-Python-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
codellama/CodeLlama-34b-Python-hf |
16384 | 2024 年 12 月 13 日以降、このモデルはサポートされなくなります。 おすすめの代替モデルについては、「廃止モデル」を参照してください。 |
mistralai/Mistral-7B-v0.1 |
32768 | |
mistralai/Mistral-7B-Instruct-v0.2 |
32768 | |
mistralai/Mixtral-8x7B-v0.1 |
32768 |
Mosaic AI モデル トレーニングを使用する
Mosaic AI モデル トレーニングには、databricks_genai
SDK を使用してアクセスできます。 次の例では、Unity Catalog ボリュームのデータを使用するトレーニング実行を作成して起動します。 構成の詳細については、「Mosaic AI モデル トレーニングの 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 では、Mosaic AI モデル トレーニングを使用して、最新の最先端モデルをカスタマイズできるように努めています。 新しいモデルを使用できるように、API や UI から古いモデルにアクセスする機能を削除したり、古いモデルを非推奨にしたり、サポートされているモデルを更新したりする場合があります。 「生成 AI モデルのメンテナンス ポリシー」を参照してください。
モザイク AI モデル トレーニングでは、プライベート リンクの背後にあるストレージを使用した Azure ワークスペースのモデル トレーニングのみがサポートされます。
- 現在、
eastus2
のプライベート リンクの背後にあるストレージからのデータの読み取りのみがサポートされています。
- 現在、
データを Unity カタログに格納する Azure Data Lake Storage アカウントでファイアウォールを有効にしている場合は、Mosaic AI モデル トレーニングを使用するために、Databricks Serverless データ プレーン クラスターからのトラフィックを許可する必要があります。 詳細およびカスタム ソリューションについては、Databricks アカウント チームにお問い合わせください。