

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

# 部署未壓縮的模型
<a name="large-model-inference-uncompressed"></a>

 部署機器學習 (ML) 模型時，其中一個選項是將模型成品封存並壓縮成 `tar.gz` 格式。雖然此方法在小型模型上運作良好，但壓縮具有數百億個參數的大型模型成品，然後在端點上將其解壓縮可能需要很長的時間。對於大型模型推論，建議您部署未壓縮的機器學習 (ML) 模型。本指南說明如何部署未壓縮的機器學習 (ML) 模型。

 若要部署未壓縮的機器學習 (ML) 模型，請將所有模型成品上傳到 Amazon S3，並在共同的 Amazon S3 字首下進行組織。Amazon S3 字首是 Amazon S3 物件索引鍵名稱開頭的一串字元，以分隔符號分隔名稱的其餘部分。如需更多 Amazon S3 字首的資訊，請參閱[使用字首組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。

 對於使用 SageMaker AI 進行部署，您必須使用斜線 (/) 作為分隔符號。您必須確保只有與機器學習 (ML) 模型關聯的成品以字首進行組織。對於具有單一未壓縮成品的機器學習 (ML) 模型，字首將與金鑰名稱相同。您可以使用 AWS CLI 檢查哪些物件是您的字首關聯對象：

```
aws s3 ls --recursive s3://bucket/prefix
```

 將模型成品上傳到 Amazon S3 並在共同字首下組織後，您可以在調用 [CreateModel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModel.html) 請求時，將模型成品的位置指定為 [ModelDataSource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDataSource.html) 欄位的一部分。SageMaker AI 會自動將未壓縮的模型成品下載至 `/opt/ml/model` 以進行推論。如需更多 SageMaker AI 下載成品時的規則的相關資訊，請參閱 [S3ModelDataSource](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3ModelDataSource.html)。

 下列程式碼片段顯示如何在部署未壓縮模型時調用 `CreateModel` API。將*斜體使用者文字*取代為您自己的資訊。

```
model_name = "model-name"
sagemaker_role = "arn:aws:iam::123456789012:role/SageMakerExecutionRole"
container = "123456789012.dkr.ecr.us-west-2.amazonaws.com/inference-image:latest"

create_model_response = sagemaker_client.create_model(
    ModelName = model_name,
    ExecutionRoleArn = sagemaker_role,
    PrimaryContainer = {
        "Image": container,
        "ModelDataSource": {
            "S3DataSource": {
                "S3Uri": "s3://amzn-s3-demo-bucket/prefix/to/model/data/", 
                "S3DataType": "S3Prefix",
                "CompressionType": "None",
            },
        },
    },
)
```

 上述範例假設您的模型成品是以共同字首進行組織。如果您的模型成品是單一未壓縮的 Amazon S3 物件，則變更 `"S3Uri"` 為指向 Amazon S3 物件，然後將 `"S3DataType"` 變更為 `"S3Object"`。

**注意**  
 目前您無法將 `ModelDataSource` 與 AWS Marketplace、SageMaker AI 批次轉換、SageMaker AI 無伺服器推論端點和 SageMaker AI 多模型端點搭配使用。