基盤モデルを微調整する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

基盤モデルを微調整する

Amazon SageMaker Canvas からアクセスできる基盤モデルは、さまざまな汎用タスクに役立ちます。ただし、特定のユースケースがあり、独自のデータに基づいてレスポンスをカスタマイズしたい場合は、基盤モデルを微調整できます。

基盤モデルを微調整するには、サンプルプロンプトとモデルレスポンスで構成されるデータセットを指定します。次に、データに基づいて基盤モデルをトレーニングします。最後に、微調整された基盤モデルは、より具体的なレスポンスを提供できます。

次のリストには、Canvas で微調整できる基盤モデルが含まれています。

  • Titan Express

  • Falcon-7B

  • Falcon-7B-Instruct

  • Falcon-40B-Instruct

  • Falcon-40B

  • Flan-T5-Large

  • Flan-T5-Xl

  • Flan-T5-Xxl

  • MPT-7B

  • MPT-7B-Instruct

モデルを微調整しながら、Canvas アプリケーションの各基盤モデルに関する詳細情報にアクセスできます。詳細については、「モデルの微調整」を参照してください。

このトピックでは、Canvas で基盤モデルを微調整する方法について説明します。

開始する前に

基盤モデルを微調整する前に、Canvas の R eady-to-use モデルのアクセス許可と Amazon Bedrock との信頼関係を持つ AWS Identity and Access Management 実行ロールがあることを確認してください。これにより、Amazon Bedrock は基盤モデルを微調整しながらロールを引き受けることができます。

Amazon SageMaker ドメインの設定または編集中に、1) Canvas R eady-to-use モデルの設定許可を有効にし、2) Amazon Bedrock との信頼関係をア SageMaker タッチする IAM 実行ロールである Amazon Bedrock ロールを作成または指定する必要があります。これらの設定の実行に関する詳細については、「Amazon SageMaker Canvas を設定するための前提条件」を参照してください。

独自の IAM 実行ロールを使用したい場合は、Amazon Bedrock ロールを手動で設定できます (ユーザーに代わって で SageMaker 作成させる代わりに)。Amazon Bedrock との独自の IAM 実行ロールの信頼関係の設定の詳細については、「」を参照してください基盤モデルを微調整するアクセス許可をユーザーに付与する

また、大規模言語モデル (LLMs) を微調整するためにフォーマットされたデータセットも必要です。以下は、データセットの要件のリストです。

  • データセットは表形式である必要があり、少なくとも 2 つのテキストデータ列が含まれている必要があります。1 つは入力列 (モデルへのプロンプト例を含む)、もう 1 つは出力列 (モデルからのレスポンス例を含む) です。

    例を次に示します。

    入力 出力

    配送条件を教えてください。

    50 USD を超えるすべての注文で送料無料です。50 USD 未満の注文には、5.99 USD の配送料がかかります。

    アイテムを返すにはどうすればよいですか?

    アイテムを返送するには、返品センターにアクセスして指示に従ってください。注文番号と返品の理由を入力する必要があります。

    製品に問題がある。どうすればよいですか?

    カスタマーサポートチームにお問い合わせください。問題のトラブルシューティングをお手伝いいたします。

  • データセットには、少なくとも 100 個のテキストペア (対応する入力項目と出力項目の行) を含めることをお勧めします。これにより、基盤モデルに微調整に十分なデータがあることが保証され、レスポンスの精度が向上します。

  • 各入力および出力項目には、最大 512 文字を含める必要があります。基盤モデルを微調整すると、それより長いものは 512 文字に減らされます。

Amazon Bedrock モデルを微調整するときは、Amazon Bedrock のクォータに従う必要があります。詳細については、「Amazon Bedrock ユーザーガイド」の「モデルカスタマイズクォータ」を参照してください。

Canvas の一般的なデータセットの要件と制限の詳細については、「」を参照してくださいデータセットを作成する

基盤モデルの微調整

Canvas アプリケーションで次のいずれかの方法を使用して、基盤モデルを微調整できます。

  • 「生成」で、基盤モデルとのコンテンツチャットを抽出して要約しながら、「微調整」モデルアイコン () を選択します

  • 基盤モデルとのチャット中にレスポンスを 2 回以上再生成した場合、Canvas ではモデル を微調整するオプションが提供されます。次のスクリーンショットは、これがどのようなものかを示しています。

    チャットに表示される Fine-tune 基盤モデルオプションのスクリーンショット。
  • マイモデルページで、新しいモデル を選択し、基盤モデル 微調整 を選択して新しいモデルを作成できます。

  • R eady-to-use モデルのホームページで、独自のモデルの作成 を選択し、新しいモデルの作成ダイアログボックスで、基盤モデルの微調整 を選択します。

  • Data Wrangler タブでデータセットを参照するときに、データセットを選択し、モデルの作成 を選択できます。次に、基盤モデル を微調整を選択します

モデルの微調整を開始したら、次の操作を行います。

データセットを選択する

モデルを微調整する選択タブで、基盤モデルをトレーニングするデータを選択します。

既存のデータセットを選択するか、 開始する前にセクションに記載されている要件を満たす新しいデータセットを作成します。データセットの作成方法の詳細については、「」を参照してくださいデータセットを作成する

データセットを選択または作成し、先に進む準備ができたら、データセットを選択 を選択します。

モデルの微調整

データを選択したら、トレーニングを開始し、モデルを微調整する準備が整います。

Fine-tune タブで、次の操作を行います。

  1. (オプション) 「基盤モデルの詳細」を選択して、各モデルに関する詳細情報にアクセスし、デプロイする基盤モデルを決定するのに役立ちます。

  2. 最大 3 つのベースモデルを選択 で、ドロップダウンメニューを開き、トレーニングジョブ中に微調整する基盤モデルを最大 3 つ (最大 2 JumpStart つのモデルと 1 つの Amazon Bedrock モデル) 確認します。複数の基盤モデルを微調整することで、パフォーマンスを比較し、最終的にはユースケースに最適なモデルをデフォルトモデルとして選択できます。デフォルトモデルの詳細については、「」を参照してくださいモデルリーダーボードでモデル候補を表示する

  3. 入力列の選択 で、サンプルモデルプロンプトを含むデータセット内のテキストデータの列を選択します。

  4. 出力列を選択 で、サンプルモデルレスポンスを含むデータセット内のテキストデータの列を選択します。

  5. (オプション) トレーニングジョブの詳細設定を行うには、モデル の設定 を選択します。高度なモデル構築設定の詳細については、「」を参照してください高度なモデル構築設定

    モデルの設定ポップアップウィンドウで、次の操作を行います。

    1. ハイパーパラメータ では、選択したモデルごとにエポック数 バッチサイズ 学習レート 学習レートのウォームアップステップを調整できます。これらのパラメータの詳細については、 JumpStart ドキュメントの「ハイパーパラメータ」セクションを参照してください。

    2. データ分割 ではトレーニングセット検証セット の間でデータを分割する方法の割合を指定できます。

    3. 最大ジョブランタイム では、Canvas がビルドジョブを実行する最大時間を設定できます。この機能は基盤 JumpStart モデルでのみ使用できます。

    4. 設定が完了したら、保存 を選択します。

  6. 微調整を選択して、選択した基盤モデルのトレーニングを開始します。

微調整ジョブが開始されたら、ページを離れることができます。マイモデルページでモデル準備完了と表示されると、使用できる状態になり、微調整されたモデルのパフォーマンスを分析できるようになりました。

微調整されたモデルを分析する

微調整されたモデルの分析タブで、モデルのパフォーマンスを確認できます。

このページの概要タブには、多重度スコアと損失スコア、およびトレーニング中のモデルの経時的な改善を視覚化する分析が表示されます。次のスクリーンショットは、概要タブを示しています。

Canvas で微調整されたモデルの分析タブのスクリーンショット。多重度曲線と損失曲線を示しています。

このページには、次の視覚化が表示されます。

  • Perplexity Curve は、モデルがシーケンス内の次の単語をどの程度予測しているか、またはモデルの出力がどの程度文法的であるかを測定します。理想的には、トレーニング中にモデルが改善されると、スコアが低下し、時間の経過とともに曲線が小さくなり、フラットになります。

  • 損失曲線は、正しい出力とモデルの予測出力の差を定量化します。時間の経過とともに減少してフラット化する損失曲線は、モデルが正確な予測を行う能力を向上させていることを示します。

高度なメトリクスタブには、モデルのハイパーパラメータと追加のメトリクスが表示されます。次のスクリーンショットのようになります。

Canvas で微調整されたモデルのアドバンストメトリクスタブのスクリーンショット。

高度なメトリクスタブには、次の情報が含まれます。

  • Explainability セクションには、ハイパーパラメータ が含まれています。ハイパーパラメータ は、モデルの微調整をガイドするためにジョブの前に設定された値です。モデルの微調整 セクションのモデルの高度な設定でカスタムハイパーパラメータを指定しなかった場合、Canvas はデフォルトのハイパーパラメータを選択します。

    JumpStart モデルの場合、モデルによって生成された概要の品質を評価する高度なメトリクス ROUGE (Recall-Oriented Under™ for Gisting Evaluation) も確認できます。これは、モデルがパッセージの主なポイントをどの程度うまく要約できるかを測定します。

  • Artifacts セクションには、微調整ジョブ中に生成されたアーティファクトへのリンクが表示されます。Amazon S3 に保存されているトレーニングデータと検証データ、およびモデル評価レポートへのリンクにアクセスできます (詳細については、次の段落を参照してください)。

モデル評価のインサイトをさらに得るには、SageMaker Clarify を使用して生成されたレポートをダウンロードします。これは、モデルとデータのバイアスを検出するのに役立つ機能です。まず、ページの下部にある評価レポートの生成を選択してレポートを生成します。レポートが生成されたら、レポートのダウンロード を選択するか、アーティファクト セクションに戻ることで、レポート全体をダウンロードすることができます。

Python コードで微調整ジョブをレプリケートする方法を示す Jupyter Notebook にアクセスすることもできます。これを使用して、微調整ジョブをレプリケートまたはプログラムで変更したり、Canvas がモデルを微調整する方法をより深く理解したりできます。モデルノートブックとそのアクセス方法の詳細については、「」を参照してくださいモデルノートブックをダウンロードする

微調整されたモデルの分析タブで情報を解釈する方法の詳細については、トピック「」を参照してくださいAmazon SageMaker Canvas でモデルのパフォーマンスを評価する

概要高度なメトリクスタブを分析した後、モデルリーダーボード を開くこともできます。リーダーボードには、ビルド中にトレーニングされたベースモデルのリストが表示されます。損失スコアが最も低いモデルは、最もパフォーマンスの高いモデルと見なされ、分析タブに分析が表示されるモデルであるデフォルトモデル として選択されます。テストとデプロイはデフォルトモデルでのみ可能です。モデルリーダーボードとデフォルトモデルの変更方法の詳細については、「」を参照してくださいモデルリーダーボードでモデル候補を表示する

チャットで微調整されたモデルをテストする

微調整されたモデルのパフォーマンスを分析した後、それをテストしたり、そのレスポンスをベースモデルと比較したりできます。コンテンツの生成、抽出、要約機能で、チャットで微調整されたモデルをテストできます。

次のいずれかの方法を選択して、微調整されたモデルでチャットを開始します。

  • 微調整されたモデルの分析タブで、R eady-to-use 基盤モデル でテスト を選択します。

  • Canvas R eady-to-use モデルページで、コンテンツの生成、抽出、要約を選択します。次に、新しいチャットを選択し、テストする微調整されたモデルのバージョンを選択します。

モデルはチャットで起動し、他の基盤モデルと同じように操作できます。チャットにモデルを追加し、それらの出力を比較できます。チャットの機能の詳細については、「」を参照してください生成系 AI を基盤モデルと併用する

微調整されたモデルの運用化

Canvas でモデルを微調整した後、モデルをモデル SageMaker レジストリに登録して、組織の MLOps プロセスに統合できます。詳細については、「モデルレジストリに SageMaker モデルバージョンを登録する」を参照してください。

重要

登録できるのは、Amazon Bedrock JumpStart ベースのモデルではなく、微調整されたモデルのみです。