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
Quando si implementano modelli ML, un'opzione è 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 Organizing objects using prefixes.
Per la distribuzione con SageMaker, è necessario utilizzare 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 ModelDataSourcecampo quando richiami la richiesta. CreateModel SageMaker scaricherà automaticamente gli artefatti del modello non compressi su per scopi di inferenza. /opt/ml/model
Per ulteriori informazioni sulle regole SageMaker utilizzate per il download degli artefatti, consulta S3. ModelDataSource
Il seguente frammento di codice mostra come è possibile richiamare il quando si distribuisce un modello non compresso. CreateModel
API Sostituisci il italicized user text
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
Al momento non è possibile utilizzare ModelDataSource
con Marketplace AWS, trasformazione SageMaker in batch, endpoint SageMaker Serverless Inference ed SageMaker endpoint multimodello.