Mosaic AI モデルトレーニングの概要
重要
この機能は パブリック プレビュー段階です。 パブリック プレビューに登録するには、Databricks アカウント チームにお問い合わせください。
Mosaic AIモデル トレーニング (以前の基盤モデル トレーニング) を使用すると、独自のデータを使用して基盤モデルをカスタマイズし、特定のアプリケーションに合わせてパフォーマンスを最適化できます。 基盤モデルの微調整またはトレーニングの継続により、モデルを最初からトレーニングするよりも大幅に少ないデータ、時間、コンピュート リソースを使用して独自のモデルをトレーニングできます。
Databricksを使用すると、トレーニングに使用する独自のデータ、トレーニングする基盤モデル、 MLflowに保存されたチェックポイント、 Unity Catalogに登録されてすぐにデプロイできるモデルなど、すべてが 1 つのプラットフォームにまとめられます。
Mosaic AI モデルトレーニングとは何ですか?
Mosaic AIモデル トレーニングでは、 Databricks APIまたは UI を使用して、基盤モデルを調整したり、さらにトレーニングしたりできます。
Mosaic AI モデル トレーニングを使用すると、次のことが可能になります。
トレーニングを行うカスタム データを使用してモデルを作成し、チェックポイントをMLflowに保存します。 トレーニング済みのモデルを完全に制御できます。
モデルをUnity Catalogに自動登録し、モデルサービングで簡単にデプロイできるようにします。
以前にトレーニングされたモデルの重みをロードすることで、完成した独自のモデルをさらにトレーニングします。
Databricks では、次の場合に Mosaic AI モデル トレーニングを試すことをお勧めします。
few-shot learningを試し、より良い結果を求めています。
既存のモデルでプロンプトエンジニアリングを試し、より良い結果を求めています。
データプライバシーのためのカスタムモデルに対する完全な所有権が必要です。
レイテンシーやコストに敏感で、タスク固有のデータを使用して、より小さく、より安価なモデルを使用したいと考えています。
サポートされているタスク
Mosaic AI モデル トレーニングは、次のユース ケースをサポートします。
チャット完了:推奨タスク。 ユーザーとAIアシスタント間のチャット ログに基づいてモデルをトレーニングします。 この形式は、実際のチャットログと、質問応答と会話テキストの標準形式の両方として使用できます。 テキストは、特定のモデルに適した形式に自動的に書式設定されます。 テンプレートの詳細については、HuggingFace ドキュメントのチャット テンプレートの例を参照してください。
教師ありファインチューニング: 構造化されたプロンプト応答データでモデルをトレーニングします。 これを使用して、モデルを新しいタスクに適応させたり、応答スタイルを変更したり、指示に従う機能を追加したりします。 このタスクはデータに自動的に書式設定を適用するものではなく、カスタム データ書式設定が必要な場合にのみ推奨されます。
事前トレーニングの続き: 追加のテキスト データを使用してモデルをトレーニングします。 これを使用して、モデルに新しい知識を追加したり、モデルを特定のドメインに集中させたりします。
要件
次の AWS リージョンのいずれかにある Databricks ワークスペース:
us-east-1
、us-west-2
。Mosaic AIモデル トレーニングAPIs 、
pip install databricks_genai
を使用してインストールされました。データが Delta テーブルにある場合は、Databricks Runtime 12.2 LTS ML 以上。
必要な入力データ形式については、 Mosaic AIモデル トレーニング用のデータの準備」を参照してください。
モデルトレーニングに推奨されるデータサイズ
教師ありファインチューニングとチャット補完を行うには、モデルの少なくとも 1 つの完全なコンテキストの長さに十分なトークンを提供する必要があります。 たとえば、 meta-llama/Llama-2-7b-chat-hf
の場合は 4096 トークン、 mistralai/Mistral-7B-v0.1
の場合は 32768 トークンです。
事前トレーニングを継続する場合、カスタム データを学習する高品質のモデルを取得するには、Databricks では少なくとも 150 万のサンプルを推奨しています。
サポートされるモデル
サポートされている最新のモデルとそれに関連するコンテキストの長さについては、関数 get_models()
を使用します。
重要
Llama 3 は、LLAMA 3 コミュニティ ライセンス、Copyright © Meta Platforms, Inc. に基づいてライセンスされています。 無断複写・転載を禁じます。 お客様は、該当するモデルライセンスに準拠することを保証する責任を負います。
Llama 2 および Code Llamaモデルは、LLAMA 2 コミュニティ ライセンス、Copyright © Meta Platforms, Inc. に基づいてライセンスされています。 無断複写・転載を禁じます。 お客様は、該当するモデルライセンスに準拠することを保証する責任を負います。
DBRX は、 Databricks Open Model Licenseに基づいて提供され、これに従います。Copyright © Databricks, Inc. 無断転載を禁じます。 お客様は、 Databricks許容使用ポリシーを含む、該当するモデル ライセンスに準拠することを保証する責任を負います。
from databricks.model_training import foundation_model
foundation_model.get_models()
次の表は出力例であり、サポートされているモデルの完全なリストではありません。
モデル |
最大コンテキスト長 |
---|---|
|
4096 |
|
4096 |
|
8192 |
|
8192 |
|
8192 |
|
8192 |
|
4096 |
|
4096 |
|
4096 |
|
4096 |
|
4096 |
|
4096 |
|
16384 |
|
16384 |
|
16384 |
|
16384 |
|
16384 |
|
16384 |
|
16384 |
|
16384 |
|
16384 |
|
32768 |
|
32768 |
|
32768 |
Mosaic AIモデルトレーニングを使用する
Mosaic AI モデル トレーニングは、 databricks_genai
SDK を使用してアクセスできます。 次の例では、 Unity Catalog Volumes のデータを使用するトレーニング実行を作成して起動します。 構成の詳細については、「 Mosaic AIモデル トレーニングAPIを使用したトレーニング実行の作成」を参照してください。
from databricks.model_training import foundation_model as fm
model = 'meta-llama/Llama-2-7b-chat-hf'
# 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,
)
データの準備、構成、およびデプロイメントの手順を説明する手順の例については、「手順 ファインチューニング: Named Entity Recognitionデモ」を参照してください。
制限事項
大規模なデータセット (100 億以上のトークン) は、コンピュートの可用性のためサポートされていません。
PrivateLink はサポートされていません。
継続的な事前トレーニングの場合、ワークロードは 60 ~ 256 MB のファイルに制限されます。 1GBを超えるファイルでは、処理時間が長くなる可能性があります。
Databricks は、Mosaic AI モデル トレーニングを使用して、最新の最先端モデルをカスタマイズできるように努めています。 新しいモデルが利用可能になると、API や UI から古いモデルにアクセスする機能が削除されたり、古いモデルが廃止されたり、サポートされているモデルが更新されたりする可能性があります。 基盤モデルがAPIや UI から削除されるか非推奨になる場合、 Databricks次の手順を実行して、削除日や非推奨日の少なくとも 3 か月前に顧客に通知します。
スペースの [エクスペリメント] >Mosaic AI モデル トレーニング] Databricksページのモデル カードに、モデルが非推奨になる予定であることを示す警告メッセージを表示します。
ドキュメントを更新して、モデルが廃止される予定であることを示す通知を含めます。