View a markdown version of this page

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

HyperPod Usare la CLI

Usa 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

Implementazione del modello con MIG

HyperPod L'inferenza consente di distribuire i modelli sui profili MIG tramite Studio Classic e CLI. kubectl HyperPod Per distribuire JumpStart i modelli sukubectl, i CRD dispongono di campi chiamati spec.server.acceleratorPartitionType per distribuire il modello sul profilo MIG desiderato. Eseguiamo delle 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

Implementa il modello da Amazon S3 utilizzando InferenceEndpointConfig

InferenceEndpointConfig consente di distribuire un modello personalizzato da Amazon S3. Per distribuire un modello su MIG, spec.worker.resources menziona il profilo MIG in e. 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 da FSx for Lustre. Per implementare un modello su MIG, spec.worker.resources menziona il profilo MIG in e. requests limits Fai riferimento a una semplice implementazione qui sotto:

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

Implementazione di JumpStart modelli con MIG

  1. Apri Studio Classic e vai a JumpStart

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

  3. Fai clic sulla scheda modello e seleziona Deploy

  4. Nella configurazione di distribuzione:

    • Scegli HyperPod come destinazione di distribuzione

    • Seleziona il tuo MIG-enabled cluster dal menu a discesa

    • In Configurazione dell'istanza:

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

      • Scegli il tipo di partizione GPU tra le opzioni disponibili

      • Configura il numero e le impostazioni delle istanze Auto-scaling

  5. Rivedi e fai clic su Distribuisci

  6. Monitora i progressi della distribuzione nella sezione Endpoints

Opzioni di configurazione del modello

Impostazioni degli 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 di istanze iniziali: numero di istanze da distribuire

  • Auto-scaling- Abilita il ridimensionamento dinamico in base al traffico

Configurazione avanzata:

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

  • Immagine del contenitore - Contenitore di inferenza personalizzato (opzionale)

  • Variabili di ambiente - Model-specific configurazioni

  • Configurazione Amazon VPC - Impostazioni di isolamento della rete

Monitoraggio dei modelli distribuiti

  1. Passa a Studio Classic > Distribuzioni > Endpoint

  2. Seleziona il tuo endpoint MIG-enabled

  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

    • Produttività: richieste al secondo

  4. Configura gli CloudWatch allarmi Amazon per il monitoraggio automatico

  5. Configura le politiche di scalabilità automatica in base all'utilizzo del MIG

HyperPod Utilizzo della CLI

JumpStart Distribuzione

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

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

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

Implementazione personalizzata degli endpoint

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