Amazon SageMaker JumpStart を使用して、インターネット接続なしで VPC モードで生成 AI 基盤モデルを使用する | アマゾン ウェブ サービス

Amazon SageMaker JumpStart を使用して、インターネット接続なしで VPC モードで生成 AI 基盤モデルを使用する | アマゾン ウェブ サービス

最近の進歩により、 generative AI、特定のビジネス上の問題を解決するために、さまざまな業界で生成 AI を使用する方法について多くの議論が行われています。 生成 AI は、会話、ストーリー、画像、ビデオ、音楽などの新しいコンテンツやアイデアを作成できる AI の一種です。 それはすべて、膨大な量のデータで事前トレーニングされた非常に大規模なモデルによって裏付けられており、一般的に「モデル」と呼ばれます。 基礎モデル (FM)。 これらの FM は、ブログ投稿の作成、画像の生成、数学の問題の解決、対話の実施、ドキュメントに基づいた質問への回答など、複数のドメインにまたがる幅広いタスクを実行できます。 FM はそのサイズと汎用性により、テキストの感情分析、画像の分類、傾向の予測などの特定のタスクを通常実行する従来の ML モデルとは異なります。

組織は、これらの FM の機能を利用したいと考えていますが、FM ベースのソリューションを独自の保護された環境で実行することも望んでいます。 グローバル金融サービス、ヘルスケア、ライフサイエンスなどの厳しく規制された分野で活動している組織には、VPC で環境を実行するための聴覚要件とコンプライアンス要件があります。 実際、多くの場合、これらの環境では、受信と送信の両方の意図しないトラフィックにさらされるのを避けるために、直接インターネット アクセスさえも無効になっています。

Amazon SageMaker ジャンプスタート は、アルゴリズム、モデル、ML ソリューションを提供する ML ハブです。 SageMaker JumpStart を使用すると、ML 実践者は、増え続ける最もパフォーマンスの高いオープンソース FM のリストから選択できます。 これらのモデルを独自の環境にデプロイする機能も提供します。 仮想プライベートクラウド(VPC).

この投稿では、JumpStart を使用して フラン-T5 XXL インターネット接続のない VPC 内のモデル。 次のトピックについて説明します。

  • インターネットにアクセスできない VPC で SageMaker JumpStart を使用して基盤モデルをデプロイする方法
  • VPC モードで SageMaker JumpStart モデルを介して FM をデプロイする利点
  • JumpStart 経由で基礎モデルの展開をカスタマイズする別の方法

FLAN-T5 XXL とは別に、JumpStart はさまざまなタスク向けにさまざまな基礎モデルを提供します。 完全なリストについては、こちらをご覧ください Amazon SageMaker JumpStar の開始方法.

ソリューションの概要

解決策の一環として、次の手順を説明します。

  1. インターネット接続なしで VPC をセットアップします。
  2. セットアップ Amazon SageMakerスタジオ 作成した VPC を使用します。
  3. インターネットにアクセスできない VPC で JumpStart を使用して、生成 AI Flan T5-XXL 基礎モデルをデプロイします。

以下は、ソリューションのアーキテクチャ図です。

ソルアーチ

このソリューションを実装するためのさまざまな手順を見てみましょう。

前提条件

この記事を進めるには、次のものが必要です。

インターネット接続なしで VPC をセットアップする

新しい CloudFormation スタックを作成する 使用して、 01_ネットワーク.yaml レンプレート。 このテンプレートは、新しい VPC を作成し、インターネット接続のない XNUMX つのアベイラビリティーゾーンにまたがる XNUMX つのプライベート サブネットを追加します。 次に、アクセスするためのゲートウェイ VPC エンドポイントをデプロイします。 Amazon シンプル ストレージ サービス (Amazon S3) と、SageMaker およびその他のいくつかのサービス用のインターフェイス VPC エンドポイントにより、VPC 内のリソースが AWS サービスに接続できるようになります。 AWS プライベートリンク.

などのスタック名を指定します。 No-Internetをクリックし、スタックの作成プロセスを完了します。

vpc スタック入力

この投稿の手順に従う場合、CloudFormation テンプレートはコストを削減するために XNUMX つのサブネット内にのみインターフェイス VPC エンドポイントを作成するため、このソリューションの可用性は高くありません。

VPC を使用して Studio をセットアップする

次を使用して別の CloudFormation スタックを作成します 02_sagemaker_studio.yamlこれにより、Studio ドメイン、Studio ユーザー プロファイル、IAM ロールなどのサポート リソースが作成されます。 スタックの名前を選択します。 この投稿では、次の名前を使用します SageMaker-Studio-VPC-No-Internet。 前に作成した VPC スタックの名前を指定します (No-Internet)として CoreNetworkingStackName パラメータを変更し、他のすべてをデフォルトのままにしておきます。

スタジオCFNスタック入力

スタックの作成が完了したことが AWS CloudFormation から報告されるまで待ちます。 Studio ドメインが SageMaker コンソールで使用できることを確認できます。

ドメインホーム

Studio ドメイン ユーザーがインターネットにアクセスできないことを確認するには、次のようにします。 SageMaker コンソールを使用して Studio を起動する。 選択してください File, 新作, ターミナル、インターネット リソースへのアクセスを試みます。 次のスクリーンショットに示すように、端末はリソースを待ち続け、最終的にはタイムアウトになります。

スタジオターミナル

これは、Studio がインターネットにアクセスできない VPC で動作していることを証明します。

JumpStart を使用して生成 AI 基盤モデル Flan T5-XXL をデプロイする

このモデルは、Studio 経由でも API 経由でもデプロイできます。 JumpStart は、Studio 内からアクセスできる SageMaker ノートブックを介してモデルをデプロイするためのすべてのコードを提供します。 この投稿では、Studio のこの機能を紹介します。

  • Studio のようこそページで、 ジャンプスタート 事前に構築された自動化されたソリューションの下にあります。

スタジオ-ようこそ-ページ

  • 以下からFlan-T5 XXLモデルを選択してください 基礎モデル.

js-モデル-ハブ

  • デフォルトでは、 配備します タブ。 を展開します。 展開構成 を変更するセクション hosting instance および endpoint name、または追加のタグを追加します。 を変更するオプションもあります S3 bucket location エンドポイントを作成するためにモデル アーティファクトが保存される場所。 この投稿では、すべてをデフォルト値のままにします。 予測を行うためにエンドポイントを呼び出すときに使用するエンドポイント名をメモしておきます。

デプロイ-js

  • 拡大する セキュリティの設定 セクションで、 IAM role エンドポイントを作成するため。 を指定することもできます VPC configurations 提供することにより、 subnets および security groups。 サブネット ID とセキュリティ グループ ID は、AWS CloudFormation コンソールの VPC スタックの [出力] タブから確認できます。 SageMaker JumpStart には、この構成の一部として少なくとも XNUMX つのサブネットが必要です。 サブネットとセキュリティ グループは、モデル コンテナーへのアクセスとモデル コンテナーからのアクセスを制御します。

js-デプロイ-セキュリティ設定

注意: SageMaker JumpStart モデルが VPC にデプロイされているかどうかに関係なく、モデルは常にネットワーク分離モードで実行されます。これにより、モデル コンテナが分離されるため、モデル コンテナに対してインバウンドまたはアウトバウンドのネットワーク呼び出しを行うことができなくなります。 VPC を使用しているため、SageMaker は指定された VPC を通じてモデル アーティファクトをダウンロードします。 ネットワーク分離でモデルコンテナを実行しても、SageMaker エンドポイントが推論リクエストに応答することは妨げられません。 サーバー プロセスはモデル コンテナーと並行して実行され、推論リクエストを転送しますが、モデル コンテナーにはネットワーク アクセスがありません。

  • 選択する 配備します モデルをデプロイします。 進行中のエンドポイント作成のほぼリアルタイムのステータスを確認できます。 エンドポイントの作成が完了するまでに 5 ~ 10 分かかる場合があります。

js-デプロイ-進行状況

フィールドの値を観察します モデルデータの場所 このページで。 すべての SageMaker JumpStart モデルは、SageMaker が管理する S3 バケット (s3://jumpstart-cache-prod-{region})。 したがって、JumpStart からどのモデルが選択されるかに関係なく、モデルはパブリックにアクセス可能な SageMaker JumpStart S3 バケットからデプロイされ、トラフィックがモデルをダウンロードするためにパブリック モデル ズー API に送信されることはありません。 これが、インターネットに直接アクセスできない VPC にエンドポイントを作成している場合でも、モデル エンドポイントの作成が正常に開始された理由です。

モデル アーティファクトをプライベート モデル動物園または独自の S3 バケットにコピーして、モデル ソースの場所をさらに制御および保護することもできます。 次のコマンドを使用してモデルをローカルにダウンロードできます。 AWSコマンドラインインターフェイス (AWS CLI):

aws s3 cp s3://jumpstart-cache-prod-eu-west-1/huggingface-infer/prepack/v1.0.2/infer-prepack-huggingface-text2text-flan-t5-xxl.tar.gz .
  • 数分後、エンドポイントが正常に作成され、ステータスが次のように表示されます。 サービスで。 選択してください Open Notebook セクションに Use Endpoint from Studio セクション。 これは、エンドポイントを迅速にテストするために JumpStart エクスペリエンスの一部として提供されるサンプル ノートブックです。

ジャンプスタート-デプロイ-完了

  • ノートブックで、次のように画像を選択します データサイエンス3.0 そしてカーネルは Pythonの3。 カーネルの準備ができたら、ノートブックのセルを実行してエンドポイントで予測を行うことができます。 ノートブックでは invoke_endpoint() からの API Python 用 AWS SDK 予測を立てるためです。 あるいは、 SageMaker Python SDKのpredict() 同じ結果を得る方法。

実行-デプロイ-ノートブック-ジャンプスタート

これで、インターネットにアクセスできない VPC 内で JumpStart を使用して Flan-T5 XXL モデルをデプロイする手順は終了です。

VPC モードで SageMaker JumpStart モデルをデプロイする利点

SageMaker JumpStart モデルを VPC モードでデプロイする利点の一部を以下に示します。

  • SageMaker JumpStart は公開モデル動物園からモデルをダウンロードしないため、インターネットにアクセスできない完全にロックダウンされた環境でも使用できます。
  • ネットワーク アクセスを制限し、SageMaker JumpStart モデルの範囲を絞ることができるため、チームが環境のセキュリティ体制を改善するのに役立ちます
  • VPC 境界により、エンドポイントへのアクセスはサブネットとセキュリティ グループを介して制限することもでき、これにより追加のセキュリティ層が追加されます。

SageMaker JumpStart を介して基盤モデルのデプロイメントをカスタマイズする別の方法

このセクションでは、モデルをデプロイする別の方法をいくつか紹介します。

好みの IDE から SageMaker JumpStart API を使用する

SageMaker JumpStart によって提供されるモデルでは、Studio にアクセスする必要はありません。 のおかげで、任意の IDE から SageMaker エンドポイントにデプロイできます。 JumpStart API。 この投稿で前に説明した Studio のセットアップ手順をスキップし、JumpStart API を使用してモデルをデプロイすることもできます。 これらの API は、VPC 構成も指定できる引数を提供します。 API は、 SageMaker Python SDK 自体。 詳細については、以下を参照してください。 事前トレーニング済みモデル.

SageMaker Studio から SageMaker JumpStart によって提供されるノートブックを使用する

SageMaker JumpStart は、モデルを直接デプロイするためのノートブックも提供します。 モデルの詳細ページで、 ノートを開く エンドポイントをデプロイするコードを含むサンプル ノートブックを開きます。 ノートが使っているのは、 SageMaker JumpStart 業界 API これにより、モデルのリストとフィルター、アーティファクトの取得、エンドポイントのデプロイとクエリが可能になります。 ユースケース固有の要件に応じてノートブック コードを編集することもできます。

ジャンプスタートノートブックを開く

リソースをクリーンアップする

チェックアウトします クリーンアップ.md ファイルを参照して、この投稿の一部として作成された Studio、VPC、およびその他のリソースを削除する詳細な手順を見つけてください。

トラブルシューティング

CloudFormation スタックの作成中に問題が発生した場合は、次を参照してください。 CloudFormationのトラブルシューティング.

まとめ

大規模な言語モデルを活用した生成 AI は、人々が情報から洞察を取得して適用する方法を変えています。 ただし、厳しく規制された領域で活動する組織は、より迅速なイノベーションを可能にすると同時に、そのような機能へのアクセス パターンを簡素化できる方法で生成 AI 機能を使用する必要があります。

この投稿で提供されているアプローチを試して、生成 AI 機能を既存の環境に埋め込みながら、インターネットにアクセスできない独自の VPC 内に維持することをお勧めします。 SageMaker JumpStart 基盤モデルの詳細については、以下を確認してください。


著者について

Amazon SageMaker JumpStart を使用して、インターネット接続なしで VPC モードで生成 AI 基盤モデルを使用する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。ヴィケシュ・パンディ AWS の機械学習スペシャリスト ソリューション アーキテクトとして、金融業界の顧客による生成 AI と ML のソリューションの設計と構築を支援しています。 仕事以外でも、ヴィケシュはさまざまな料理を試したり、アウトドア スポーツを楽しんでいます。

Amazon SageMaker JumpStart を使用して、インターネット接続なしで VPC モードで生成 AI 基盤モデルを使用する |アマゾン ウェブ サービス PlatoBlockchain データ インテリジェンス。垂直検索。あい。 メヘラン・ニコー は AWS のシニア ソリューション アーキテクトであり、英国のデジタル ネイティブ ビジネスと連携して目標達成を支援しています。 ソフトウェア エンジニアリングの経験を機械学習に応用することに情熱を持っており、エンドツーエンドの機械学習と MLOps の実践を専門としています。

タイムスタンプ:

より多くの AWS機械学習