Mosaic AI Model トレーニング for 基盤モデル
重要
この機能はus-east-1
とus-west-2
でパブリックプレビュー段階です。
Mosaic AIモデル トレーニング (以前の基盤モデル トレーニング) を使用すると、独自のデータを使用して基盤モデルをカスタマイズし、特定のアプリケーションに合わせてパフォーマンスを最適化できます。 フルファインチューニングを実施するか、基盤モデルのトレーニングを継続することにより、モデルを最初からトレーニングするよりも大幅に少ないデータ、時間、コンピュートリソースを使用して独自のモデルをトレーニングすることができます。
Databricksを使用すると、トレーニングに使用する独自のデータ、基盤モデルをトレーニングする、MLflowに保存されたチェックポイント、Unity Catalogに登録されすぐにデプロイできるモデルなど、すべてが1つのプラットフォームにまとめられます。
Mosaic AIModel トレーニング を使用して実行を作成する方法を学習するには、「 チュートリアル:Mosaic AI Model トレーニング 実行の作成とデプロイ 」を参照し、API DatabricksUI とMosaic AI Model Serving を使用して結果を確認してモデルをデプロイします。
Mosaic AIモデルトレーニングとは何か?
Mosaic AIモデルトレーニングするでは、Databricks APIまたはUIを使用して、基礎モデルを調整したり、さらにトレーニングしたりできます。
Mosaic AIモデルトレーニングを使用すると、次のことが可能になります。
MLflowに保存されたチェックポイントを使用して、カスタムデータでモデルをトレーニングします。トレーニングされたモデルを完全にコントロールすることができます。
モデルを Unity Catalog に自動的に登録し、モデルサービングによる簡単なデプロイを可能にします。
以前に訓練したモデルの加重をロードして、完成した独自のモデルをさらに訓練します。
Databricksでは、次の場合に Mosaic AIモデルトレーニングを試すことをお勧めします。
数回の試行で学習を試みて、より良い結果を得たいと考えています。
既存のモデルでプロンプトエンジニアリングを試し、より良い結果を求めています。
データのプライバシーのためにカスタムモデルを完全に所有したい。
あなたはレイテンシーやコストに敏感で、タスク固有のデータには小さくて安価なモデルを使いたいと思っています。
サポートされているタスク
Mosaic AIモデルトレーニングは以下のユースケースをサポートします:
チャット完了:推奨タスク。ユーザーとAIアシスタントとのチャットログを使用してモデルをトレーニングします。このフォーマットは実際のチャットログ用途と、質問への回答や会話テキストの標準フォーマットとしての用途の両方に使用できます。テキストは自動的に特定のモデルに適したフォーマットにフォーマットされます。テンプレートの詳細については、HuggingFaceドキュメントの「チャットテンプレートの例」を参照してください。
教師ありの微調整:構造化されたプロンプトとレスポンスデータに基づきモデルをトレーニングします。この機能を使用して、モデルを新しいタスクに適応させたり、応答スタイルを変更したり、指示に従う機能を追加することができます。このタスクはデータに自動的にフォーマットを適用しないので、カスタムデータフォーマットが必要な場合にのみお勧めします。
継続的な事前トレーニング:追加のテキストデータでモデルをトレーニングするしてください。これを使用して、モデルに新しい知識を追加したり、モデルを特定のドメインに集中させたりします。
要件
以下のAWSリージョンのいずれかにあるDatabricksワークスペースは、
us-east-1
とus-west-2
です。Mosaic AIモデルトレーニングAPIsは
pip install databricks_genai
を使用してインストールされました。ワークスペースはS3アクセスポリシーを使用してはいけません。
データが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()
関数を使用してください。
重要
Meta Llama 3.1 は、LLAMA 3.1 コミュニティ ライセンス、著作権 © Meta Platforms, Inc. に基づいてライセンスされています。 全著作権所有。 顧客は、該当するモデル ライセンスによるコンプライアンスを確保する責任があります。
Llama 3はLLAMA 3 Community License, Copyright© Meta Platforms, Inc.の下でライセンスされています。すべての権利は留保されています。お客様は、該当するモデルライセンスにコンプライアンスしていることを確認する責任があります。
Llama 2とCode LlamaモデルのライセンスはLLAMA 2 Community License, Copyright© Meta Platforms, Inc. すべての権利は留保されています。お客様は、該当するモデルライセンスにコンプライアンスしていることを確認する責任があります。
DBRXは、Databricksオープンモデルライセンスの下で提供され、その対象となります。著作権 © Databricks, Inc. All rights reserved. お客様は、Databricksの適正使用ポリシーを含む、該当するモデルライセンスを確実にコンプライアンスする責任があります。
from databricks.model_training import foundation_model
foundation_model.get_models()
次の表は出力例であり、サポートされているモデルの完全なリストではありません。
重要
以下のモデルファミリのモデルは、廃止が計画されています。 2024 年 12 月 13 日以降、次のサポートは終了します。
Meta Llama 3
Llama 2
コード Llama
モデル |
最大コンテキスト長 |
---|---|
|
32768 |
|
32768 |
|
131072 |
|
131072 |
|
131072 |
|
131072 |
|
131072 |
|
131072 |
|
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ボリュームのデータを使用するトレーニング実行を作成して起動します。設定の詳細については、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,
)
データの準備、微調整トレーニング実行設定、およびデプロイメントを説明する指示を微調整の例については、指示を微調整:エンティティを識別できる名前デモノートブックを参照してください。
制限事項
大規模なデータセット(10B以上のトークン)は、コンピューティングの可用性のためサポートされていません。
継続的な事前トレーニングでは、ワークロードは60〜256MBのファイルに制限されます。1GBを超えるファイルは処理に時間がかかる場合があります。
Databricks は、Mosaic AIモデルトレーニングを使用して、最新の最先端モデルをカスタマイズできるように努めています。新しいモデルが利用可能になるにつれ、APIやUIから古いモデルにアクセスする機能を削除したり、古いモデルを非推奨にしたり、サポートされるモデルを更新したりする可能性があります。基盤モデルがAPIやUIから削除されるか非推奨になる場合、Databricksは削除日や非推奨日の、少なくとも3か月前にステップを実行して顧客に通知します。
Databricksワークスペースのエクスペリメント> Mosaic AIモデルトレーニングページから、モデルカードにモデルが非推奨であることを示す警告メッセージを表示します。
ドキュメントを更新して、モデルが廃止予定であることを示す通知を含めます。