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 e previsioni del modello Autopilot
Dopo aver perfezionato un modello linguistico di grandi dimensioni (LLM), puoi implementare il modello per la generazione di testo in tempo reale configurando un endpoint per ottenere previsioni interattive.
Nota
Ti consigliamo di eseguire lavori di inferenza in tempo reale per migliorare le prestazioni ml.g5.12xlarge
. In alternativa, ml.g5.8xlarge
le istanze sono adatte per le attività di generazione di testo con Falcon-7B-Instruct e -7B-Instruct. MPT
Puoi trovare le specifiche di queste istanze nella categoria Accelerated Computing
Generazione di testo in tempo reale
Puoi utilizzarlo SageMaker APIs per distribuire manualmente il tuo modello ottimizzato su un endpoint di inferenza in tempo reale di SageMaker AI Hosting, quindi iniziare a fare previsioni richiamando l'endpoint come segue.
Nota
In alternativa, quando crei il tuo esperimento di ottimizzazione in Autopilot, puoi scegliere l'opzione di implementazione automatica. Per informazioni sulla configurazione dell'implementazione automatica dei modelli, consulta Come abilitare l'implementazione automatica.
Puoi anche usare SageMaker Python SDK e la JumpStartModel
classe per eseguire inferenze con modelli ottimizzati da Autopilot. Ciò può essere fatto specificando una posizione personalizzata per l'artefatto del modello in Amazon S3. Per informazioni sulla definizione del modello come modello e sulla distribuzione del modello per l'inferenza, JumpStart consulta Distribuzione a basso codice con la classe. JumpStartModel
-
Ottieni le definizioni di container di inferenza candidati
È possibile trovare l'oggetto
InferenceContainerDefinitions
all'interno dell'BestCandidate
oggetto recuperato dalla risposta alla chiamata. DescribeAutoMLJobV2API Una definizione di container per inferenza si riferisce all'ambiente containerizzato progettato per implementare ed eseguire il modello addestrato per fare previsioni.Il seguente esempio di AWS CLI comando utilizza DescribeAutoMLJobV2APIper ottenere le definizioni di contenitore consigliate per il nome del processo.
aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name
job-name
--regionregion
-
Crea un modello di SageMaker intelligenza artificiale
Utilizza le definizioni dei contenitori del passaggio precedente per creare un modello di SageMaker intelligenza artificiale utilizzando il CreateModelAPI. Vedi il AWS CLI comando seguente come esempio. Utilizza il
CandidateName
come nome del modello.aws sagemaker create-model --model-name '
<your-candidate-name>
' \ --primary-container '<container-definition
' \ --execution-role-arn '<execution-role-arn>
' --region '<region>
-
Creare una configurazione endpoint
Il seguente esempio di AWS CLI comando utilizza il CreateEndpointConfigAPIper creare una configurazione dell'endpoint.
Nota
Per evitare che la creazione dell'endpoint scada a causa di un lungo download del modello, consigliamo di impostare
ModelDataDownloadTimeoutInSeconds = 3600
eContainerStartupHealthCheckTimeoutInSeconds = 3600
.aws sagemaker create-endpoint-config --endpoint-config-name '
<your-endpoint-config-name>
' \ --production-variants '<list-of-production-variants>
' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \ --region '<region>
' -
Creare l'endpoint
L' AWS CLI esempio seguente utilizza il CreateEndpointAPIper creare l'endpoint.
aws sagemaker create-endpoint --endpoint-name '
<your-endpoint-name>
' \ --endpoint-config-name '<endpoint-config-name-you-just-created>
' \ --region '<region>
'Controlla lo stato di avanzamento della distribuzione degli endpoint utilizzando il. DescribeEndpointAPI Vedi il AWS CLI comando seguente come esempio.
aws sagemaker describe-endpoint —endpoint-name '
<endpoint-name>
' —region<region>
Dopo che
EndpointStatus
cambia inInService
, l'endpoint è pronto per l'uso per l'inferenza in tempo reale. -
Richiamare l'endpoint
Il seguente comando richiama l'endpoint per l'inferenza in tempo reale. Il prompt deve essere codificato in byte.
Nota
Il formato del prompt di input dipende dal modello linguistico. Per ulteriori informazioni sul formato dei prompt per la generazione di testo, consulta Formato di richiesta per l'inferenza in tempo reale dei modelli di generazione di testo.
aws sagemaker invoke-endpoint --endpoint-name '
<endpoint-name>
' \ --region '<region>
' --body '<your-promt-in-bytes>
' [--content-type] 'application/json'<outfile>
Formato di richiesta per l'inferenza in tempo reale dei modelli di generazione di testo
Diversi modelli di linguaggio di grandi dimensioni (LLMs) possono avere dipendenze software, ambienti di runtime e requisiti hardware specifici che influiscono sul contenitore consigliato da Autopilot per ospitare il modello per l'inferenza. Inoltre, ogni modello determina il formato dei dati di input richiesto e il formato previsto per le previsioni e gli output.
Ecco alcuni esempi di input per alcuni modelli e container consigliati.
-
Per i modelli Falcon con il container consigliato
huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04
:payload = { "inputs": "Large language model fine-tuning is defined as", "parameters": { "do_sample": false, "top_p": 0.9, "temperature": 0.1, "max_new_tokens": 128, "stop": ["<|endoftext|>", "</s>"] } }
-
Per tutti gli altri modelli con il contenitore consigliato:
djl-inference:0.22.1-fastertransformer5.3.0-cu118
payload= { "text_inputs": "Large language model fine-tuning is defined as" }