本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon SageMaker AI,您可以託管預先訓練的基礎模型,而無需從頭開始建立自己的模型。不過,若要針對業務的獨特需求量身打造一般用途的基礎模型,您必須建立經過微調的版本。符合成本效益的微調技術之一是低排名調整 (LoRA)。LoRA 背後的原則是,只有一小部分的大型基礎模型需要更新,才能適應新的任務或網域。LoRA 轉接器可增強基礎基礎模型的推論,只需幾個額外的轉接器層。
如果您使用 SageMaker AI 推論元件託管基礎模型,則可以透過建立轉接器推論元件,使用 LoRA 轉接器微調該基礎模型。當您建立轉接器推論元件時,請指定下列項目:
-
要包含轉接器推論元件的基本推論元件。基礎推論元件包含您想要調整的基礎模型。轉接器推論元件會使用您指派給基礎推論元件的運算資源。
-
您已在 Amazon S3 中存放 LoRA 轉接器的位置。
建立轉接器推論元件之後,您可以直接叫用它。執行此作業時,SageMaker AI 會將轉接器與基本模型結合,以增強產生的回應。
開始之前
您必須先符合下列需求,才能建立轉接器推論元件:
-
您有一個基本推論元件,其中包含要調整的基礎模型。您已將此推論元件部署到 SageMaker AI 端點。
如需將推論元件部署至端點的詳細資訊,請參閱部署模型以進行即時推論。
-
您有 LoRA 轉接器模型,而且已將模型成品儲存為 Amazon S3 中的
tar.gz
檔案。當您建立轉接器推論元件時,您可以指定成品的 S3 URI。
下列範例使用適用於 Python 的 SDK (Boto3) 來建立和叫用轉接器推論元件。
範例 create_inference_component
呼叫 以建立轉接器推論元件
下列範例會建立轉接器推論元件,並將其指派給基礎推論元件:
sm_client.create_inference_component(
InferenceComponentName = adapter_ic_name
,
EndpointName = endpoint_name
,
Specification={
"BaseInferenceComponentName": base_inference_component_name
,
"Container": {
"ArtifactUrl": adapter_s3_uri
},
},
)
當您在自己的程式碼中使用此範例時,請取代預留位置值,如下所示:
-
adapter_ic_name
– 轉接器推論元件的唯一名稱。 -
endpoint_name
– 託管基礎推論元件的端點名稱。 -
base_inference_component_name
– 基本推論元件的名稱,其中包含要調整的基礎模型。 -
adapter_s3_uri
– 使用 LoRA 轉接器成品尋找tar.gz
檔案的 S3 URI。
您可以使用與正常推論元件的程式碼類似的程式碼,來建立轉接器推論元件。一個不同之處是,對於 Specification
參數,您省略了 ComputeResourceRequirements
金鑰。當您調用轉接器推論元件時,其會由基礎推論元件載入。轉接器推論元件使用基礎推論元件的運算資源。
如需使用適用於 Python 的 SDK (Boto3) 建立和部署推論元件的詳細資訊,請參閱 使用 Python SDKs部署模型。
建立轉接器推論元件之後,您可以在invoke_endpoint
請求中指定其名稱來叫用它。
範例 invoke_endpoint
呼叫 以叫用轉接器推論元件
下列範例會叫用轉接器推論元件:
response = sm_rt_client.invoke_endpoint(
EndpointName = endpoint_name
,
InferenceComponentName = adapter_ic_name
,
Body = json.dumps(
{
"inputs": prompt
,
"parameters": {"max_new_tokens": 100, "temperature":0.9}
}
),
ContentType = "application/json",
)
adapter_reponse = response["Body"].read().decode("utf8")["generated_text"]
當您在自己的程式碼中使用此範例時,請取代預留位置值,如下所示:
-
endpoint_name
– 託管基礎和轉接器推論元件的端點名稱。 -
adapter_ic_name
– 轉接器推論元件的名稱。 -
prompt
– 推論請求的提示。
如需使用適用於 Python 的 SDK (Boto3) 叫用推論元件的詳細資訊,請參閱 叫用模型以進行即時推論。