Implementazione di modelli non compressi - 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à.

Implementazione di modelli non compressi

Un’opzione disponibile per l’implementazione di modelli ML consiste nell’archiviare e comprimere gli artefatti del modello in un formato tar.gz. Sebbene questo metodo funzioni bene per i modelli di piccole dimensioni, la compressione di un artefatto del modello di grandi dimensioni con centinaia di miliardi di parametri e la successiva decompressione su un endpoint può richiedere molto tempo. Per l'inferenza di modelli di grandi dimensioni, si consiglia di implementare un modello ML non compresso. Questa guida mostra come implementare un modello ML non compresso.

Per distribuire modelli ML non compressi, carica tutti gli artefatti del modello su Amazon S3 e organizzali con un prefisso Amazon S3 comune. Un prefisso Amazon S3 è una stringa di caratteri all'inizio del nome chiave di un oggetto Amazon S3, separata dal resto del nome da un delimitatore. Per ulteriori informazioni sul prefisso Amazon S3, consulta Organizzazione degli oggetti utilizzando i prefissi.

Per l’implementazione con SageMaker AI, è necessario selezionare la barra (/) come delimitatore. È necessario assicurarsi che solo gli artefatti associati al modello ML siano organizzati con il prefisso. Per i modelli ML con un singolo artefatto non compresso, il prefisso sarà identico al nome della chiave. Puoi controllare quali oggetti sono associati al tuo prefisso con AWS CLI:

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

Dopo aver caricato gli artefatti del modello su Amazon S3 e averli organizzati con un prefisso comune, puoi specificare la loro posizione come parte del campo ModelDataSource quando invochi la richiesta CreateModel. SageMaker AI scaricherà automaticamente gli artefatti del modello non compresso su /opt/ml/model per l’inferenza. Per ulteriori informazioni sulle regole che SageMaker AI applica al download degli artefatti, consulta S3ModelDataSource.

Il seguente frammento di codice mostra come invocare l’API CreateModel durante l’implementazione di un modello non compresso. Sostituisci il testo utente in corsivo con le tue informazioni.

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", }, }, }, )

L'esempio sopra riportato presuppone che gli artefatti del modello siano organizzati in base a un prefisso comune. Se invece l'artefatto del modello è un singolo oggetto Amazon S3 non compresso, modifica "S3Uri" in modo che punti all'oggetto Amazon S3 e cambia "S3DataType" in "S3Object".

Nota

Attualmente non è possibile utilizzare ModelDataSource con Marketplace AWS, la trasformazione in batch SageMaker AI, gli endpoint di SageMaker Serverless Inference e gli endpoint multi-modello di SageMaker.