カスタムモデルインポートを使用してモデルをインポートする - Amazon Bedrock

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

カスタムモデルインポートを使用してモデルをインポートする

カスタムモデルインポートは Amazon Bedrock のプレビューリリースであり、変更される可能性があります。

Amazon Bedrock でカスタムモデルを作成するには、カスタムモデルインポート機能を使用して、Amazon などの他の環境でカスタマイズした基盤モデルをインポートします SageMaker。例えば、Amazon で作成したモデルに、適切なモデルの重み SageMaker があるとします。そのモデルを Amazon Bedrock にインポートし、Amazon Bedrock の機能を活用してモデルに推論呼び出しを実行できるようになりました。

オンデマンドまたはプロビジョニングされたスループットでインポートするモデルを使用できます。InvokeModel または InvokeModelWithResponseStreamオペレーションを使用して、モデルに推論呼び出しを行います。詳細については、「API を使用して 1 つのプロンプトでモデルを呼び出します。」を参照してください。

注記

プレビューリリースでは、カスタムモデルインポートは米国東部 (バージニア北部) AWS リージョンでのみ利用できます。次の Amazon Bedrock 機能では、カスタムモデルインポートを使用できません。

  • Agents for Amazon Bedrock

  • Amazon Bedrock のナレッジベース

  • Amazon Bedrock のガードレール

  • バッチ推論

  • AWS CloudFormation

カスタムモデルインポートを使用する前に、まずクォータのImported models per accountクォータ引き上げをリクエストする必要があります。詳細については、「Requesting a quota increase」(クォータ引き上げのリクエスト) を参照してください。

カスタムモデルインポートを使用すると、次のパターンをサポートするカスタムモデルを作成できます。

  • 微調整または継続的な事前トレーニングモデル — 独自のデータを使用してモデルの重みをカスタマイズできますが、ベースモデルの設定は保持できます。

  • 適応 モデルが適切に一般化されないユースケースに合わせて、モデルをドメインにカスタマイズできます。ドメイン適応は、ターゲットドメインを一般化するようにモデルを変更し、価格を適切に一般化するモデルを作成したい金融業界など、ドメイン間の不一致に対処します。もう 1 つの例は、言語の適応です。例えば、モデルをカスタマイズして、ポルトガル語またはタミル語でレスポンスを生成できます。ほとんどの場合、これには使用しているモデルの語彙の変更が含まれます。

  • ゼロから事前トレーニング済み — モデルの重みと語彙をカスタマイズするだけでなく、注意ヘッドの数、非表示のレイヤー、コンテキストの長さなどのモデル設定パラメータを変更することもできます。トレーニング後の量子化を使用するか、ベースとアダプターの重みからマージされたモデルを作成することで、精度を下げることができます。

サポートされているアーキテクチャ

インポートするモデルは、次のいずれかのアーキテクチャである必要があります。

  • Mistral — スライディングウィンドウアテンション (SWA) とグループ化されたクエリアテンション (GQA) のオプションを備えたデコーダーのみの Transformer ベースのアーキテクチャ。詳細については、Hugging Face ドキュメントの「Mistral」を参照してください。

  • Flan — T5 アーキテクチャの拡張バージョン、エンコーダーデコーダーベースのトランスフォーマーモデル。詳細については、Hugging Face ドキュメントFlan T5の「」を参照してください。

  • Llama 2 および Llama3 — グループ化クエリアテンション (GQA) Llamaを使用した の改善バージョン。詳細については、Hugging Face ドキュメントLlama 3Llama 2「」および「」を参照してください。

インポートソース

Amazon Bedrock コンソールでモデルインポートジョブを作成して、Amazon Bedrock にモデルをインポートします。ジョブでは、モデルファイルのソースの Amazon S3 URI を指定します。または、Amazon でモデルを作成した場合は SageMaker、 SageMaker モデルを指定できます。モデルトレーニング中、インポートジョブはモデルのアーキテクチャを自動的に検出します。

Amazon S3 バケットからインポートする場合は、モデルファイルをHugging Face重み形式で指定する必要があります。Hugging Face トランスフォーマーライブラリを使用してファイルを作成できます。モデルのモデルファイルを作成するにはLlama、「vert_llama_weights_to_hf.py」を参照してください。Mistral AI モデルのファイルを作成するには、「vert_mistral_weights_to_hf.py」を参照してください。

Amazon S3 からモデルをインポートするには、Hugging Face トランスフォーマーライブラリが作成する以下のファイルが必要です。

  • .safetensorSafesensor 形式のモデルの重み。セーフテンソルは、モデルの重みHugging Faceをテンソルとして保存する によって作成された形式です。モデルのテンソルは、拡張子 のファイルに格納する必要があります.safetensors。詳細については、「Safetensors」を参照してください。モデルの重みをセーフテンソル形式に変換する方法については、「重みをセーフテンソルに変換する」を参照してください。

    注記

    現在、Amazon Bedrock は FP32 および FP16 精度のモデル重みのみをサポートしています。Amazon Bedrock は、モデルに他の精度を指定した場合、モデルの重みを拒否します。

  • config.json — 例については、LlamaConfig「」および「」を参照してくださいMistralConfig

  • tokenizer_config.json — 例については、「」を参照してくださいLlamaTokenizer

  • tokenizer.json

  • tokenizer.model

モデルのインポート

次の手順は、既にカスタマイズしたモデルをインポートしてカスタムモデルを作成する方法を示しています。モデルインポートジョブには数分かかる場合があります。ジョブ中、Amazon Bedrock は互換性のあるモデルアーキテクチャを使用するモデルを検証します。

モデルインポートジョブを送信するには、次の手順を実行します。

  1. クォータのImported models per accountクォータ引き上げをリクエストします。詳細については、「Requesting a quota increase」(クォータ引き上げのリクエスト) を参照してください。

  2. Amazon S3 からモデルファイルをインポートする場合は、モデルを Hugging Face形式に変換します。

    1. モデルがMistral AIモデルの場合は、vert_mistral_weights_to_hf.py を使用します。

    2. モデルがLlamaモデルの場合は、「vert_llama_weights_to_hf.py」を参照してください。

    3. モデルファイルを AWS アカウントの Amazon S3 バケットにアップロードします。詳細については、「オブジェクトをバケットにアップロードする」を参照してください。

  3. Amazon Bedrock コンソールで、左側のナビゲーションペインから Foundation モデルでインポートされたモデルを選択します。

  4. [モデル] タブを選択します。

  5. [Import model (モデルのインポート)] を選択します。

  6. インポートタブで、モデルのインポートを選択してモデルのインポートページを開きます。

  7. 「モデルの詳細」セクションで、次の操作を行います。

    1. 「モデル名」にモデルの名前を入力します。

    2. (オプション) タグをモデルに関連付けるには、タグ セクションを展開し、新しいタグを追加 を選択します。

  8. ジョブ名のインポート セクションで、次の操作を行います。

    1. ジョブ名に、モデルインポートジョブの名前を入力します。

    2. (オプション) タグをカスタムモデルに関連付けるには、タグセクションを展開し、新しいタグを追加 を選択します。

  9. モデルインポート設定 で、次のいずれかを実行します。

    • Amazon S3 バケットからモデルファイルをインポートする場合は、Amazon S3 バケットを選択し、Amazon S3 S3 の場所を入力します。オプションで、S3 を参照 を選択してファイルの場所を選択できます。

    • Amazon からモデルをインポートする場合は SageMaker、Amazon SageMaker モデルを選択し、 SageMaker モデル にインポートするSageMaker モデルを選択します。

  10. [サービスアクセス] セクションで、次のいずれかの操作を行います。

    • 新しいサービスロールを作成して使用 - サービスロールの名前を入力します。

    • 既存のサービスロールを使用 - ドロップダウンリストからサービスロールを選択します。既存のサービスロールに必要なアクセス許可を確認するには、アクセス許可の詳細を表示 を選択します。

      適切なアクセス許可を持つサービスロールの設定の詳細については、「」を参照してくださいモデルインポート用のサービスロールの作成

  11. Import (インポート) を選択します。

  12. カスタムモデルページで、インポートされた を選択します。

  13. ジョブ セクションで、インポートジョブのステータスを確認します。選択したモデル名によって、モデルのインポートジョブが識別されます。モデルの Status の値が Complete の場合、ジョブは完了です。

  14. 以下を実行して、モデルのモデル ID を取得します。

    1. インポートされたモデルページで、モデルタブを選択します。

    2. ARN 列から、使用するモデルの ARN をコピーします。

  15. 推論呼び出しにはモデルを使用します。詳細については、「API を使用して 1 つのプロンプトでモデルを呼び出します。」を参照してください。このモデルは、オンデマンドまたはプロビジョニングされたスループットで使用できます。プロビジョニングされたスループットを使用するには、「モデル を使用する」の手順に従います。

    Amazon Bedrock テキストプレイグラウンド でモデルを使用することもできます。