クイックスタート: Studio で Amazon EMRクラスターを起動する SageMaker サンドボックスドメインを作成する - Amazon SageMaker

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

クイックスタート: Studio で Amazon EMRクラスターを起動する SageMaker サンドボックスドメインを作成する

このセクションでは、Amazon SageMaker Studio で完全なテスト環境のクイックセットアップについて説明します。ユーザーが Studio から直接新しい Amazon EMRクラスターを起動できるようにする新しい Studio ドメインを作成します。ステップでは、Amazon EMRクラスターに接続して実行を開始できるノートブックの例を示します。Spark ワークロード。このノートブックを使用して、Amazon Spark 分散処理と OpenSearch ベクトルデータベースを使用して、取得拡張生成システム (RAG) EMR を構築します。

注記

開始するには、管理者アクセス許可を持つ AWS Identity and Access Management (IAM) ユーザーアカウントを使用して AWS マネジメントコンソールにサインインします。アカウントにサインアップ AWS し、管理アクセス権を持つユーザーを作成する方法については、「」を参照してくださいAmazon の SageMaker 前提条件を完了する

ステップ 1: Studio で Amazon EMRクラスターを起動するための SageMaker ドメインを作成する

次のステップでは、 AWS CloudFormation スタックを適用して新しい SageMakerドメインを自動的に作成します。また、スタックはユーザープロファイルを作成し、必要な環境とアクセス許可を設定します。 SageMaker ドメインは、Studio から Amazon EMRクラスターを直接起動できるように設定されています。この例では、Amazon EMRクラスターは認証 SageMaker なしと同じ AWS アカウントで作成されます。Kerberos などのさまざまな認証方法をサポートする追加の AWS CloudFormation スタックは、 getting_started GitHub リポジトリにあります。

注記

SageMaker では、 AWS アカウントごとに AWS リージョン デフォルトで 5 Studio ドメインが許可されます。スタックを作成する前に、アカウントでリージョンにドメインが 4 つ以下であることを確認します。

Studio から Amazon EMRクラスターを起動するための SageMaker ドメインを設定するには、次の手順に従います。
  1. sagemaker-studio-emr GitHub リポジトリからこのAWS CloudFormation テンプレートの raw ファイルをダウンロードします。

  2. AWS CloudFormation コンソールに移動する: https://console.aws.amazon.com/cloudformation

  3. スタックの作成を選択し、ドロップダウンメニューから新しいリソース (標準) を選択します。

  4. ステップ 1

    1. テンプレートの準備セクションで、既存のテンプレートの選択 を選択します。

    2. [テンプレートの指定] セクションで、[テンプレートファイルのアップロード] を選択します。

    3. ダウンロードした AWS CloudFormation テンプレートをアップロードし、次へ を選択します。

  5. ステップ 2 で、スタック名を入力しSageMakerDomainName次へ を選択します。

  6. ステップ 3 で、すべてのデフォルト値を保持し、次へ を選択します。

  7. ステップ 4 で、 チェックボックスをオンにしてリソースの作成を確認し、スタックの作成 を選択します。これにより、アカウントとリージョンに Studio ドメインが作成されます。

ステップ 2: Studio UI から新しい Amazon EMRクラスターを起動する

次の手順では、Studio UI から新しい Amazon EMRクラスターを作成します。

  1. で SageMaker コンソールに移動https://console.aws.amazon.com/sagemaker/し、左側のメニューでドメインを選択します。

  2. ドメイン名 GenerativeAIDomain をクリックして、ドメインの詳細ページを開きます。

  3. ユーザープロファイル から Studio を起動しますgenai-user

  4. 左側のナビゲーションペインで、Data に移動し、Amazon EMR Clusters に移動します。

  5. Amazon EMRクラスターページで、「 の作成」を選択します。 AWS CloudFormation スタックによって作成されたテンプレート SageMaker Studio Domain No Auth EMR を選択し、Next を選択します。

  6. 新しい Amazon EMRクラスターの名前を入力します。必要に応じて、コアノードとマスターノードのインスタンスタイプ、アイドルタイムアウト、コアノードの数などの他のパラメータを更新します。

  7. リソースの作成を選択して、新しい Amazon EMRクラスターを起動します。

    Amazon EMRクラスターを作成したら、EMRクラスターページの ステータスに従います。ステータスが に変わるとRunning/Waiting、Amazon EMRクラスターは Studio で使用できるようになります。

ステップ 3: JupyterLab ノートブックを Amazon EMRクラスターに接続する

次の手順では、 のノートブック JupyterLab を実行中の Amazon EMRクラスターに接続します。この例では、ノートブックをインポートして、Amazon Spark 分散処理と OpenSearch ベクトルデータベースを使用して取得拡張生成 (RAG) EMR システムを構築できます。

  1. 起動 JupyterLab

    Studio からアプリケーションを起動します JupyterLab 。

  2. プライベートスペースを作成する

    JupyterLab アプリケーションのスペースを作成していない場合は、 JupyterLab スペースの作成 を選択します。スペースの名前を入力し、スペースをプライベート として保持します。他のすべての設定をデフォルト値のままにして、スペースの作成 を選択します。

    それ以外の場合は、 JupyterLab スペースを実行してアプリケーションを起動 JupyterLabします。

  3. LLM と埋め込みモデルをデプロイして推論する
    • トップメニューから、ファイル 新しい 、ターミナル を選択します。

    • ターミナルで、次のコマンドを実行します。

      wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb mkdir AWSGuides cd AWSGuides wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/AmazonSageMakerDeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/EC2DeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/S3DeveloperGuide.pdf

      これにより、Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynbノートブックがローカルディレクトリに取得され、3 つのPDFファイルがローカルAWSGuidesフォルダにダウンロードされます。

    • を開きlab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynbPython 3 (ipykernel)カーネルを保持し、各セルを実行します。

      警告

      Llama 2 ライセンス契約セクションで、続行するEULA前に Llama2 を必ず承諾してください。

      ノートブックは、推論ml.g5.2xlargeのために all-MiniLM-L6-v2 Modelsに 2 つのモデルLlama 2と をデプロイします。

      モデルのデプロイとエンドポイントの作成には時間がかかる場合があります。

  4. メインノートブックを開く

    で JupyterLabターミナルを開き、次のコマンドを実行します。

    cd .. wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb

    の左側のパネルに追加のLab_3_RAG_on_SageMaker_Studio_using_EMR.ipynbノートブックが表示されます JupyterLab。

  5. PySpark カーネルを選択する

    Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb ノートブックを開き、SparkMagic PySparkカーネルを使用していることを確認します。ノートブックの右上でカーネルを切り替えることができます。現在のカーネル名を選択してカーネル選択モーダルを開き、 を選択しますSparkMagic PySpark

  6. ノートブックをクラスターに接続する
    1. ノートブックの右上で、クラスター を選択します。このアクションは、アクセス許可を持つ実行中のすべてのクラスターを一覧表示するモーダルウィンドウを開きます。

    2. クラスターを選択し、接続 を選択します。新しい認証情報タイプの選択モーダルウィンドウが開きます。

    3. 認証情報なし を選択し、接続 を選択します。

      ノートブックの Amazon EMR認証情報 JupyterLabの選択を示すモーダル。
    4. ノートブックセルは自動的に入力され、実行されます。ノートブックセルは、Amazon EMRクラスターに接続する機能を提供するsagemaker_studio_analytics_extension.magics拡張機能をロードします。次に、%sm_analyticsマジックコマンドを使用して Amazon EMRクラスターと Spark アプリケーションへの接続を開始します。

      注記

      Amazon EMRクラスターへの接続文字列の認証タイプが に設定されていることを確認しますNone。これは、次の例--auth-type Noneの値で示されています。必要に応じて フィールドを変更できます。

      %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --verify-certificate False --cluster-id your-cluster-id --auth-type None --language python
    5. 接続を正常に確立すると、接続セルの出力メッセージに、クラスター ID、YARNアプリケーション ID、 へのリンクなどSparkSessionの詳細が表示されます。Spark をモニタリングする UI Spark ジョブ。

Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb ノートブックを使用する準備ができました。この例では、 LangChain と を使用してRAGシステムを構築するための分散 PySpark ワークロードを実行します OpenSearch。

ステップ 4: AWS CloudFormation スタックをクリーンアップする

完了したら、2 つのエンドポイントを終了し、 AWS CloudFormation スタックを削除して、継続的な料金が発生しないようにしてください。スタックを削除すると、スタックによってプロビジョニングされたすべてのリソースがクリーンアップされます。

AWS CloudFormation スタックの完了時にスタックを削除するには
  1. AWS CloudFormation コンソールに移動する: https://console.aws.amazon.com/cloudformation

  2. 削除するスタックを選択します。名前で検索することも、スタックのリストで検索することもできます。

  3. 削除ボタンをクリックしてスタックの削除を確定し、再度削除して、スタックによって作成されたすべてのリソースが削除されることを確認します。

    スタックの削除が完了するまで待ちます。これには数分かかる場合があります。 AWS CloudFormation は、スタックテンプレートで定義されているすべてのリソースを自動的にクリーンアップします。

  4. スタックによって作成されたすべてのリソースが削除されていることを確認します。例えば、Amazon EMRクラスターの残りを確認します。

モデルのAPIエンドポイントを削除するには
  1. SageMaker コンソールに移動します。 https://console.aws.amazon.com/sagemaker/

  2. 左側のナビゲーションペインで、推論 を選択し、次にエンドポイント を選択します。

  3. エンドポイントを選択しhf-allminil6v2-embedding-epアクションドロップダウンリストから削除を選択します。エンドポイント のステップを繰り返しますmeta-llama2-7b-chat-tg-ep