快速入門:建立 SageMaker 沙盒網域以在 Studio 中啟動 Amazon EMR叢集 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

快速入門:建立 SageMaker 沙盒網域以在 Studio 中啟動 Amazon EMR叢集

本節將引導您快速設定 Amazon SageMaker Studio 中的完整測試環境。您將建立新的 Studio 網域,讓使用者直接從 Studio 啟動新的 Amazon EMR叢集。這些步驟提供範例筆記本,您可以連線至 Amazon EMR叢集以開始執行 Spark 工作負載。使用此筆記本,您將使用 Amazon EMR Spark 分散式處理和 OpenSearch 向量資料庫建置擷取增強型生成系統 (RAG)。

注意

若要開始使用,請使用具有管理員許可的 AWS Identity and Access Management (IAM) 使用者帳戶登入 AWS 管理主控台。如需如何註冊 AWS 帳戶並建立具有管理存取權的使用者的詳細資訊,請參閱 完成 Amazon SageMaker 先決條件

步驟 1:在 Studio 中建立用於啟動 Amazon EMR叢集的 SageMaker 網域

在下列步驟中,您會套用 AWS CloudFormation 堆疊來自動建立新 SageMaker網域。堆疊也會建立使用者設定檔,並設定所需的環境和許可。 SageMaker 網域設定為讓您直接從 Studio 啟動 Amazon EMR叢集。在此範例中,Amazon EMR叢集是在與 AWS SageMaker 沒有身分驗證相同的帳戶中建立的。您可以在 get_started GitHub 儲存庫中找到支援各種身分驗證方法的其他 AWS CloudFormation 堆疊,例如 Kerberos。

注意

SageMaker 根據 AWS 區域 預設,每個 AWS 帳戶允許 5 個 Studio 網域。在建立堆疊之前,請確定您的帳戶在您的區域中不超過 4 個網域。

請依照下列步驟,設定從 Studio 啟動 Amazon EMR叢集的 SageMaker 網域。
  1. sagemaker-studio-emr GitHub儲存庫下載此AWS CloudFormation 範本的原始檔案。

  2. 前往 AWS CloudFormation 主控台:https://console.aws.amazon.com/cloudformation

  3. 選擇建立堆疊,然後從下拉式選單中選擇使用新資源 (標準)

  4. 步驟 1 中:

    1. 準備範本區段中,選取選擇現有範本

    2. Specify template (指定範本) 區段中,選擇 Upload a template file (上傳範本檔案)

    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. 從使用者設定檔 啟動 Studiogenai-user

  4. 在左側導覽窗格中,前往資料,然後 Amazon EMR Clusters

  5. 在 Amazon EMR叢集頁面上,選擇建立 。選取 AWS CloudFormation 堆疊建立的範本 SageMaker Studio Domain No AuthEMR,然後選擇下一步。

  6. 輸入新 Amazon EMR叢集的名稱。選擇性地更新其他參數,例如核心和主節點的執行個體類型、閒置逾時或核心節點數量。

  7. 選擇建立資源以啟動新的 Amazon EMR叢集。

    建立 Amazon EMR叢集後,請遵循EMR叢集頁面上的狀態。當狀態變更為 時Running/Waiting,Amazon EMR叢集即可在 Studio 中使用。

步驟 3:將 JupyterLab 筆記本連接至 Amazon EMR叢集

在下列步驟中,您將 中的筆記本 JupyterLab 連接至執行中的 Amazon EMR叢集。在此範例中,您可以匯入筆記本,允許您使用 Amazon EMR Spark 分散式處理和 OpenSearch 向量資料庫建置擷取增強型生成 (RAG) 系統。

  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筆記本擷取至本機目錄,並將三個PDF檔案下載至本機AWSGuides資料夾。

    • 開啟 lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb,保留Python 3 (ipykernel)核心,然後執行每個儲存格。

      警告

      Llama 2 授權合約區段中,請務必先接受 Llama2,EULA再繼續。

      筆記本在 上部署兩個模型 Llama 2all-MiniLM-L6-v2 Models以進行ml.g5.2xlarge推論。

      模型的部署和端點的建立可能需要一些時間。

  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. 選擇無憑證,然後連接

      顯示筆記本 JupyterLab Amazon EMR憑證選擇的模型。
    4. 筆記本儲存格會自動填入並執行。筆記本儲存格會載入sagemaker_studio_analytics_extension.magics延伸模組,提供連線至 Amazon EMR叢集的功能。然後,它會使用%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. 成功建立連線後,您的連線儲存格輸出訊息應會顯示您的SparkSession詳細資訊,包括叢集 ID、YARN應用程式 ID 和 的連結 Spark 用來監控您 的 UI Spark 任務。

您已準備好使用Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb筆記本。此範例筆記本會執行分散式 PySpark 工作負載,以使用 LangChain 和 建置RAG系統 OpenSearch。

步驟 4:清除 AWS CloudFormation 堆疊

完成後,請務必終止兩個端點並刪除 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