使用 MIG 提交任務 - Amazon SageMaker AI

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

使用 MIG 提交任務

使用 Kubernetes YAML

apiVersion: batch/v1 kind: Job metadata: name: mig-job namespace: default spec: template: spec: containers: - name: pytorch image: pytorch/pytorch:latest resources: requests: nvidia.com/mig-1g.5gb: 1 cpu: "100m" memory: "128Mi" limits: nvidia.com/mig-1g.5gb: 1 restartPolicy: Never

使用 HyperPod CLI

使用 HyperPod CLI 部署具有 MIG 支援的 JumpStart 模型。下列範例示範 GPU 分割的新 CLI 參數:

# Deploy JumpStart model with MIG hyp create hyp-jumpstart-endpoint \ --model-id deepseek-llm-r1-distill-qwen-1-5b \ --instance-type ml.p5.48xlarge \ --accelerator-partition-type mig-2g.10gb \ --accelerator-partition-validation True \ --endpoint-name my-endpoint \ --tls-certificate-output-s3-uri s3://certificate-bucket/ \ --namespace default

使用 MIG 進行模型部署

HyperPod 推論允許透過 Studio Classic kubectl和 HyperPod CLI 在 MIG 設定檔上部署模型。若要在 上部署 JumpStart 模型kubectl,CRDs具有稱為 的欄位spec.server.acceleratorPartitionType,可將模型部署到所需的 MIG 設定檔。我們會執行驗證,以確保模型可以部署在 CRD 中選取的 MIG 設定檔上。如果您想要停用 MIG 驗證檢查,請使用 spec.server.validations.acceleratorPartitionValidationFalse

JumpStart 模型

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: JumpStartModel metadata: name: deepseek-model namespace: default spec: sageMakerEndpoint: name: deepseek-endpoint model: modelHubName: SageMakerPublicHub modelId: deepseek-llm-r1-distill-qwen-1-5b server: acceleratorPartitionType: mig-7g.40gb instanceType: ml.p4d.24xlarge

使用 InferenceEndpointConfig 從 Amazon S3 部署模型

InferenceEndpointConfig 可讓您從 Amazon S3 部署自訂模型。若要在 MIG 上部署模型,請在 requests和 中spec.worker.resources提及 MIG 設定檔limits。請參閱以下簡單的部署:

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: InferenceEndpointConfig metadata: name: custom-model namespace: default spec: replicas: 1 modelName: my-model endpointName: my-endpoint instanceType: ml.p4d.24xlarge modelSourceConfig: modelSourceType: s3 s3Storage: bucketName: my-model-bucket region: us-east-2 modelLocation: model-path worker: resources: requests: nvidia.com/mig-3g.20gb: 1 cpu: "5600m" memory: "10Gi" limits: nvidia.com/mig-3g.20gb: 1

使用 InferenceEndpointConfig 從 FSx for Lustre 部署模型

InferenceEndpointConfig 可讓您從 FSx for Lustre 部署自訂模型。若要在 MIG 上部署模型,請在 requests和 中spec.worker.resources提及 MIG 設定檔limits。請參閱以下簡單的部署:

apiVersion: inference.sagemaker.aws.amazon.com/v1 kind: InferenceEndpointConfig metadata: name: custom-model namespace: default spec: replicas: 1 modelName: my-model endpointName: my-endpoint instanceType: ml.p4d.24xlarge modelSourceConfig: modelSourceType: fsx fsxStorage: fileSystemId: fs-xxxxx modelLocation: location-on-fsx worker: resources: requests: nvidia.com/mig-3g.20gb: 1 cpu: "5600m" memory: "10Gi" limits: nvidia.com/mig-3g.20gb: 1

使用 Studio Classic UI

使用 MIG 部署 JumpStart 模型

  1. 開啟 Studio Classic 並導覽至 JumpStart

  2. 瀏覽或搜尋所需的模型 (例如「DeepSeek」、「Llama」等)

  3. 按一下模型卡,然後選取部署

  4. 在部署組態中:

    • 選擇 HyperPod 作為部署目標

    • 從下拉式清單中選取已啟用 MIG 的叢集

    • 執行個體組態欄位中:

      • 選取執行個體類型 (例如 ml.p4d.24xlarge)

      • 從可用的選項中選擇 GPU 分割區類型

      • 設定執行個體計數自動擴展設定

  5. 檢閱並按一下部署

  6. 端點區段中監控部署進度

模型組態選項

端點設定:

  • 端點名稱 - 部署的唯一識別符

  • 變體名稱 - 組態變體 (預設:AllTraffic)

  • 執行個體類型 - 必須支援 GPU 分割區 (p 系列)

  • MIG 設定檔 - GPU 分割區

  • 初始執行個體計數 - 要部署的執行個體數量

  • 自動擴展 - 根據流量啟用動態擴展

進階組態:

  • 模型資料位置 - 自訂模型的 Amazon S3 路徑

  • 容器映像 - 自訂推論容器 (選用)

  • 環境變數 - 特定模型組態

  • Amazon VPC 組態 - 網路隔離設定

監控部署的模型

  1. 導覽至 Studio Classic > 部署 > 端點

  2. 選取已啟用 MIG 的端點

  3. 檢視指標,包括:

    • MIG 使用率 - 每個 GPU 分割區使用量

    • 記憶體使用量 - 每個 GPU 分割區

    • 推論延遲 - 請求處理時間

    • 輸送量 - 每秒請求數

  4. 設定 Amazon CloudWatch 警示以進行自動監控

  5. 根據 MIG 使用率設定自動擴展政策

使用 HyperPod CLI

JumpStart 部署

HyperPod CLI JumpStart 命令包含兩個用於 MIG 支援的新欄位:

  • --accelerator-partition-type - 指定 MIG 組態 (例如 mig-4g.20gb)

  • --accelerator-partition-validation - 驗證模型和 MIG 設定檔之間的相容性 (預設: true)

hyp create hyp-jumpstart-endpoint \ --version 1.1 \ --model-id deepseek-llm-r1-distill-qwen-1-5b \ --instance-type ml.p4d.24xlarge \ --endpoint-name js-test \ --accelerator-partition-type "mig-4g.20gb" \ --accelerator-partition-validation true \ --tls-certificate-output-s3-uri s3://my-bucket/certs/

自訂端點部署

若要透過自訂端點部署,請使用現有欄位--resources-requests--resources-limits 來啟用 MIG 設定檔功能:

hyp create hyp-custom-endpoint \ --namespace default \ --metadata-name deepseek15b-mig-10-14-v2 \ --endpoint-name deepseek15b-mig-endpoint \ --instance-type ml.p4d.24xlarge \ --model-name deepseek15b-mig \ --model-source-type s3 \ --model-location deep-seek-15b \ --prefetch-enabled true \ --tls-certificate-output-s3-uri s3://sagemaker-bucket \ --image-uri lmcache/vllm-openai:v0.3.7 \ --container-port 8080 \ --model-volume-mount-path /opt/ml/model \ --model-volume-mount-name model-weights \ --s3-bucket-name model-storage-123456789 \ --s3-region us-east-2 \ --invocation-endpoint invocations \ --resources-requests '{"cpu":"5600m","memory":"10Gi","nvidia.com/mig-3g.20gb":"1"}' \ --resources-limits '{"nvidia.com/mig-3g.20gb":"1"}' \ --env '{ "OPTION_ROLLING_BATCH":"vllm", "SERVING_CHUNKED_READ_TIMEOUT":"480", "DJL_OFFLINE":"true", "NUM_SHARD":"1", "SAGEMAKER_PROGRAM":"inference.py", "SAGEMAKER_SUBMIT_DIRECTORY":"/opt/ml/model/code", "MODEL_CACHE_ROOT":"/opt/ml/model", "SAGEMAKER_MODEL_SERVER_WORKERS":"1", "SAGEMAKER_MODEL_SERVER_TIMEOUT":"3600", "OPTION_TRUST_REMOTE_CODE":"true", "OPTION_ENABLE_REASONING":"true", "OPTION_REASONING_PARSER":"deepseek_r1", "SAGEMAKER_CONTAINER_LOG_LEVEL":"20", "SAGEMAKER_ENV":"1" }'