本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
快速入門:建立 SageMaker 沙箱網域以在 Studio 中啟動 Amazon EMR 叢集
本節將引導您完成 Amazon SageMaker Studio 中完整測試環境的快速設定。您將建立一個新的 Studio 網域,讓使用者可以直接從 Studio 啟動新的 Amazon EMR 叢集。這些步驟提供範例筆記本,您可以連接到 Amazon EMR 叢集以開始執行Spark工作負載。使用此筆記本,您將使用 Amazon EMR Spark 分散式處理和 OpenSearch 向量資料庫建立擷取增強產生系統 (RAG)。
注意
若要開始使用,請使用具有 AWS 管理員權限的 AWS Identity and Access Management (IAM) 使用者帳戶登入管理主控台。如需如何註冊 AWS 帳戶和建立具有管理權限的使用者的資訊,請參閱Amazon SageMaker 前提。
若要設定您的 Studio 測試環境並開始執行Spark作業:
步驟 1:創建一個 SageMaker 域以在工作室中啟動 Amazon EMR 集群
在下列步驟中,您可以套用 AWS CloudFormation 堆疊來自動建立新 SageMaker網域。堆疊也會建立使用者設定檔,並設定所需的環境和權限。 SageMaker 網域經過設定,可讓您直接從工作室啟動 Amazon EMR 叢集。在此範例中,Amazon EMR 叢集是在 SageMaker 不使用身份驗證的相同 AWS
帳戶中建立的。您可以在 ge
注意
SageMaker 默認情況 AWS 區域 下,每個 AWS 帳戶允許 5 個 Studio 域。在建立堆疊之前,請確定您的帳戶在您所在地區中不超過 4 個網域。
請依照下列步驟設定 SageMaker 網域,以便從 Studio 啟動 Amazon EMR 叢集。
-
從
sagemaker-studio-emr
GitHub儲存庫下載此AWS CloudFormation 範本的原始檔案。 -
前往主 AWS CloudFormation 控台:https://console.aws.amazon.com/cloudformation
-
選擇 [建立堆疊],然後從下拉式功能表中選取 [使用新資源 (標準)]。
-
在步驟 1 中:
-
在「準備範本」區段中,選取「選擇現有範本」。
-
在 Specify template (指定範本) 區段中,選擇 Upload a template file (上傳範本檔案)。
-
上傳下載的 AWS CloudFormation 範本並選擇 [下一步]。
-
-
在步驟 2 中,輸入堆疊名稱,SageMakerDomainName然後選擇下一步。
-
在步驟 3 中,保留所有預設值,然後選擇下一步。
-
在步驟 4 中,核取方塊以確認資源建立,然後選擇建立堆疊。這會在您的帳戶和區域中建立一個 Studio 網域。
第 2 步:從工作室用戶界面啟動一個新的 Amazon EMR 集群
在下列步驟中,您可以從工作室使用者介面建立新的 Amazon EMR 叢集。
-
轉到 SageMaker 控制台,https://console.aws.amazon.com/sagemaker/
然後在左側菜單中選擇域。 -
按一下您的網域名稱 G enerativeAIDomain 以開啟網域詳細資訊頁面。
-
從使用者設定檔啟動工作室
genai-user
。 -
在左側導覽窗格中,移至「資料」,然後移至「Amazon EMR 叢集」。
-
在 Amazon EMR 叢集頁面上,選擇建立。選擇模板 SageMaker Studio 域沒有身份驗證由 AWS CloudFormation 堆棧EMR創建,然後選擇下一步。
-
輸入新 Amazon EMR 叢集的名稱。選擇性地更新其他參數,例如核心和主節點的執行個體類型、閒置逾時或核心節點數目。
-
選擇建立資源以啟動新的 Amazon EMR 叢集。
建立 Amazon EMR 叢集後,請按照「叢集」頁面上的EMR狀態進行操作。當狀態變更為時
Running/Waiting
,您的 Amazon EMR 叢集即可在工作室中使用。
步驟 3:將 JupyterLab 筆記本電腦 Connect 到 Amazon EMR 集群
在下列步驟中,您將筆記本連接 JupyterLab 到執行中的 Amazon EMR 叢集。在此範例中,您匯入可讓您使用 Amazon EMR Spark 分散式處理和 OpenSearch 向量資料庫建立擷取增強一代 (RAG) 系統的筆記本。
-
啟動 JupyterLab
從工作室啟動 JupyterLab 應用程式。
-
創建一個私人空間
如果尚未為應用程式建立空間, JupyterLab 請選擇 [建立 JupyterLab 空間]。輸入空間的名稱,並將空間保持為私人。將所有其他設定保留為預設值,然後選擇 [建立空間]。
否則,請運行您的 JupyterLab 空間以啟動 JupyterLab應用程序。
-
部署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)
核,然後運行每個單元格。警告
在 Lama 2 許可協議部分中,確保在繼續EULA之前接受 Llama2。
筆記型電腦部署了兩個模型
all-MiniLM-L6-v2 Models
,Llama 2
然後在上ml.g5.2xlarge
進行推論。模型的部署和端點的創建可能需要一些時間。
-
-
開啟主要筆記型電腦
在中 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。 -
選擇一個
PySpark
內核打開您的
Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb
筆記本,並確保您使用的是SparkMagic PySpark
內核。您可以在筆記本電腦的右上角切換內核。選擇目前的核心名稱以開啟核心選取模式,然後選擇SparkMagic PySpark
。 -
將筆記型電腦 Connect 至叢集
-
選擇筆記型電腦右上角的 [叢集]。此動作會開啟強制回應視窗,其中列出您有權存取的所有執行叢集。
-
選取叢集,然後選擇 [Connect]。新的認證類型選取強制回應視窗隨即開啟。
-
選擇無認證,然後選擇 Connect。
-
記事本儲存格會自動填入並執行。筆記型電腦儲存格會載入
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-typeNone
--language python -
一旦您成功建立連線,連線儲存格輸出訊息應該會顯示您的
SparkSession
詳細資料,包括叢集 ID、應YARN
用程式 ID,以及監視Spark工作的 Spark UI 連結。
-
您已準備好使用Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb
筆記本。此範例筆記本執行分散式 PySpark 工作負載,以使用 LangChain 和來建置RAG系統 OpenSearch。
步驟 4:清理 AWS CloudFormation 堆疊
完成後,請務必終止兩個端點並刪除 AWS CloudFormation 堆疊,以避免持續收費。刪除堆疊會清除堆疊所佈建的所有資源。
若要在您完成 AWS CloudFormation 堆疊時刪除
-
前往主 AWS CloudFormation 控台:https://console.aws.amazon.com/cloudformation
-
選取要刪除的堆疊。您可以按名稱搜索它,也可以在堆棧列表中找到它。
-
按一下 [刪除] 按鈕以完成刪除堆疊,然後再按一下 [刪除] 以確認這將刪除堆疊建立的所有資源。
等待堆疊刪除完成。這可能需要幾分鐘的時間。 AWS CloudFormation 自動清除堆疊範本中定義的所有資源。
-
確認堆疊所建立的所有資源都已刪除。例如,檢查是否有剩餘的 Amazon EMR 叢集。
移除模型的API端點
-
轉到 SageMaker 控制台:https://console.aws.amazon.com/sagemaker/
。 -
在左側導覽窗格中,選擇「推論」,然後選擇「端點」。
-
選取端點,
hf-allminil6v2-embedding-ep
然後在「動作」下拉式清單中選擇「刪除」。對端點重複此步驟meta-llama2-7b-chat-tg-ep
。