Amazon Web Services ブログ

Amazon Bedrock にカスタムモデルをインポートする (プレビュー)

Amazon Bedrock では、主要な人工知能 (AI) 企業が提供する高性能な基盤モデル (FM) を利用できるため、生成 AI アプリケーションの構築とスケールする事が容易になります。これらのモデルの中には、特定のユースケースに合わせて微調整したりカスタマイズしたりできるウェイトが公開されているものもあります。ただし、カスタマイズされた FM を安全かつスケーラブルな方法で導入することは容易ではありません。

4月23日より、Amazon Bedrock では、サポートされているモデルアーキテクチャ (Meta Llama 2、Llama 3、 Mistral など) のカスタムウェイトをインポートし、オンデマンドモードを使用してカスタムモデルを提供する機能がプレビューで追加されました。Amazon SageMaker と Amazon Simple Storage Service (Amazon S3) から、 Hugging Face セーフテンサー形式のウェイト付きのモデルをインポートできます

この方法では、コード固有のデータセットで Llama 2 をさらにトレーニングして作成された Code Llama 2 のコード専用バージョンなど、既存のカスタマイズモデルで Amazon Bedrock を使用できます。また、データを使用して独自のビジネスケースに合わせてモデルを微調整し、生成されたモデルを Amazon Bedrock にインポートすることもできます。

これが実際にどのように機能するかを見てみましょう。

カスタムモデルを Amazon Bedrock に持ち込む
Amazon Bedrock コンソールでは、ナビゲーションペインの [基盤モデル] セクションから [インポートされたモデル ] を選択します。これで、Amazon Simple Storage Service (Amazon S3) バケットまたは Amazon SageMaker モデルからモデルウェイトをインポートすることで、カスタムモデルを作成できます。

S3 バケットからモデルウェイトをインポートすることにしました。別のブラウザタブでは、セーフテンソル形式でウェイトを提供するこのプルリクエスト(PR)を使用して、 Hugging Face Web サイトから MistralLite モデルをダウンロードしますプルリクエストは現在マージの準備が整っているため、これを読んだ時点でメインブランチの一部になっている可能性があります。MistralLite は微調整された Mistral-7B-v0.1言語モデルで、最大32K トークンのロングコンテキストを処理する機能が強化されています。

ダウンロードが完了したら、モデルをインポートするのと同じ AWS リージョンの S3 バケットにファイルをアップロードします。Amazon S3 コンソールにある MistralLite モデルファイルは次のとおりです。

コンソールのスクリーンショット。

Amazon Bedrock コンソールに戻って、モデルの名前を入力し、提案されたインポートジョブ名はそのままにしておきます。

コンソールのスクリーンショット。

モデルインポート設定でモデルウェイトを選択し、S3を参照してモデルウェイトをアップロードした場所を選択します。

コンソールのスクリーンショット。

Amazon Bedrock に S3バケットのファイルへのアクセスを許可するために、新しい AWS ID およびアクセス管理(IAM)サービスロールを作成して使用するオプションを選択します。「View permissions details」リンクを使用して、ロールに何が含まれるかを確認します。そして、ジョブを提出します。

約 10 分後、インポートジョブは完了します。

コンソールのスクリーンショット。

これで、インポートされたモデルがコンソールに表示されます。リストには、モデルの Amazon リソースネーム (ARN) と作成日も表示されます。

コンソールのスクリーンショット。

モデルを選択すると、モデルファイルの S3 の場所など、詳細情報を取得できます。

コンソールのスクリーンショット。

モデルの詳細ページで、[Open in Playground] を選択して、コンソールでモデルをテストします。テキストプレイグラウンドでは、モデルのプロンプトテンプレートを使用して質問を入力します。

<|prompter|>LLM の長いコンテキストをサポートするうえでの主な課題は何か?</s><|assistant|>

MistralLite のインポートモデルは、これらの課題のいくつかについて素早く答え、説明してくれます。

コンソールのスクリーンショット。

Playground では、温度や最大長などの設定を使用してユースケースに合わせてレスポンスを調整したり、インポートしたモデルに固有のストップシーケンスを追加したりできます。

API リクエストの構文を確認するために、Playground の右上にある 3 つの小さな縦の点を選択します。

コンソールのスクリーンショット。

View API syntax を選択し、AWS コマンドラインインターフェイス (AWS CLI) を使用してコマンドを実行します

aws bedrock-runtime invoke-model \
--model-id arn:aws:bedrock:us-east-1:123412341234:imported-model/a82bkefgp20f \
--body "{\"prompt\":\"<|prompter|>What are the main challenges to support a long context for LLM?</s><|assistant|>\",\"max_tokens\":512,\"top_k\":200,\"top_p\":0.9,\"stop\":[],\"temperature\":0.5}" \
--cli-binary-format raw-in-base64-out \
--region us-east-1 \
invoke-model-output.txt

出力はプレイグラウンドで得たものと似ています。ご覧のように、インポートされたモデルの場合、モデル ID はインポートされたモデルの ARN です。モデル ID を使用して、インポートしたモデルを AWS CLI と AWS SDK で呼び出すことができます。

知っておくべきこと
サポートされているモデルアーキテクチャの独自のウェイトを、米国東部 (バージニア北部) AWS リージョンの Amazon Bedrock に持ち込むことができます。モデルのインポート機能は現在プレビュー版です。

カスタムウェイトを使用する場合、Amazon Bedrock はモデルをオンデマンドモードで提供し、使用した分のみお支払いいただき、時間ベースの契約は不要です。料金に関する詳細については、「Amazon Bedrock pricing」を参照してください。

モデルのインポート機能は AWS Identity and Access Management (IAM) を使用して管理され、この機能を必要とする組織内のロールにのみ許可できます。

今回の発表により、セキュリティとプライバシーが組み込まれたカスタムモデルを使用して、生成 AI アプリケーションの構築とスケールする事が容易になりました。

詳細はこちら。

Danilo

原文はこちらです。