建立推論最佳化任務 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立推論最佳化任務

您可以使用 Studio 或 SageMaker AI Python SDK 建立推論最佳化任務。任務會透過套用您選擇的技術來最佳化模型。如需詳細資訊,請參閱最佳化技術

推論最佳化任務的執行個體定價

當您建立套用量化或編譯的推論最佳化任務時,SageMaker AI 會選擇要用來執行任務的執行個體類型。會根據使用的執行個體向您收費。

如需可能的執行個體類型及其定價詳細資訊,請參閱 Amazon SageMaker 定價頁面上的推論最佳化定價資訊。

對於套用推測性解碼的任務,您不需要支付額外費用。

如需您可以最佳化的支援模型,請參閱支援的模型參考

完成下列步驟以在 Studio 中建立推論最佳化任務。

開始建立最佳化任務
  1. 在 SageMaker AI Studio 中,透過下列任一路徑建立最佳化任務:

    • 若要為 JumpStart 模型建立任務,請執行下列動作:

      1. 在導覽選單中,選擇 JumpStart

      2. 在所有公有模型頁面上,選擇模型提供者,然後選擇其中一個支援最佳化的模型。

      3. 在模型詳細資訊頁面上,選擇最佳化。此按鈕僅對支援最佳化的模型啟用。

      4. 建立推論最佳化任務頁面上,某些 JumpStart 模型會要求您先簽署終端使用者授權協議 (EULA),才能繼續進行。若有要求,請檢閱授權協議一節中的授權條款。如果這些條款適用於您的使用案例,請選取我接受 EULA 並已閱讀條款與條件核取方塊

    • 若要為微調的 JumpStart 模型建立任務,請執行下列動作:

      1. 在導覽功能表中,於任務下方,選擇訓練

      2. 訓練任務頁面上,選擇您用來微調 JumpStart 模型的任務名稱。這些任務在任務類型欄中的類型為 JumpStart 訓練

      3. 在訓練任務的詳細資訊頁面上,選擇最佳化

    • 若要為自訂模型建立任務,請執行下列動作:

      1. 在導覽功能表中,於任務下方,選擇推論最佳化

      2. 選擇建立新任務

      3. 建立推論最佳化任務頁面上,選擇新增模型

      4. 新增模型視窗中,選擇自訂模型

      5. 請選擇下列其中一個選項:

        使用您現有的模型 - 選取此選項可最佳化您已在 SageMaker AI 中建立的模型。

        現有模型名稱 - 輸入 SageMaker AI 模型的名稱。

        從 S3 - 選取此選項以提供來自 Amazon S3 的模型成品。針對 S3 URI,輸入 Amazon S3 中存放模型成品之位置的 URI。

      6. (選用) 對於輸出模型名稱,您可以為任務建立的最佳化模型輸入自訂名稱。如果您不提供名稱,Studio 會根據您的選擇自動產生名稱。

  2. 建立推論最佳化任務頁面上,針對任務名稱,您可以接受 SageMaker AI 指派的預設名稱。或者,若要輸入自訂任務名稱,請選擇任務名稱欄位,然後選擇輸入任務名稱

設定最佳化組態
  1. 針對部署執行個體類型,選擇您要最佳化其模型的執行個體類型。

    執行個體類型會影響您可以選擇的最佳化技術。對於大多數使用 GPU 硬體的類型,支援的技術是量化推測性解碼。如果您選擇使用自訂晶片的執行個體,例如 AWSInferentia 執行個體 ml.inf2.8xlarge,則支援的技術為編譯,可用來編譯該特定硬體類型的模型。

  2. 選取 Studio 提供的一或多個最佳化技術:

    • 如果您選取量化,請選擇精確度資料類型的資料類型。

    • 如果您選取推測性解碼,請選擇下列其中一個選項:

      • 使用 SageMaker AI 草稿模型 – 選擇使用 SageMaker AI 提供的草稿模型。

        注意

        如果您選擇使用 SageMaker AI 草稿模型,則還需啟用網路隔離。Studio 在安全性下方提供此選項。

      • 選擇 JumpStart 草稿模型 – 選擇從 JumpStart 目錄中選取模型,以用作您的草稿模型。

      • 選擇您自己的草稿模型 – 選擇使用自己的草稿模型,並提供找到它的 S3 URI。

    • 如果您選擇快速載入模型,Studio 會顯示 OPTION_TENSOR_PARALLEL_DEGREE 環境變數。使用欄位來設定張量平行處理的程度。值必須平均除以您為部署執行個體類型所選擇執行個體中的 GPU 數量。例如,若要在使用具有 8 個 GPU 的執行個體時分割模型,請使用值 2、4 或 8。

    • 如果您將部署執行個體類型設定為 AWSInferentia 或 AWSTrainium 執行個體,Studio 可能會顯示編譯是支援的選項。在這種情況下,Studio 會為您選取此選項。

  3. 針對輸出,輸入 Amazon S3 中位置的 URI。在該處,SageMaker AI 會存放任務所建立最佳化模型的成品。

  4. (選用) 展開進階選項,對 IAM 角色、VPC 和環境變數等設定進行更精細的控制。如需詳細資訊,請參閱下方的進階選項

  5. 完成任務設定後,請選擇建立任務

    Studio 會顯示任務詳細資訊頁面,其中會顯示任務狀態及其所有設定。

進階選項

您可以在建立推論最佳化任務時設定下列進階選項。

組態下,您可以設定下列選項:

張量平行程度

張量平行處理程度的值。張量平行化是模型平行化類型,其中特定模型權重、漸層與最佳化工具狀態會跨裝置分割。值必須平均除以叢集中的 GPU 數量。

記號長度上限

模型所要產生記號數量的限制。請注意,模型不一定會產生達數量上限的記號。

並行

能夠在相同的基礎硬體上執行模型的多個執行個體。使用並行為多個使用者提供預測,並最大化硬體使用率。

批次大小

如果您的模型執行批次推論,請使用此選項來控制模型處理的批次大小。

批次推論會根據觀察批次產生模型預測。對於大型資料集來說,或者如果您不需要立即回應推論請求,這是不錯的選擇。

安全性下,您可以設定下列選項:

IAM 角色

IAM 角色,可讓 SageMaker AI 代表您執行任務。在模型最佳化期間,SageMaker AI 需要您的許可才能:

  • 從 S3 儲存貯體讀取輸入資料

  • 將模型成品寫入 S3 儲存貯體

  • 將日誌寫入 Amazon CloudWatch Logs

  • 將指標發布至 Amazon CloudWatch

您可以將所有這些任務的許可授予 IAM 角色。

如需詳細資訊,請參閱如何使用 SageMaker AI 執行角色

加密 KMS 金鑰

AWS Key Management Service() 中的金鑰AWS KMS。當 SageMaker AI 將模型上傳至 Amazon S3 時,SageMaker AI 會使用其金鑰來加密最佳化模型的成品。

VPC

SageMaker AI 會使用此資訊來建立網路介面,並將其附加至您的模型容器。網路介面會為模型容器提供您的 VPC 內的網路連線,而不會連線至網際網路。也可讓您的模型連線至私有 VPC 內的資源。

如需詳細資訊,請參閱讓 SageMaker AI 託管的端點可以存取 Amazon VPC 中的資源

啟用網路隔離

如果您想要限制容器的網際網路存取,請啟用此選項。使用網路隔離執行的容器無法進行任何傳出網路呼叫。

注意

當您使用推測性解碼進行最佳化,並使用 SageMaker AI 草稿模型時,必須啟用此選項。

如需網路隔離的相關資訊,請參閱網路隔離

進階容器定義下,您可以設定下列選項:

停止條件

指定任務可以執行的時間長度限制。當任務達到時間限制時,SageMaker AI 會結束任務。使用此選項來限制成本。

Tags (標籤)

與最佳化任務相關聯的鍵-值配對。

如需標籤的詳細資訊,請參閱AWS 一般參考中的標記 AWS 資源

環境變數

鍵-值配對,定義要在模型容器中設定的環境變數。

您可以在專案中使用 SageMaker AI Python SDK 建立推論最佳化任務。首先,您可以使用 ModelBuilder 類別定義 Model 執行個體。然後,您可以使用 optimize() 方法執行任務,以透過量化、推測性解碼或編譯來最佳化模型。任務完成時,您可以使用 deploy() 方法將模型部署至推論端點。

如需下列範例中所使用類別和方法的詳細資訊,請參閱 SageMaker AI Python SDK 文件中的 API

設定專案
  1. 在您的應用程式程式碼中,匯入必要的程式庫。以下範例會使用適用於 Python 的 SDK (Boto3)。此外也會從用來定義和使用模型的 SageMaker AI Python SDK 匯入類別:

    import boto3 from sagemaker.serve.builder.model_builder import ModelBuilder from sagemaker.serve.builder.schema_builder import SchemaBuilder from sagemaker.session import Session from pathlib import Path
  2. 初始化 SageMaker AI 工作階段。下列範例使用 Session() 類別。

    sagemaker_session = Session()
定義您的模型
  1. 建立 SchemaBuilder 執行個體,並提供輸入和輸出範例。當您定義模型時,您會將此執行個體提供給 ModelBuilder 類別。使用它,SageMaker AI 會自動產生封送函數,以序列化和還原序列化輸入和輸出。

    如需使用 SchemaBuilderModelBuilder 類別的詳細資訊,請參閱使用 ModelBuilder 在 Amazon SageMaker AI 建立模型

    下列範例提供 SchemaBuilder 類別的範例輸入和輸出字串:

    response = "Jupiter is the largest planet in the solar system. It is the fifth planet from the sun." sample_input = { "inputs": "What is the largest planet in the solar system?", "parameters": {"max_new_tokens": 128, "top_p": 0.9, "temperature": 0.6}, } sample_output = [{"generated_text": response}] schema_builder = SchemaBuilder(sample_input, sample_output)
  2. 將模型定義為 SageMaker AI。下列範例會設定參數來初始化 ModelBuilder 執行個體:

    model_builder = ModelBuilder( model="jumpstart-model-id", schema_builder=schema_builder, sagemaker_session=sagemaker_session, role_arn=sagemaker_session.get_caller_identity_arn(), )

    此範例使用 JumpStart 模型。將 jumpstart-model-id 取代為 JumpStart 模型的 ID,例如 meta-textgeneration-llama-3-70b

    注意

    如果您想要使用推測性解碼進行最佳化,並且想要使用 SageMaker AI 草稿,則必須啟用網路隔離。若要啟用它,請在初始化 ModelBuilder 執行個體時包含下列引數:

    enable_network_isolation=True,

    如需網路隔離的相關資訊,請參閱網路隔離

使用量化進行最佳化
  1. 若要執行量化任務,請使用 optimize() 方法,並設定 quantization_config 引數。下列範例會在最佳化容器中將 OPTION_QUANTIZE 設定為環境變數:

    optimized_model = model_builder.optimize( instance_type="instance-type", accept_eula=True, quantization_config={ "OverrideEnvironment": { "OPTION_QUANTIZE": "awq", }, }, output_path="s3://output-path", )

    在此範例中,instance-type 將取代為 ML 執行個體,例如 ml.p4d.24xlarge。將 s3://output-path 取代為您存放任務所建立最佳化模型的 S3 位置路徑。

    optimize() 方法會傳回 Model 物件,您可以使用該物件將模型部署至端點。

  2. 當任務完成時,部署模型。下列範例使用 deploy() 方法:

    predictor = optimized_model.deploy( instance_type="instance-type", accept_eula=True, )

    在此範例中,instance-type 將取代為 ML 執行個體,例如 ml.p4d.24xlarge

    deploy() 方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。

使用 SageMaker AI 草稿模型透過推測性解碼進行最佳化

當您使用推測性解碼來最佳化模型時,您可以選擇使用 SageMaker AI 提供的草稿模型,也可以使用自己的模型。下列範例使用 SageMaker AI 草稿模型。

先決條件

若要使用推測性解碼和 SageMaker AI 草稿模型進行最佳化,您必須在定義模型時啟用網路隔離。

  1. 若要執行推測性解碼任務,請使用 optimize() 方法,並設定 speculative_decoding_config 引數。下列範例會將 ModelProvider 金鑰設定為 SAGEMAKER,以使用 SageMaker AI 提供的草稿模型。

    optimized_model = model_builder.optimize( instance_type="instance-type", accept_eula=True, speculative_decoding_config={ "ModelProvider": "SAGEMAKER", }, )

    在此範例中,instance-type 將取代為 ML 執行個體,例如 ml.p4d.24xlarge

    optimize() 方法會傳回 Model 物件,您可以使用該物件將模型部署至端點。

  2. 當任務完成時,部署模型。下列範例使用 deploy() 方法:

    predictor = optimized_model.deploy(accept_eula=True)

    deploy() 方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。

使用自訂草稿模型透過推測性解碼進行最佳化

您必須先將模型成品上傳到 Amazon S3,才能將自訂草稿模型提供給 SageMaker AI。

下列範例示範提供一種可能的自訂草稿模型方式。這些範例會從 Hugging Face 中樞下載草稿模型,將其上傳至 Amazon S3,並將 S3 URI 提供給 speculative_decoding_config 引數。

  1. 如果您想要從 Hugging Face 中樞下載模型,請將 huggingface_hub 程式庫新增至您的專案,然後使用 snapshot_download() 方法下載模型。下列範例會將模型下載至本機目錄:

    import huggingface_hub huggingface_hub.snapshot_download( repo_id="model-id", revision="main", local_dir=download-dir, token=hf-access-token, )

    在此範例中,會將 model-id 取代為 Hugging Face 中樞的模型 ID,例如 meta-llama/Meta-Llama-3-8B。將 download-dir 取代為本機目錄。將 hf-access-token 取代為您的存取記號。若要了解如何取得您的存取記號,請參閱 Hugging Face 文件中的使用者存取記號

    如需 huggingface_hub 程式庫的詳細資訊,請參閱 Hugging Face 文件中的 中樞用戶端程式庫

  2. 若要讓下載的模型可供 SageMaker AI 使用,請將其上傳至 Amazon S3。下列範例會上傳模型與 sagemaker_session 物件:

    custom_draft_model_uri = sagemaker_session.upload_data( path=hf_local_download_dir.as_posix(), bucket=sagemaker_session.default_bucket(), key_prefix="prefix", )

    在此範例中,將 prefix 取代為限定詞,幫助您區分 S3 中的草稿模型,例如 spec-dec-custom-draft-model

    upload_data() 方法會傳回模型成品的 S3 URI。

  3. 若要執行推測性解碼任務,請使用 optimize() 方法,並設定 speculative_decoding_config 引數。下列範例會將 ModelSource 金鑰設定為自訂草稿模型的 S3 URI:

    optimized_model = model_builder.optimize( instance_type="instance-type", accept_eula=True, speculative_decoding_config={ "ModelSource": custom_draft_model_uri + "/", }, )

    在此範例中,instance-type 將取代為 ML 執行個體,例如 ml.p4d.24xlarge

    optimize() 方法會傳回 Model 物件,您可以使用該物件將模型部署至端點。

  4. 當任務完成時,部署模型。下列範例使用 deploy() 方法:

    predictor = optimized_model.deploy(accept_eula=True)

    deploy() 方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。

使用編譯進行最佳化
  1. 若要執行編譯任務,請使用 optimize() 方法,並設定 compilation_config 引數。下列範例使用 OverrideEnvironment 金鑰以在最佳化容器中設定必要的環境變數:

    optimized_model = model_builder.optimize( instance_type="instance-type", accept_eula=True, compilation_config={ "OverrideEnvironment": { "OPTION_TENSOR_PARALLEL_DEGREE": "24", "OPTION_N_POSITIONS": "8192", "OPTION_DTYPE": "fp16", "OPTION_ROLLING_BATCH": "auto", "OPTION_MAX_ROLLING_BATCH_SIZE": "4", "OPTION_NEURON_OPTIMIZE_LEVEL": "2", } }, output_path="s3://output-path", )

    在此範例中,將 instance-type 設定為具有加速硬體的 ML 執行個體類型。例如,對於使用 AWSInferentia 的加速推論,您可以將 類型設定為 Inf2 執行個體,例如 ml.inf2.48xlarge。將 s3://output-path 取代為您存放任務所建立最佳化模型的 S3 位置路徑。

  2. 當任務完成時,部署模型。下列範例使用 deploy() 方法:

    predictor = optimized_model.deploy(accept_eula=True)

    deploy() 方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。

使用推論請求測試模型
  • 若要將測試推論請求傳送至部署的模型,請使用預測器物件的 predict() 方法。下列範例會傳遞在範例中也傳遞給 SchemaBuilder 類別的 sample_input 變數,以定義您的模型:

    predictor.predict(sample_input)

    範例輸入具有提示 "What is the largest planet in the solar system?"predict() 方法會傳回模型產生的回應,如下列範例所示:

    {'generated_text': ' Jupiter is the largest planet in the solar system. It is the fifth planet from the sun. It is a gas giant with . . .'}

您可以使用適用於 Python (Boto3) 的 AWSSDK,以程式設計方式建立和管理推論最佳化任務。本節提供不同最佳化技術的範例。

先決條件

使用 Boto3 建立最佳化任務之前,請確定您有:

  • 設定的AWS登入資料 - 使用適當的許可設定您的AWS登入資料

  • 建立 SageMaker AI 模型 (如果使用現有模型)

  • S3 中準備的訓練資料 (用於推測解碼最佳化,支援的內容長度高達 4096)

  • 具有必要許可的 IAM 角色 - 您的執行角色必須具有存取 S3 和建立 SageMaker 資源的許可

範例:使用 EAGLE 推測解碼建立最佳化任務 (Llama 3.3 70B)

此範例示範如何使用 EAGLE 推測解碼技術,為大型語言模型建立最佳化任務:

import boto3 # Initialize SageMaker client sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') # Step 1: Create a SageMaker model (if not already created) model_response = sagemaker_client.create_model( ModelName='meta-llama-3-3-70b-instruct', ExecutionRoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole', PrimaryContainer={ 'Image': '763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:<tag>', 'ModelDataSource': { 'S3DataSource': { 'S3Uri': 's3://my-bucket/models/Llama-3.3-70B-Instruct/', 'S3DataType': 'S3Prefix', 'CompressionType': 'None' } }, 'Environment': { 'SAGEMAKER_ENV': '1', 'SAGEMAKER_MODEL_SERVER_TIMEOUT': '3600' } } ) # Step 2: Create optimization job with speculative decoding optimization_response = sagemaker_client.create_optimization_job( OptimizationJobName='llama-optim-job-eagle-speculative-decoding', RoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole', ModelSource={ 'SageMakerModel': { 'ModelName': 'meta-llama-3-3-70b-instruct' } }, DeploymentInstanceType='ml.p4d.24xlarge', # MaxInstanceCount specifies the maximum number of instances for distributed training MaxInstanceCount=4, OptimizationConfigs=[ { 'ModelSpeculativeDecodingConfig': { 'Technique': 'EAGLE', 'TrainingDataSource': { 'S3Uri': 's3://my-bucket/training_data/ultrachat_8k/', 'S3DataType': 'S3Prefix' } } } ], OutputConfig={ 'S3OutputLocation': 's3://my-bucket/optimized-models/llama-optim-output/', }, StoppingCondition={ 'MaxRuntimeInSeconds': 432000 # 5 days } ) print(f"Optimization job ARN: {optimization_response['OptimizationJobArn']}")

範例:從 S3 模型成品建立最佳化任務 (Qwen3 32B)

此範例示範如何直接從 S3 使用模型成品建立最佳化任務:

import boto3 sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') # Create model from S3 artifacts model_response = sagemaker_client.create_model( ModelName='qwen3-32b', ExecutionRoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole', PrimaryContainer={ 'Image': '763104351884.dkr.ecr.us-west-2.amazonaws.com/djl-inference:<tag>', 'Mode': 'SingleModel', 'ModelDataSource': { 'S3DataSource': { 'S3Uri': 's3://my-bucket/models/qwen3-32b/', 'S3DataType': 'S3Prefix', 'CompressionType': 'None' } }, 'Environment': { 'AWS_REGION': 'us-west-2' } } ) # Create optimization job with smaller training dataset optimization_response = sagemaker_client.create_optimization_job( OptimizationJobName='qwen3-optim-job-eagle', RoleArn='arn:aws:iam::123456789012:role/SageMakerExecutionRole', ModelSource={ 'SageMakerModel': { 'ModelName': 'qwen3-32b' } }, DeploymentInstanceType='ml.g6.48xlarge', MaxInstanceCount=4, OptimizationConfigs=[ { 'ModelSpeculativeDecodingConfig': { 'Technique': 'EAGLE', 'TrainingDataSource': { 'S3Uri': 's3://my-bucket/training_data/ultrachat_1k/', 'S3DataType': 'S3Prefix' } } } ], OutputConfig={ 'S3OutputLocation': 's3://my-bucket/optimized-models/qwen3-optim-output/', }, StoppingCondition={ 'MaxRuntimeInSeconds': 432000 # 5 days } ) print(f"Optimization job ARN: {optimization_response['OptimizationJobArn']}")

範例:監控和管理最佳化任務

建立最佳化任務之後,您可以監控其進度,並使用下列命令進行管理:

import boto3 sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') # Describe optimization job to check status describe_response = sagemaker_client.describe_optimization_job( OptimizationJobName='llama-optim-job-eagle-speculative-decoding' ) print(f"Job Status: {describe_response['OptimizationJobStatus']}") # List all optimization jobs (with pagination) list_response = sagemaker_client.list_optimization_jobs( MaxResults=10, SortBy='CreationTime', SortOrder='Descending' ) print("\nRecent optimization jobs:") for job in list_response['OptimizationJobSummaries']: print(f"- {job['OptimizationJobName']}: {job['OptimizationJobStatus']}") # Stop a running optimization job if needed # sagemaker_client.stop_optimization_job( # OptimizationJobName='llama-optim-job-eagle-speculative-decoding' # ) # Delete a completed or failed optimization job # sagemaker_client.delete_optimization_job( # OptimizationJobName='llama-optim-job-eagle-speculative-decoding' # )

使用 Eagle Heads 進行推測解碼會執行四個循序訓練任務。每個任務都會產生輸出,成為下一個任務的輸入。只有最終任務的輸出會傳送到您的 S3 儲存貯體。中繼輸出會加密並存放在內部 SageMaker AI 服務儲存貯體中長達 20 天。SageMaker AI 沒有解密它們的許可。如果您想要在該期間之前移除中繼資料,請確定您的任務已完成或已停止,然後針對要刪除的資料開啟支援案例 【https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case】。在請求中包含AWS您的帳戶 ID 和最佳化任務 ARN。

SageMaker AI 草稿模型的限制

對於您使用 SageMaker AI 草稿模型最佳化的任何模型,請注意需求、限制和支援的環境變數。

要求

您必須執行下列動作:

  • 使用 SageMaker JumpStart 提供的模型。

  • 啟用模型部署的網路隔離。

  • 如果您將模型部署到大型模型推論 (LMI) 容器,請使用 0.28.0 版或更新版本的 DJLServing 容器。

    如需可用的容器,請參閱深度學習容器 GitHub 儲存庫中的大型模型推論容器

  • 如果您微調 JumpStart 模型,請針對模型權重使用安全張量格式。

    如需此格式的詳細資訊,請參閱 Hugging Face 文件中的安全張量

限制

您無法執行下列:

  • 在您透過本機模式建立的本機測試環境中使用模型。

    如需本機模式的詳細資訊,請參閱 SageMaker AI Python SDK 文件中的本機模式

  • 透過 AWS Systems Manager代理程式 (SSM 代理程式) 存取模型容器。SSM Agent 提供模型容器的殼層層級存取權,讓您可以使用 Amazon CloudWatch 對程序和日誌命令進行偵錯。

    如需使用此功能的詳細資訊,請參閱「透過 SSM 存取容器」。

  • 針對程序損毀時發生的核心傾印設定模型容器。

    如需模型容器核心傾印的詳細資訊,請參閱 ProductionVariantCoreDumpConfig

  • 將模型部署到多模型端點、多容器端點或託管推論元件的端點。

    如需有關這些端點類型的詳細資訊,請參閱 多模型端點多容器端點推論元件

  • 建立模型的模型套件。您可以使用模型套件來建立發佈的可部署模型AWS Marketplace。

    如需使用此功能的詳細資訊,請參閱「建立模型套件資源」。

  • 在模型容器中使用您自己的推論程式碼。

  • 在模型容器中使用 requirements.txt 檔案。這種類型的檔案會列出套件相依性。

  • 啟用 Hugging Face 參數 trust_remote_code

支援的環境變數

您只能使用下列環境變數設定容器:

  • 大型模型推論 (LMI) 容器的常見環境變數。

    如需這些變數的詳細資訊,請參閱 LMI 容器文件中的環境變數組態

  • Hugging Face 中樞在其 Git 儲存庫中提供之套件的常見環境變數。

    針對儲存庫,請參閱 GitHub 上的 Hugging Face

  • 常見的 PyTorch & CUDA 環境變數。

    如需這些變數的詳細資訊,請參閱 PyTorch 文件中的 Torch 環境變數