本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
完成先決條件
下列主題說明您在建立非同步端點之前必須完成的先決條件。這些先決條件包括正確存放模型成品、設定具有正確許可的 AWS IAM,以及選取容器映像。
完成先決條件
-
為 Amazon SageMaker AI 建立 IAM 角色。
非同步推論需要存取 Amazon S3 儲存貯體 URI。為了促進這一點,請建立可執行 SageMaker AI 的 IAM 角色,並具有存取 Amazon S3 和 Amazon SNS 的許可。使用此角色,SageMaker AI 可以在您的帳戶下執行,並存取您的 Amazon S3 儲存貯體和 Amazon SNS 主題。
您可以使用 IAM 主控台 適用於 Python (Boto3) 的 AWS SDK或 建立 IAM 角色 AWS CLI。以下範例說明如何建立 IAM 角色,並將必要政策連接到 IAM 主控台。
登入 AWS 管理主控台 並開啟位於 https://https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在 IAM 主控台的導覽窗格中,選擇角色,然後選擇建立角色。
-
對於 Select type of trusted entity (選取信任的實體類型),選擇 AWS service ( 服務)。
-
選擇您想要允許擔任此角色的服務。在此情況下,請選擇 SageMaker AI。然後選擇下一步:許可。
-
這會自動建立 IAM 政策,以授予相關服務的存取權,例如 Amazon S3、亞馬遜 ECR 和雲觀察 CloudWatch Logs。
-
-
選擇 下一步:標籤。
-
(選用) 藉由連接標籤做為鍵值對,將中繼資料新增至角色。如需在 IAM 中使用標籤的詳細資訊,請參閱標記 IAM 資源。
-
選擇下一步:檢閱。
-
輸入角色名稱。
-
如有可能,請輸入角色名稱或角色名稱後綴。您 AWS 帳戶中的角色名稱必須是唯一的。它們無法透過大小寫進行區分。例如,您無法建立名為
PRODROLE和prodrole的角色。由於其他 AWS 資源可能會參考角色,因此您無法在建立角色之後編輯角色的名稱。 -
(選用) 針對 Role description (角色說明),輸入新角色的說明。
-
檢閱角色,然後選擇建立角色。
請注意 SageMaker AI 角色 ARN。若要使用主控台尋找角色 ARN,請執行下列步驟:
-
移至 IAM 主控台:https://console.aws.amazon.com/iam/
-
選擇角色。
-
在搜尋欄位中輸入角色名稱,搜尋您剛建立的角色。
-
設定角色。
-
角色 ARN 位於總結頁面的頂端。
-
-
將 Amazon SageMaker AI、Amazon S3 和 Amazon SNS 許可新增至您的 IAM 角色。
建立角色後,請將 SageMaker AI、Amazon S3 和選用的 Amazon SNS 許可授予您的 IAM 角色。
在 IAM 主控台,選擇角色。在搜尋欄位中輸入角色名稱,以搜尋您建立的角色。
選擇您的角色。
接著,選擇連接政策。
-
Amazon SageMaker 非同步推論需要許可才能執行下列動作:
"sagemaker:CreateModel"、"sagemaker:CreateEndpointConfig"、"sagemaker:CreateEndpoint"和"sagemaker:InvokeEndpointAsync"。這些動作包含在
AmazonSageMakerFullAccess政策中。將此政策新增至您的 IAM 角色。在搜尋欄位中搜尋AmazonSageMakerFullAccess。選取AmazonSageMakerFullAccess。 選擇連接政策。
接著,選擇連接政策以新增 Amazon S3 許可。
選取建立政策。
選取
JSON標籤。新增下列政策聲明:
選擇下一步:標籤。
輸入政策名稱。
選擇建立政策。
重複您剛完成的相同步驟新增 Amazon S3 許可,以新增 Amazon SNS 許可。對於政策聲明,請連接以下項目:
-
將您的推論資料 (例如機器學習模型、範例資料) 上傳到 Amazon S3。
-
選取一個預先建立的 Docker 推論影像,或建立您自己的推論 Docker 映像。
SageMaker AI 為其內建演算法提供容器,並為一些最常見的機器學習架構提供預先建置的 Docker 映像,例如 Apache MXNet、TensorFlow、PyTorch 和 Chainer。如需可用 SageMaker AI 映像的完整清單,請參閱可用的深度學習容器映像
。如果您選擇使用 SageMaker AI 提供的容器,您可以透過在容器中設定環境變數來增加端點逾時和承載大小。要了解如何為每個架構設定不同的環境變數,請參閱建立一個非同步端點中的建立模型步驟。 如果現有的 SageMaker AI 容器都不符合您的需求,而且您沒有自己的現有容器,您可能需要建立新的 Docker 容器。請參閱具有自訂推論程式碼的容器,瞭解如何建立 Docker 映像的資訊。
-
建立一個 Amazon SNS 主題 (選用)
建立一個 Amazon Simple Notification Service (Amazon SNS) 主題,以傳送已完成處理請求的通知。Amazon SNS 是面向消息的應用程式的通知服務,多個訂閱者通過一系列傳輸協議 (包括 HTTP、Amazon SQS 和電子郵件) 請求和接收時間關鍵性消息的 “推送” 通知。當您使用
EndpointConfigAPI 指定AsyncInferenceConfig時,您可以在建立EndpointConfig物件時指定 Amazon SNS 主題。按照步驟建立並訂閱 Amazon SNS 主題。
-
使用 Amazon SNS 主控台建立一個主題。如需說明,請參閱 Amazon 簡便通知服務開發人員指南中的建立 Amazon SNS 主題。
訂閱此主題。如需指示,請參閱 Amazon 簡便通知服務開發人員指南中的訂閱 Amazon SNS 主題。
-
當您收到要求您確認訂閱主題的電子郵件時,請確認訂閱。
請記下主題的 Amazon Resource Name (ARN)。您建立的 Amazon SNS 主題是您 AWS 帳戶中的另一個資源,且具有唯一的 ARN。ARN 的格式如下:
arn:aws:sns:aws-region:account-id:topic-name
如需 Amazon SNS 主題的更多相關資訊,請參閱 Amazon SNS 開發人員指南。
-