Invio di attività con MIG - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di attività con MIG

Utilizzo di 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

Utilizzo della HyperPod CLI

Utilizza la HyperPod CLI per distribuire JumpStart modelli con supporto MIG. L'esempio seguente illustra i nuovi parametri CLI per il partizionamento della GPU:

# 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

Distribuzione del modello con MIG

HyperPod L'inferenza consente di implementare i modelli sui profili MIG tramite Studio Classic e kubectl CLI. HyperPod Per distribuire JumpStart i modellikubectl, richiama CRDs i campi spec.server.acceleratorPartitionType per distribuire il modello sul profilo MIG desiderato. Eseguiamo convalide per garantire che i modelli possano essere implementati sul profilo MIG selezionato nel CRD. Nel caso in cui desideri disabilitare i controlli di convalida MIG, usa to. spec.server.validations.acceleratorPartitionValidation False

JumpStart Modelli

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

Distribuisci il modello da Amazon S3 utilizzando InferenceEndpointConfig

InferenceEndpointConfig consente di distribuire modelli personalizzati da Amazon S3. Per implementare un modello su MIG, spec.worker.resources menziona il profilo MIG in and. requests limits Fai riferimento a una semplice implementazione di seguito:

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

Implementa il modello di FSx for Lustre utilizzando InferenceEndpointConfig

InferenceEndpointConfig consente di implementare un modello personalizzato di For Lustre. FSx Per implementare un modello su MIG, spec.worker.resources menziona il profilo MIG in and. requests limits Fai riferimento a una semplice implementazione di seguito:

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

Utilizzo dell'interfaccia utente di Studio Classic

Distribuzione di JumpStart modelli con MIG

  1. Apri Studio Classic e accedi a JumpStart

  2. Sfoglia o cerca il modello desiderato (ad es. "DeepSeek«, «Llama», ecc.)

  3. Fai clic sulla scheda del modello e seleziona Deploy

  4. Nella configurazione di distribuzione:

    • Scegli HyperPodcome obiettivo di distribuzione

    • Seleziona il tuo cluster abilitato per MiG dal menu a discesa

    • In Configurazione dell'istanza:

      • Seleziona il tipo di istanza (ad esempio,ml.p4d.24xlarge)

      • Scegli il tipo di partizione GPU tra le opzioni disponibili

      • Configura il conteggio delle istanze e le impostazioni di ridimensionamento automatico

  5. Rivedi e fai clic su Distribuisci

  6. Monitora l'avanzamento della distribuzione nella sezione Endpoints

Opzioni di configurazione del modello

Impostazioni dell'endpoint:

  • Nome dell'endpoint: identificatore univoco per la distribuzione

  • Nome variante - Variante di configurazione (impostazione predefinita:) AllTraffic

  • Tipo di istanza: deve supportare la partizione GPU (serie p)

  • Profilo MIG - partizione GPU

  • Numero iniziale di istanze: numero di istanze da distribuire

  • Scalabilità automatica: abilita il ridimensionamento dinamico basato sul traffico

Configurazione avanzata:

  • Posizione dei dati del modello: percorso Amazon S3 per modelli personalizzati

  • Immagine del contenitore: contenitore di inferenza personalizzato (opzionale)

  • Variabili di ambiente: configurazioni specifiche del modello

  • Configurazione Amazon VPC: impostazioni di isolamento della rete

Monitoraggio dei modelli implementati

  1. Passa a Studio Classic > Distribuzioni > Endpoint

  2. Seleziona il tuo endpoint abilitato per MiG

  3. Visualizza le metriche, tra cui:

    • Utilizzo MIG: utilizzo per partizione GPU

    • Consumo di memoria: per partizione GPU

    • Latenza di inferenza: tempo di elaborazione della richiesta

    • Throughput: richieste al secondo

  4. Configura gli CloudWatch allarmi Amazon per il monitoraggio automatico

  5. Configurazione di politiche di auto-scaling basate sull'utilizzo di MIG

Utilizzo della HyperPod CLI

JumpStart Distribuzione

Il JumpStart comando HyperPod CLI include due nuovi campi per il supporto MIG:

  • --accelerator-partition-type- Speciifica la configurazione MIG (ad esempio, mig-4g.20gb)

  • --accelerator-partition-validation- Convalida la compatibilità tra i modelli e il profilo MIG (default: 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/

Distribuzione personalizzata degli endpoint

Per la distribuzione tramite endpoint personalizzato, utilizza i campi esistenti --resources-requests e abilita la funzionalità del --resources-limits profilo 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" }'