[數據驅動D2E.創新之際:潛入探索GenAI工作坊](/--ohaDPsS6CvjqZCR6JiXA) 前置作業 ------------------------------------------ 前置步驟 - 使⽤您的AWS 帳⼾ 若您是在⾃⼰的帳⼾內操作,請完成以下步驟: • 步驟 1. 獲取 Amazon Bedrock 的訪問權限 • 步驟 2. (*建議) 建立⼀個 SageMaker Studio Domain • 步驟 3. 開始使⽤ Amazon Bedrock *注意: 您可以使⽤訪問密鑰和密鑰(AKSK)通過本地 IDE 訪問 AWS 服務,包括 Amazon Bedrock。 --- # 步驟 1. 獲取 Amazon Bedrock 的訪問權限 為工作坊準備您自己的 Amazon Web Services(AWS)帳戶,位於 us-east-1。 1. 跳轉到 Amazon Bedrock。如果這是您第一次使用 Amazon Bedrock,您需要先編 輯模型訪問權限。 2. 在左側控制面板上點擊 Model access,然後點擊屏幕右上方的 Manage model access 按鈕。 3. 您可以勾選方塊以請求訪問 Amazon Titan Embeddings G1 - Text、 Anthropic Claude、Anthropic Claude Instant、Titan Embeddings G1 - Text 和 Stability AI SDXL 1.0。勾選方塊,然後點擊 Request model access。 4. 一旦您獲得訪問權限,您將在訪問狀態列中看到 Access Granted,這意味著您可以 開始使用 Bedrock。 5. 您可以在 playground 中測試 Anthropic Claude v2 模型。您可以詢問像 Who is Andy Jassy? 這樣的問題來開始。 --- # 步驟 2. (建議) 建立 SageMaker Studio Domain 如果您已經有開啟的Domain,可以直接使用它;否則,請按照下面的步驟創建一個新的 Domain。 1. 跳轉到 SageMaker Studio,然後點擊 Create a SageMaker domain 2. 選擇 Quick setup 然後點擊 Set up 3. 需要大約 2 分鐘的時間進行設置。設置完成後,切換回 SageMaker Studio,然後點 擊 Open Studio 4. 您將看到如下截圖所示的 Studio。 5. 使用 SageMaker Studio 需要設定 Amazon Bedrock 的訪問權限。請先跳轉 到 Amazon SageMaker。在左側控制面板上點擊 Domains,然後在主面板上點選 < 您的 Domain 名稱>。 2. 點選 <您的使用者名稱>。 3. 在右側面板上複製角色名稱。角色名稱的格式為 sagemaker-immersion-day- SageMakerExecutionRole-xxxxxxxxxxxx。 4. 跳轉到 Amazon IAM。在左側控制面板上點選 Roles。 5. 搜尋您先前複製的角色名稱,即 sagemaker-immersion-day- SageMakerExecutionRole-xxxxxxxxxxxx。在主面板上點選角色名稱。 6. 點擊 Add permissions 然後點選 Create inline policy。 7. 點選頂部的 JSON,然後複製並粘貼下面的 IAM 政策(policy),覆蓋原先編輯器中 的舊政策。 然後在底部點擊 Next。 ``` { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:*", "Resource": "*" } ] } ``` 8. 將政策命名為 BedrockFullAccess,然後點擊 Create policy。 9. 再來需要建立信任關係(trust relationship)。點選 Trust relationships,然後 點擊 Edit trust policy。 10. 複製並粘貼下方的權限,覆蓋原先編輯器中的權限,然後在底部點擊 Update policy。 ``` { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } ``` # 步驟 3. 開始使用 Amazon Bedrock --- 1. 權限設置完成後,切換回 SageMaker Studio,然後點擊 Open Studio 2. 您將看到如下截圖所示的 Studio。 3. Take a break! 您可能想更改 SageMaker Studio 的背景主題。 4. 在頂部控制面板上點選 File,然後點選 New 及 Terminal。 5. 然後在終端機中複製並執行以下命令。 sudo yum install -y unzip 6. 將您下載的工作坊壓縮檔拖曳到 SageMaker Studio 中,確認檔案上傳完成後,請複 製並在終端機中執行以下命令。 unzip tw-bedrock-public-workshop.zip 7. 您可以開啟第一個筆記本 tw-bedrock-public-workshop/00- intro/bedrock_setup.ipynb 開始體驗 Amazon Bedrock! 注意: 在工作坊期間,請在啟動筆記本實例時選擇 Data Science 3.0。 您已完成前置步驟! # AWS SageMaker 資源清理步驟 ## 1. 刪除 SageMaker Studio Domain > **注意**: 必須先刪除 SageMaker Domain 下所有正在運行的程式,再將所有使用者刪除,才能刪除 SageMaker Domain。 刪除順序:**程式 → 使用者 → Domain** ### 1.1. 使用 AWS Console 刪除 SageMaker Domain 1. 前往 **Amazon SageMaker**,在左側控制面板點擊 **Domains**。 2. 在主面板上點選 **<您的 Domain 名稱>**,記住 SageMaker Domain 的建立時間戳記,以便後續刪除對應的 EFS 資源。 3. 點選 **<您的使用者名稱>**。 4. 刪除所有正在運行的程式: - 點選 **Delete app**。 - 點擊 **Yes, delete app**,鍵入 `delete` 確認。 5. 刪除運行的程式後,在底部點擊 **Edit**。 6. 點擊 **Delete user**。 7. 點擊 **Yes, delete user**,鍵入 `delete` 確認。 8. 返回 Domain 列表,選擇欲刪除的 **Domain name**,點擊 **Edit**。 9. 點擊 **Delete domain**。 10. 點擊 **Yes, delete my Domain**,鍵入 `delete` 確認。 11. 完成 SageMaker Domain 刪除。 ## 2. 刪除 EFS 資源 1. 前往 **EFS 頁面**。 2. 點選欲刪除的 **EFS File System ID**,點擊 **View details**。 - 若不確定哪個 EFS 需刪除,可透過 **SageMaker Domain 創建的時間戳記** 找到對應的 EFS 資源。 3. 點擊 **Delete**。 4. 複製貼上 **File System ID**,點擊 **Confirm** 確認。 5. 完成 EFS 資源刪除。 ## 3. 使用 AWS CLI 刪除 SageMaker Domain 若遇到 `Unable to delete UserProfile [] because Space(s) are associated with it.`,需透過 CLI 進行刪除。 ### 3.1. 列出所有 Domain ```sh aws --region us-east-1 sagemaker list-domains ``` ### 3.2. 列出所有 App ```sh aws --region us-east-1 sagemaker list-apps \ --domain-id-equals <Domain-ID> ``` ### 3.3. 依序刪除所有 App ```sh aws --region us-east-1 sagemaker delete-app \ --domain-id <Domain-ID> \ --app-name <APP-Name> \ --app-type JupyterServer \ --user-profile-name <User-Profile-Name> ``` ### 3.4. 列出所有 User Profile ```sh aws --region us-east-1 sagemaker list-user-profiles \ --domain-id-equals <Domain-ID> ``` ### 3.5. 依序刪除所有 User Profile ```sh aws --region us-east-1 sagemaker delete-user-profile \ --domain-id <Domain-ID> \ --user-profile-name <User-Profile-Name> ``` > **若仍出現 Space 相關錯誤**,需先刪除 Space: ### 3.6. 列出所有 Space ```sh aws --region us-east-1 sagemaker list-spaces \ --domain-id <Domain-ID> ``` ### 3.7. 刪除所有 Space ```sh aws --region us-east-1 sagemaker delete-space \ --domain-id <Domain-ID> \ --space-name <Space-Name> ``` 然後重新執行 **刪除 User Profile** 的指令。 ### 3.8. 刪除 Domain 及 EFS ```sh aws --region us-east-1 sagemaker delete-domain \ --domain-id <Domain-ID> \ --retention-policy HomeEfsFileSystem=Retain ``` --- 以上步驟可確保 AWS SageMaker 資源被完整刪除,避免產生額外費用。 ## 檢查 runinstance 費用來源 當發現 **runinstance 費用** 產生時,可依照以下步驟進行檢查: 1. **確認 SageMaker 相關服務是否關閉** - 檢查 **Studio 內的 App、User Profile、Space 和 Domain** 是否被刪除乾淨。 2. **檢查 Amazon SageMaker Studio Classic** - 確保沒有啟用中的 **Notebook** 。 3. **檢查 Inference 相關資源** - 檢查 **Endpoint 和 Models** 是否仍在運行。 ref: 1. https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-delete-resources.html 2. https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-run-and-manage-shut-down.html 3. https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-cleanup.html --- 以上步驟可確保 AWS SageMaker 資源被完整刪除,避免產生額外費用。 回到首頁 [數據驅動D2E.創新之際:潛入探索GenAI工作坊](/--ohaDPsS6CvjqZCR6JiXA)