翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
基盤モデルの微調整
基盤モデルは計算コストが高く、ラベルの付いていない大規模なコーパスでトレーニングされます。事前トレーニング済みの基盤モデルを微調整することは、小規模なコーパスでモデルをカスタマイズしながら、その幅広い機能を活用する手頃な方法です。微調整は、さらにトレーニングを重ねるカスタマイズ方法で、モデルの重みは変わります。
微調整は、次のような必要がある場合に役立ちます。
-
特定のビジネスニーズに合わせたモデルのカスタマイズ
-
業界用語、専門用語、その他の特殊な用語など、ドメイン固有の言語をうまく扱うためのモデル
-
特定のタスクに対するパフォーマンスの強化
-
アプリケーションにおける正確で相対的、かつコンテキスト対応のレスポンス
-
より事実に即しており、有害性が低く、特定の要件により合致したレスポンス
ユースケースと選択した基盤モデルに応じて、微調整には主に 2 つのアプローチがあります。
ドメイン固有のデータに基づいてモデルを微調整することに関心がある場合は、「ドメイン適応の微調整」を参照してください。
プロンプトとレスポンスの例を使用してインストラクションベースの微調整を行うことに興味がある場合は、「インストラクションベースの微調整」を参照してください。
微調整に使用できる基盤モデル
以下の JumpStart 基盤モデルのいずれかを微調整できます。
-
ブルーム 3B
-
ブルーム 7B1
-
BloomZ 3B FP16
-
BloomZ 7B1 FP16
-
コードラマ 13B
-
コードラマ 13B Python
-
コードラマ 34B
-
コードラマ 34B Python
-
コードラマ 70B
-
コードラマ 70B Python
-
コードラマ 7B
-
コードラマ 7B Python
-
CyberAgentLM2-7B-Chat (CALM2-7B-Chat)
-
Falcon 40B BF16
-
Falcon 40B 指示 BF16
-
Falcon 7B BF16
-
Falcon 7B 指示 BF16
-
Flan-T5 ベース
-
Flan-T5 Large
-
Flan-T5 スモール
-
Flan-T5 XL
-
Flan-T5 XXL
-
Gemma 2B
-
Gemma 2B インストラクション
-
Gemma 7B
-
Gemma 7B インストラクション
-
GPT-2 XL
-
GPT-J 6B
-
GPT-Neo 1.3B
-
GPT-Neo 125M
-
GPT-NEO 2.7B
-
LightGPT 命令 6B
-
ラマ 2 13B
-
ラマ 2 13B チャット
-
ラマ 2 13B Neuron
-
ラマ 2 70B
-
Llama 2 70B チャット
-
ラマ 2 7B
-
Llama 2 7B チャット
-
ラマ 2 7B ニューロン
-
霧状 7B
-
混合 8x7B
-
混合 8x7B 指示
-
RedPajama INCITE ベース 3B V1
-
RedPajama INCITE ベース 7B V1
-
RedPajama INCITE Chat 3B V1
-
RedPajama INCITE Chat 7B V1
-
RedPajama INCITE 命令 3B V1
-
RedPajama INCITE 命令 7B V1
-
Stable Diffusion 2.1
一般的にサポートされている微調整ハイパーパラメータ
さまざまな基盤モデルが、微調整時にさまざまなハイパーパラメータをサポートします。以下は、トレーニング中にモデルをさらにカスタマイズできる、一般的にサポートされているハイパーパラメータです。
推論パラメータ | 説明 |
---|---|
|
トレーニング中にモデルが微調整データセットを通過するパスの数。1 より大きい整数である必要があります。 |
|
微調整トレーニング例の各バッチを実行した後のモデルの重みの更新レート。0 より大きい正の浮動小数点数である必要があります。 |
|
モデルを命令トレーニングするかどうか。 |
|
トレーニング用の GPU コアまたは CPU あたりのバッチサイズ。正の整数である必要があります。 |
|
評価用の GPU コアまたは CPU あたりのバッチサイズ。正の整数である必要があります。 |
|
デバッグまたはより迅速なトレーニングのために、トレーニング例の数をこの値に切り捨てます。値 -1 は、モデルがすべてのトレーニングサンプルを使用することを意味します。正の整数または -1 である必要があります。 |
|
デバッグまたはより迅速なトレーニングのために、検証例の数をこの値に切り捨てます。値 -1 は、モデルがすべての検証サンプルを使用することを意味します。正の整数または -1 である必要があります。 |
|
トークン化後の入力シーケンスの最大合計長。これより長いシーケンスは切り捨てられます。-1 の場合、 |
|
検証チャネルがない場合、トレーニングデータと分割されたトレーニング検証の比率。0~1 の間で指定する必要があります。 |
|
検証データが存在しない場合、入力トレーニングデータのランダム分割がモデルで使用されるトレーニングデータおよび検証データに修正されます。整数である必要があります。 |
|
前処理に使用するプロセスの数。の場合 |
|
低ランク適応 (LoRA) r 値。これは、重み更新のスケーリング係数として機能します。正の整数である必要があります。 |
|
低ランク適応 (LoRA) アルファ値。重み更新のスケーリング係数として機能します。通常、 のサイズの 2~4 倍です |
|
低ランク適応 (LoRA ) レイヤーのドロップアウト値は、0~1 の正の浮動小数点数である必要があります。 |
|
の場合 |
|
の場合 |
Studio でモデルを微調整するときに、ハイパーパラメータ値を指定できます。詳細については、「Studio で基盤モデルを微調整する」を参照してください。
SDK を使用してモデルを微調整するときに、 SageMaker Pythonデフォルトのハイパーパラメータ値を上書きすることもできます。詳細については、「JumpStartEstimator クラスで公開されている基盤モデルを微調整する」を参照してください。