

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

# 使用 Amazon SageMaker 無伺服器推論來部署模型
<a name="serverless-endpoints"></a>

Amazon SageMaker 無伺服器推論是專門建置的推論選項，可讓您部署與擴展機器學習 (ML) 模型，而無需設定或管理任何基礎設施。隨需無伺服器推論非常適合在流量陡增之間有閒置期間且可以容忍冷啟動的工作負載。無伺服器端點會自動啟動運算資源，並根據流量將其縮減與擴增，無需選擇執行個體類型或管理擴展政策。這消除了選取和管理伺服器的無差別繁重工作。無伺服器推論 AWS Lambda 與整合，為您提供高可用性、內建容錯能力和自動擴展。如果您有不常或無法預測的流量模式，使用按使用付費模型時，無伺服器推論是一個具成本效益的選項。在沒有請求的時候，無伺服器推論會將您的端點縮小至 0，協助您將成本降至最低。如需隨需無伺服器推論定價的更多相關資訊，請參閱 [Amazon SageMaker](https://aws.amazon.com/sagemaker/pricing/) 定價。

或者，您還可以將佈建並行與無伺服器推論搭配使用。當流量中您有可預測的爆量時，具備佈建並行的無伺服器推論是一個具成本效益的選項。佈建並行允許您藉由保持端點溫暖，在無伺服器端點上部署模型，並具有可預測的效能和高可擴展性。SageMaker AI 可確保針對您配置的佈建並行數量，初始化運算資源，並準備好在幾毫秒內回應。對具有佈建並行的無伺服器推論，您要支付用於處理推論請求的運算容量 (以毫秒計費) 以及處理的資料量。您也可以基於設定的記憶體、佈建的持續時間和已啟用的並行量來支付佈建並行使用量的費用。如需具有佈建並行之無伺服器推論定價的更多相關資訊，請參閱 [Amazon](https://aws.amazon.com/sagemaker/pricing/) SageMaker 定價。

您可以將無伺服器推論與 MLOps 管道整合，以簡化機器學習 (ML) 工作流程，並且可以使用無伺服器端點來託管在[模型註冊表](model-registry.md)中註冊的模型。

無伺服器推論通常在 21 AWS 區域提供：美國東部 （維吉尼亞北部）、美國東部 （俄亥俄）、美國西部 （加利佛尼亞北部）、美國西部 （奧勒岡）、非洲 （開普敦）、亞太區域 （香港）、亞太區域 （孟買）、亞太區域 （東京）、亞太區域 （首爾）、亞太區域 （大阪）、亞太區域 （新加坡）、亞太區域 （雪梨）、加拿大 （中部）、歐洲 （法蘭克福）、歐洲 （愛爾蘭）、歐洲 （倫敦）、歐洲 （巴黎）、歐洲 （斯德哥爾摩）、歐洲 （米蘭）、中東 （巴林）、南美洲 （聖保羅）。如需 Amazon SageMaker AI 區域可提供服務情況的更多相關資訊，請參閱 [AWS 區域服務清單](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

## 運作方式
<a name="serverless-endpoints-how-it-works"></a>

下方圖表顯示隨需無伺服器推論的工作流程，以及使用無伺服器端點的優點。

![\[顯示無伺服器推論工作流程的圖表。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/serverless-endpoints-how-it-works.png)


當您建立一個隨需無伺服器端點時，SageMaker AI 會為您佈建和管理運算資源。然後，您可以向端點提出推論請求，並可獲得模型預測作為回應。SageMaker AI 會依需要擴展和縮小運算資源，以處理請求流量，您僅需按使用量付費。

對於佈建並行，無伺服器推論也會與應用程式自動擴展整合，因此您可以根據目標指標或依排程來管理佈建並行。如需詳細資訊，請參閱[針對無伺服器端點自動擴展佈建並行](serverless-endpoints-autoscale.md)。

下方各節提供有關無伺服器推論及其運作方式的其他詳細資訊。

**Topics**
+ [容器支援](#serverless-endpoints-how-it-works-containers)
+ [記憶體大小](#serverless-endpoints-how-it-works-memory)
+ [並行調用](#serverless-endpoints-how-it-works-concurrency)
+ [最小化冷啟動](#serverless-endpoints-how-it-works-cold-starts)
+ [功能排除項目](#serverless-endpoints-how-it-works-exclusions)

### 容器支援
<a name="serverless-endpoints-how-it-works-containers"></a>

對於端點容器，您可以選擇 SageMaker AI 提供的容器或使用自有容器。SageMaker AI 為一些最常見的機器學習架構，例如 Apache MXNet、TensorFlow、PyTorch 和 Chainer 等，提供內建演算法和預先建置的 Docker 映像容器。如需可用 SageMaker 圖像的清單，請參閱[可用的深度學習容器映像](https://github.com/aws/deep-learning-containers/blob/master/available_images.md)。如果您要使用自有的容器，則您必須對其進行修改以使用 SageMaker AI。如需使用自有容器的更多相關資訊，請參閱[為 Amazon SageMaker AI 調整您的自有推論容器](adapt-inference-container.md)。

您可以使用的容器映像大小上限為 10 GB。對於無伺服器端點，我們建議您只在容器中建立一個工作者，並僅載入模型的一個副本。請注意，這與即時端點不同，其中某些 SageMaker AI 容器可能會為每個 vCPU 建立工作者，以處理推論請求並在每個工作者中載入模型。

如果您已經有用於即時端點的容器，則可以將相同的容器用於無伺服器端點，儘管已將某些功能排除在外。若要進一步了解無伺服器推論中不支援的容器功能，請參閱[功能排除項目](#serverless-endpoints-how-it-works-exclusions)。如果您選擇使用相同的容器，SageMaker AI 會委付 (保留) 容器映像的副本，直到您刪除使用該映像的所有端點為止。SageMaker AI 使用 SageMaker AI 擁有的 AWS KMS 金鑰加密靜態複製的映像。

### 記憶體大小
<a name="serverless-endpoints-how-it-works-memory"></a>

您的無伺服器端點的 RAM 大小下限為 1024 MB (1 GB)，而您可以選擇的 RAM 大小上限為 6144 MB (6 GB)。您可以選擇的記憶體大小為 1024 MB、2048 MB、3072 MB、4096 MB、5120 MB 或 6144 MB。無伺服器推論會根據您選取的記憶體按比例自動指派運算資源。如果您選擇較大的記憶體大小，您的容器可以存取更多 vCPU。根據您的模型大小選擇端點的記憶體大小。一般而言，記憶體大小應至少與模型大小一樣大。您可能需要進行基準測試，才能基於延遲 SLA 選擇適合模型的記憶體選取項目。如需基準測試的逐步指南，請參閱[Amazon SageMaker 無伺服器推論基準測試工具組簡介](https://aws.amazon.com/blogs/machine-learning/introducing-the-amazon-sagemaker-serverless-inference-benchmarking-toolkit/)。記憶體大小增量的定價不同；如需更多資訊，請參閱 [Amazon SageMaker AI 定價頁面](https://aws.amazon.com/sagemaker/pricing/)。

無論您選擇的記憶體大小為何，您的無伺服器端點都有 5 GB 的可用的暫時性磁碟儲存空間。在使用儲存空間時如需容器權限問題的協助，請參閱[故障診斷](serverless-endpoints-troubleshooting.md)。

### 並行調用
<a name="serverless-endpoints-how-it-works-concurrency"></a>

隨需無伺服器推論會針對端點的容量，管理預先定義的擴展政策和配額。無伺服器端點具有可同時處理多少並行調用的配額。如果在端點完成處理第一個請求之前調用端點，則它會並行處理第二個請求。

您可以在您的帳戶中所有無伺服器端點之間共用的並行總計取決於您所在區域：
+ 針對美國東部 (俄亥俄)、美國東部 (維吉尼亞北部)、美國西部 (奧勒岡)、亞太區域 (新加坡)、亞太區域 (雪梨)、亞太區域 (東京)、歐洲 (法蘭克福) 和歐洲 (愛爾蘭) 區域，您可以在您的帳戶中每個區域的所有無伺服器端點之間共用的並行總計為 1000。
+ 針對美國西部 (加利佛尼亞北部)、非洲 (開普敦)、亞太區域 (香港)、亞太區域 (孟買)、亞太區域 (大阪)、亞太區域 (首爾)、加拿大 (中部)、歐洲 (倫敦)、歐洲 (米蘭)、歐洲 (巴黎)歐洲 (斯德哥爾摩)、中東 (巴林) 與南美洲 (聖保羅) 區域，在您的帳戶中，每個區域的並行總計為 500。

您可以將單一端點的並行上限設定為 200，而您可以託管於一個區域中的無伺服器端點總數為 50。個別端點的並行上限可防止該端點佔用您的帳戶允許的所有調用，而且超出上限的任何端點調用都會受到調節。

**注意**  
您指派給無伺服器端點的佈建並行應該一律小於或等於您指派給該端點的並行上限。

要了解如何設定端點的並行上限，請參閱[建立端點組態](serverless-endpoints-create-config.md)。如需配額和限制的更多相關資訊，請參閱 *AWS 一般參考* 中的 [Amazon SageMaker AI 端點與配額](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)。若要請求提高服務限制，請聯絡 [AWS 支援](https://console.aws.amazon.com/support)。如需如何請求提高服務限制的指示，請參閱[支援的區域和配額](regions-quotas.md)。

### 最小化冷啟動
<a name="serverless-endpoints-how-it-works-cold-starts"></a>

如果您的隨需無伺服器推論端點有一段時間沒有收到流量，然後您的端點突然收到新的請求，則端點可能需要一些時間來啟動運算資源以處理請求。這就是所謂的*冷啟動*。由於無伺服器端點隨需佈建運算資源，因此您的端點可能會遇到冷啟動情況。如果您的並行請求超過目前的並行請求使用量，則也會發生冷啟動。冷啟動時間取決於您的模型大小、下載模型所需的時間以及容器的啟動時間。

若要監控冷啟動時間的長度，您可以使用 Amazon CloudWatch 指標 `OverheadLatency` 來監控無伺服器端點。此指標會追蹤為您的端點啟動新運算資源所需要的時間。若要進一步了解如何將 CloudWatch 指標與無伺服器端點搭配使用，請參閱[從無伺服器端點追蹤指標的警示和日誌](serverless-endpoints-monitoring.md)。

您可以使用佈建並行，最小化冷啟動。SageMaker AI 會根據您所配置的佈建並行數量，讓端點保持溫暖並準備好做出回應 (以毫秒為單位)。

### 功能排除項目
<a name="serverless-endpoints-how-it-works-exclusions"></a>

SageMaker AI 即時推論目前可用的部分功能不支援無伺服器推論，包括 GPUs、 AWS marketplace 模型套件、私有 Docker 登錄檔、多模型端點、VPC 組態、網路隔離、資料擷取、多個生產變體、模型監控和推論管道。

您無法將基於執行個體的即時端點轉換為無伺服器端點。如果您嘗試將即時端點更新為無伺服器，您會收到一則 `ValidationError` 訊息。您可以將無伺服器端點轉換為即時，但一旦進行更新，就無法將其復原為無伺服器。

## 開始使用
<a name="serverless-endpoints-get-started"></a>

您可以使用 SageMaker AI 主控台、 AWS SDKs、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html#sagemaker-serverless-inference) 和 建立、更新、描述和刪除無伺服器端點 AWS CLI。您可以使用 AWS SDKs、[Amazon SageMaker Python SDK](https://sagemaker.readthedocs.io/en/stable/overview.html#sagemaker-serverless-inference) 和 叫用端點 AWS CLI。對於具有佈建並行的無伺服器端點，您可以基於目標指標或排程，使用應用程式自動擴展來自動擴展佈建並行。如需如何設定與使用無伺服器端點的更多相關資訊，請閱讀指南[無伺服器端點作業](serverless-endpoints-create-invoke-update-delete.md)。如需使用佈建並行自動擴展無伺服器端點的更多資訊，請參閱[針對無伺服器端點自動擴展佈建並行](serverless-endpoints-autoscale.md)。

**注意**  
 在 AWS CloudFormation目前不支援針對具有佈建並行的無伺服器推論進行應用程式自動擴展功能。

### 範例筆記本和部落格
<a name="serverless-endpoints-get-started-nbs"></a>

如需顯示端對端無伺服器端點端點工作流程的 Jupyter 筆記本範例，請參閱[無伺服器推論範例筆記本](https://github.com/aws/amazon-sagemaker-examples/tree/master/serverless-inference)。