SageMaker AI トレーニングジョブ
Amazon SageMaker Training Jobs を使用して Amazon Nova モデルをカスタマイズするには、大規模言語モデルをファインチューニングする複雑なプロセスを簡素化するように設計された構造化ワークフローに従います。このエンドツーエンドのワークフローには、モデルトレーニング、評価、推論のためのデプロイが含まれます。詳細については、「Amazon SageMaker AI デベロッパーガイド」の「Amazon Nova モデルのカスタマイズ」を参照してください。
Amazon SageMaker AI を使用すると、独自のモデルをゼロからトレーニングすることなく、Amazon Nova などの既存の事前トレーニング済み基盤モデルをファインチューニングできます。以下のセクションでは、Amazon Nova 基盤モデルを使用する際の SageMaker AI のファインチューニングオプションについて詳しく説明します。
フルランクのファインチューニング
フルランクのファインチューニングでは、すべての基盤モデルパラメータが変更されて、特定のタスクまたはドメイン向けにパフォーマンスが最適化されます。この包括的なアプローチでモデルアーキテクチャ全体が更新され、アダプターベースの方法よりも深い適応が可能になります。詳細については、「基盤モデルをファインチューニングする」を参照してください。
フルランクファインチューニングの仕組み
フルランクのファインチューニング中、モデルはトレーニングデータを使用してすべてのパラメータを更新することで学習します。フルランクファインチューニングのこのプロセスは次のとおりです。
-
モデルがドメインの専門知識を構築できるようにします。
-
モデルの基盤表現を大幅に変更できるようにします。
-
アダプターベースの方法よりも多くの計算リソースが必要ですが、タスク固有のパフォーマンスを向上させることができます。
フルランクのファインチューニングを選択すべき場合
以下のシナリオでは、フルランクのファインチューニングを使用することをお勧めします。
-
LoRA PEFT ファインチューニングが、希望するパフォーマンスレベルに達しない場合。
-
深い専門知識を必要とする専門分野 (医療、法律、技術などの分野) の場合。
-
ユースケースに適した大規模で高品質のデータセットがある場合。
-
精度要件の方が計算コストの考慮より重要な場合。
-
ベースモデルの動作から大幅に逸脱する必要があるアプリケーションの場合。
低ランクアダプターのファインチューニング
ベースモデルのパフォーマンスを向上させる最も効果的でコスト効率の高い方法は、低ランクアダプターのパラメータ効率の高いファインチューニング (LoRA PEFT) を使用することです。LoRA PEFT の基本的な原則は、新しいタスクやドメインに合わせて更新する必要がある追加の重みの数が少ないことです。
LoRA PEFT は、低ランクのトレーニング可能な重みマトリックスを特定のモデルレイヤーに導入することで、基盤モデルを効率的にファインチューニングし、モデルの品質を維持しながらトレーニング可能なパラメータの数を減らします。LoRA PEFT アダプターは、推論中にモデルの重みを変更する軽量アダプターレイヤーを組み込み、元のモデルパラメータをそのまま維持することで、ベース基盤モデルを強化します。このアプローチは、最も費用対効果の高いファインチューニング手法の 1 つでもあります。詳細については、「アダプター推論コンポーネントを使用してモデルをファインチューニングする」を参照してください。
LoRA PEFT を選択すべき場合
以下のシナリオでは、LoRA PEFT を使用することをお勧めします。
-
通常、最初は、LoRA PEFT が迅速なトレーニング手順であるため、他のファインチューニング方法よりも適しています。
-
LoRA PEFT は、ベースモデルのパフォーマンスが既に満足できる場合に有効です。この場合、LoRA PEFT の目的は、テキスト要約や言語翻訳など、複数の関連タスクにわたってその機能を強化することです。LoRA PEFT の正則化プロパティは、過剰適合を防いだり、モデルが元のドメインの知識を「失う」リスクを軽減したりすることにも役立ちます。これにより、モデルは引き続き、多用途で、さまざまなアプリケーションに適応できます。
-
LoRA PEFT は、比較的小さなデータセットで命令のファインチューニングシナリオに使用できます。LoRA PEFT は、広範で大規模なデータセットよりも、より小さなタスク固有のデータセットでパフォーマンスが向上します。
-
Amazon Bedrock のカスタマイズデータ制限を超える大規模なラベル付きデータセットの場合、SageMaker AI で LoRA PEFT を使用してより良い結果を出すのに効果的です。
-
Amazon Bedrock ファインチューニングによって既に有望な結果が得られている場合、SageMaker AI の LoRA PEFT はモデルのハイパーパラメータをさらに最適化するのに役立ちます。
直接設定最適化
直接設定最適化 (DPO) は、ペア比較データを使用してモデル出力を人間の好みに合わせる基盤モデルの効率的なファインチューニング方法です。このアプローチは、より望ましいレスポンスに関する人間のフィードバックに基づいて、モデルの動作を直接最適化します。
DPO が重要な理由
大規模なデータでトレーニングされた基盤モデルは、事実として正しいとしても、特定のユーザーニーズ、組織の価値観、または安全要件に合致しない出力を生成することがよくあります。DPO は、次のことを行うことで、このギャップに対処します。
-
希望する動作パターンに合わせてモデルをファインチューニングします。
-
不適切な出力や有害なレスポンスを減らします。
-
モデルレスポンスをブランドボイスとコミュニケーションガイドラインに合わせます。
-
ドメインのエキスパートのフィードバックに基づいてレスポンスの品質を向上させます。
DPO の仕組み
DPO は、サンプルのペアを使用し、人間の評価者が 2 つのレスポンスのどちらが好ましいかを示します。モデルは、望ましくないレスポンスを最小限に抑えながら、望ましいレスポンスを生成する可能性を最大化することを学習します。次のいずれかの手法を使用して DPO を実装できます。
-
フルランク DPO: すべてのモデルパラメータを更新して、望ましいレスポンスになるよう最適化します。
-
LoRA ベースの DPO: 軽量アダプターを使用して設定の調整を学習するため、必要な計算リソースが少なくなります。
DPO を選択すべき場合
以下のシナリオでは、DPO を使用することをお勧めします。
-
特定の人間の好みに合わせて調整する必要がある主観的な出力になるよう最適化する場合。
-
希望するレスポンスパターンに合わせてモデルのトーン、スタイル、またはコンテンツ特性を調整する場合。
-
ユーザーのフィードバックとエラー分析に基づいて、既存のモデルをターゲットを絞って改善する場合。
-
さまざまなユースケースで一貫した出力品質を維持する場合。
-
望ましいレスポンスパターンによる安全ガードレールを実装する場合。
-
無報酬の強化学習でトレーニングする場合。
-
グレード付きデータやラベル付きデータではなく、プリファレンスデータのみを使用する場合。
-
有益性、無害性、正直性など、微妙な調整タスクでモデルを改善する場合。
DPO は、望ましい出力と望ましくない出力を示す厳選されたプリファレンスデータセットを通じて、モデルの動作を反復的に改良するのに効果的です。メソッドにはフルランクのアプローチと LoRA ベースのアプローチをサポートする柔軟性があるため、計算リソースと特定の要件に基づいて最適な実装を選択できます。
蒸留
モデル蒸留は、大規模で高度なモデルから小規模で効率的なモデルに知識を転送する方法です。Amazon Nova モデルでは、より大きな「教師」モデル (Amazon Nova Pro や Amazon Nova Premier など) が、その機能をより小さな「生徒」モデル (Amazon Nova Lite や Amazon Nova Micro など) に渡します。これにより、より少ないリソースを使用しながら高いパフォーマンスを維持するカスタマイズされたモデルが作成されます。
SageMaker AI トレーニングジョブを使用してこれを完了する方法については、「Amazon Nova 蒸留」を参照してください。