基盤モデル ファインチューニング
プレビュー
この機能はus-east-1
とus-west-2
でパブリックプレビュー段階です。
基盤モデル ファインチューニング (現在は Mosaic AI Model トレーニングの一部) を使用すると、独自のデータを使用して基盤モデルをカスタマイズし、特定のアプリケーションに合わせてパフォーマンスを最適化できます。 フル パラメーター ファインチューニング または CONTINUING トレーニング of a 基盤モデルを実施することで、モデルを一からトレーニングするよりも大幅に少ないデータ、時間、およびコンピュート リソースを使用して、独自のモデルをトレーニングする ことができます。
Databricksを使用すると、トレーニングに使用する独自のデータ、基盤モデルをトレーニングする、MLflowに保存されたチェックポイント、Unity Catalogに登録されすぐにデプロイできるモデルなど、すべてが1つのプラットフォームにまとめられます。
基盤モデル ファインチューニング を使用して実行を作成する方法については、「 チュートリアル: 基盤モデル ファインチューニング 実行の作成とデプロイAPI 」を参照し、Databricks UI とMosaic AI Model Serving を使用して結果を確認してモデルをデプロイします。
基盤モデル ファインチューニングとは?
基盤モデル ファインチューニング では、 Databricks API または UI を使用して、基盤モデルをチューニングしたり、さらにトレーニングしたりすることができます。
基盤モデル ファインチューニングを使用すると、次のことができます。
MLflowに保存されたチェックポイントを使用して、カスタムデータでモデルをトレーニングします。トレーニングされたモデルを完全にコントロールすることができます。
モデルを Unity Catalog に自動的に登録し、モデルサービングによる簡単なデプロイを可能にします。
以前に訓練したモデルの加重をロードして、完成した独自のモデルをさらに訓練します。
Databricks 、次の場合は基盤モデル ファインチューニングを試すことをお勧めします。
数回の試行で学習を試みて、より良い結果を得たいと考えています。
既存のモデルでプロンプトエンジニアリングを試し、より良い結果を求めています。
データのプライバシーのためにカスタムモデルを完全に所有したい。
あなたはレイテンシーやコストに敏感で、タスク固有のデータには小さくて安価なモデルを使いたいと思っています。
サポートされているタスク
基盤モデル ファインチューニングは、以下のユースケースをサポートします。
チャット完了:推奨タスク。ユーザーとAIアシスタントとのチャットログを使用してモデルをトレーニングします。このフォーマットは実際のチャットログ用途と、質問への回答や会話テキストの標準フォーマットとしての用途の両方に使用できます。テキストは自動的に特定のモデルに適したフォーマットにフォーマットされます。テンプレートの詳細については、HuggingFaceドキュメントの「チャットテンプレートの例」を参照してください。
教師ありの微調整:構造化されたプロンプトとレスポンスデータに基づきモデルをトレーニングします。この機能を使用して、モデルを新しいタスクに適応させたり、応答スタイルを変更したり、指示に従う機能を追加することができます。このタスクはデータに自動的にフォーマットを適用しないので、カスタムデータフォーマットが必要な場合にのみお勧めします。
継続的な事前トレーニング:追加のテキストデータでモデルをトレーニングするしてください。これを使用して、モデルに新しい知識を追加したり、モデルを特定のドメインに集中させたりします。
要件
Databricksワークスペースが以下のAWSリージョンのいずれかにある:
us-east-1
とus-west-2
。基盤モデル ファインチューニング APIs
pip install databricks_genai
を使用してインストールします。ワークスペースはS3アクセスポリシーを使用してはいけません。
データがDelta テーブルにある場合は、Databricks Runtime 12.2 LTS ML以降。
必要な入力データ形式については、 基盤モデル ファインチューニングのためのデータの準備 を参照してください。
モデルトレーニングに推奨されるデータサイズ
Databricks では、最初に 1 から 4 エポックを使用してトレーニングすることをお勧めします。 微調整されたモデルを評価した後、モデル出力をトレーニングデータにより類似させたい場合は、さらに 1 つまたは 2 つのエポックを使用してトレーニングを続行できます。
ファインチューニング データに表されていないタスクでモデルのパフォーマンスが大幅に低下する場合、またはモデルがファインチューニング データの正確なコピーを出力しているように見える場合、Databricks ではトレーニング エポックの数を減らすことをお勧めします。
監視付きファインチューニングとチャット完了のためには、モデルのコンテキスト全体の長さを少なくとも1つ分満たすのに十分なトークンを提供する必要があります。例えば、meta-llama/Llama-2-7b-chat-hf
の場合は4096トークン、mistralai/Mistral-7B-v0.1
の場合は32768トークンです。
事前トレーニングを継続する場合、カスタム データを学習するより高品質なモデルを取得するには、Databricks では少なくとも 150 万個のトークンを推奨しています。
サポートされるモデル
次の表に、サポートされているモデルを示します。 該当するモデル・ライセンスおよびアクセプタブル・ユース・ポリシー情報については、 モデル・ライセンス を参照してください。
最先端のモデルのサポートを継続するために、Databricks はサポートされているモデルを更新するか、古いモデルを廃止する場合があります。 「廃止されたモデルになるには」を参照してください。
モデル |
最大コンテキスト長 |
注 |
---|---|---|
|
32768 |
|
|
32768 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
131072 |
|
|
32768 |
|
|
32768 |
|
|
32768 |
引退するモデル
次の表に、廃止が予定されているサポート対象モデルを示します。 計画された廃止日と推奨されるモデルの交換については、 廃止されたモデル を参照してください。
モデル |
最大コンテキスト長 |
注 |
---|---|---|
|
8192 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
8192 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
8192 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
8192 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
4096 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
4096 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
4096 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
4096 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
4096 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
4096 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
|
16384 |
このモデルは、2025 年 1 月 7 日以降はサポートされなくなりました。 |
モデルライセンス
次の表に、サポートされているモデル ファミリの適用可能なモデル ライセンスと許容される使用ポリシー 情報を示します。
モデルファミリー |
License and acceptable use ポリシー |
---|---|
メタ Llama 3.2 |
Meta Llama 3.2 は、 LLAMA 3.2 コミュニティ ライセンス、Copyright © Meta Platforms, Inc. の下でライセンスされています。 全著作権所有。 お客様は、本ライセンスおよび Llama 3.2 Acceptable Use ポリシーの条項に対するコンプライアンスを確保する責任があります。 |
Meta Llama 3.1 |
Meta Llama 3.1 は 、LLAMA 3.1 コミュニティ ライセンス、Copyright © Meta Platforms, Inc. の下でライセンスされています。 全著作権所有。 お客様は、該当するモデルライセンスにコンプライアンスしていることを確認する責任があります。 |
Llama 3 |
Llama 3はLLAMA 3 Community License, Copyright© Meta Platforms, Inc.の下でライセンスされています。All rights reserved. お客様は、該当するモデルライセンスにコンプライアンスしていることを確認する責任があります。 |
Llama 2 |
Llama 2はLLAMA 2 Community License, Copyright© Meta Platforms, Inc.の下でライセンスされています。All rights reserved. お客様は、該当するモデルライセンスにコンプライアンスしていることを確認する責任があります。 |
コデラマ |
CodeLlama モデルは、 LLAMA 2 コミュニティ ライセンス、Copyright © Meta Platforms, Inc. の下でライセンスされています。 全著作権所有。 お客様は、該当するモデルライセンスにコンプライアンスしていることを確認する責任があります。 |
DBRX |
DBRXは、Databricksオープンモデルライセンスの下で提供され、その対象となります。著作権 © Databricks, Inc. 無断転用は禁止されています。 お客様は、Databricksの適正使用ポリシーを含む、該当するモデルライセンスを確実にコンプライアンスする責任があります。 |
Use 基盤モデル ファインチューニング
基盤モデル ファインチューニングは、databricks_genai
SDKを使用してアクセスできます。 次の例では、Unity Catalog ボリュームのデータを使用するトレーニング実行を作成して起動します。 構成の詳細については、「基盤モデル ファインチューニング 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 は、基盤モデル ファインチューニングを使用して、最新の最新モデルをカスタマイズできるように努めています。 新しいモデルが利用可能になると、API または UI からの古いモデルへのアクセスが削除されたり、古いモデルが非推奨になったり、サポートされているモデルが更新されたりする可能性があります。 「生成AI models maintenance ポリシー」を参照してください。