本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Autopilot 模型部署和預測
微調大型語言模型 (LLM) 之後,您可以透過設定端點來取得互動式預測,來部署即時產生文字的模型。
注意
我們建議您在上執行即時推論任務,以ml.g5.12xlarge
獲得更好的效能。或者,ml.g5.8xlarge
執行個體適用於 Falcon-7B-Instruct 和 MPT-7B-Instruct 文字產生任務。
您可以在 Amazon 提供的執行個體類型選擇中找到加速運算
即時產生文字
您可以使用 SageMaker APIs 將微調後的模型手動部署到 SageMaker AI 託管即時推論端點,然後開始透過叫用端點來進行預測,如下所示。
注意
或者,您可以在 Autopilot 中建立微調實驗時,選擇自動部署選項。如需設定自動化部署模型的相關資訊,請參閱如何啟用自動部署。
您也可以使用 SageMaker Python SDK和 JumpStartModel
類別,透過 Autopilot 微調的模型執行推論。這可以透過在 Amazon S3 中為模型的成品指定自訂位置來完成。如需將模型定義為 JumpStart 模型和部署模型以進行推論的相關資訊,請參閱使用 JumpStartModel 類別進行低程式碼部署
-
取得候選推論容器定義
您可以在從DescribeAutoMLJobV2API回應呼叫中擷取的
BestCandidate
物件InferenceContainerDefinitions
內找到 。推論的容器定義指的是容器化環境,專為部署和執行經過訓練的模型進行預測而設計。下列 AWS CLI 命令範例使用 DescribeAutoMLJobV2API來取得您任務名稱的建議容器定義。
aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name
job-name
--regionregion
-
建立 SageMaker AI 模型
使用上一個步驟的容器定義,透過使用 建立 SageMaker AI CreateModel 模型API。請參閱下列 AWS CLI 命令做為範例。使用
CandidateName
做為您的型號名稱。aws sagemaker create-model --model-name '
<your-candidate-name>
' \ --primary-container '<container-definition
' \ --execution-role-arn '<execution-role-arn>
' --region '<region>
-
建立端點組態
下列 AWS CLI 命令範例使用 CreateEndpointConfigAPI來建立端點組態。
注意
若要防止端點建立因為模型下載過時而逾時,建議您設定
ModelDataDownloadTimeoutInSeconds = 3600
和ContainerStartupHealthCheckTimeoutInSeconds = 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>
' -
建立端點
下列 AWS CLI 範例使用 CreateEndpointAPI來建立端點。
aws sagemaker create-endpoint --endpoint-name '
<your-endpoint-name>
' \ --endpoint-config-name '<endpoint-config-name-you-just-created>
' \ --region '<region>
'使用 檢查端點部署的進度DescribeEndpointAPI。請參閱下列 AWS CLI 命令做為範例。
aws sagemaker describe-endpoint —endpoint-name '
<endpoint-name>
' —region<region>
EndpointStatus
變更為後InService
,端點即可用於即時推論。 -
調用 API 端點
下列命令會調用端點以進行即時推論。您的提示需要以位元組為單位進行編碼。
注意
輸入提示的格式取決於語言模型。關於文字生成提示格式的詳細資訊,請參閱文字產生模型即時推論的請求格式。
aws sagemaker invoke-endpoint --endpoint-name '
<endpoint-name>
' \ --region '<region>
' --body '<your-promt-in-bytes>
' [--content-type] 'application/json'<outfile>
文字產生模型即時推論的請求格式
不同的大型語言模型 (LLMs) 可能有特定的軟體相依性、執行期環境和硬體需求,影響 Autopilot 用於託管模型以進行推論的建議容器。此外,每個模型都會指定所需的輸入資料格式,以及預測和輸出的預期格式。
以下是某些型號和建議容器的範例輸入。
-
對於建議使用的 Falcon 模型容器
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>"] } }
-
對於具有建議容器 的所有其他模型
djl-inference:0.22.1-fastertransformer5.3.0-cu118
:payload= { "text_inputs": "Large language model fine-tuning is defined as" }