本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立推論最佳化任務
您可以使用 Studio 或 SageMaker AI Python SDK 建立推論最佳化任務。任務會透過套用您選擇的技術來最佳化模型。如需詳細資訊,請參閱最佳化技術。
推論最佳化任務的執行個體定價
當您建立套用量化或編譯的推論最佳化任務時,SageMaker AI 會選擇要用來執行任務的執行個體類型。會根據使用的執行個體向您收費。
如需可能的執行個體類型及其定價詳細資訊,請參閱 Amazon SageMaker 定價
對於套用推測性解碼的任務,您不需要支付額外費用。
如需您可以最佳化的支援模型,請參閱支援的模型參考。
完成下列步驟以在 Studio 中建立推論最佳化任務。
開始建立最佳化任務
-
在 SageMaker AI Studio 中,透過下列任一路徑建立最佳化任務:
-
若要為 JumpStart 模型建立任務,請執行下列動作:
-
在導覽選單中,選擇 JumpStart。
-
在所有公有模型頁面上,選擇模型提供者,然後選擇其中一個支援最佳化的模型。
-
在模型詳細資訊頁面上,選擇最佳化。此按鈕僅對支援最佳化的模型啟用。
-
在建立推論最佳化任務頁面上,某些 JumpStart 模型會要求您先簽署終端使用者授權協議 (EULA),才能繼續進行。若有要求,請檢閱授權協議一節中的授權條款。如果這些條款適用於您的使用案例,請選取我接受 EULA 並已閱讀條款與條件核取方塊
-
-
若要為微調的 JumpStart 模型建立任務,請執行下列動作:
-
在導覽功能表中,於任務下方,選擇訓練。
-
在訓練任務頁面上,選擇您用來微調 JumpStart 模型的任務名稱。這些任務在任務類型欄中的類型為 JumpStart 訓練。
-
在訓練任務的詳細資訊頁面上,選擇最佳化。
-
-
若要為自訂模型建立任務,請執行下列動作:
-
在導覽功能表中,於任務下方,選擇推論最佳化。
-
選擇建立新任務。
-
在建立推論最佳化任務頁面上,選擇新增模型。
-
在新增模型視窗中,選擇自訂模型。
-
請選擇下列其中一個選項:
使用您現有的模型 - 選取此選項可最佳化您已在 SageMaker AI 中建立的模型。
現有模型名稱 - 輸入 SageMaker AI 模型的名稱。
從 S3 - 選取此選項以提供來自 Amazon S3 的模型成品。針對 S3 URI,輸入 Amazon S3 中存放模型成品之位置的 URI。
-
(選用) 對於輸出模型名稱,您可以為任務建立的最佳化模型輸入自訂名稱。如果您不提供名稱,Studio 會根據您的選擇自動產生名稱。
-
-
-
在建立推論最佳化任務頁面上,針對任務名稱,您可以接受 SageMaker AI 指派的預設名稱。或者,若要輸入自訂任務名稱,請選擇任務名稱欄位,然後選擇輸入任務名稱。
設定最佳化組態
-
針對部署執行個體類型,選擇您要最佳化其模型的執行個體類型。
執行個體類型會影響您可以選擇的最佳化技術。對於大多數使用 GPU 硬體的類型,支援的技術是量化和推測性解碼。如果您選擇使用自訂晶片的執行個體,例如 AWSInferentia 執行個體 ml.inf2.8xlarge,則支援的技術為編譯,可用來編譯該特定硬體類型的模型。
-
選取 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 會為您選取此選項。
-
-
針對輸出,輸入 Amazon S3 中位置的 URI。在該處,SageMaker AI 會存放任務所建立最佳化模型的成品。
-
(選用) 展開進階選項,對 IAM 角色、VPC 和環境變數等設定進行更精細的控制。如需詳細資訊,請參閱下方的進階選項。
-
完成任務設定後,請選擇建立任務。
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
設定專案
-
在您的應用程式程式碼中,匯入必要的程式庫。以下範例會使用適用於 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 -
初始化 SageMaker AI 工作階段。下列範例使用
Session()類別。sagemaker_session = Session()
定義您的模型
-
建立
SchemaBuilder執行個體,並提供輸入和輸出範例。當您定義模型時,您會將此執行個體提供給ModelBuilder類別。使用它,SageMaker AI 會自動產生封送函數,以序列化和還原序列化輸入和輸出。如需使用
SchemaBuilder或ModelBuilder類別的詳細資訊,請參閱使用 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) -
將模型定義為 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 模型的 ID,例如jumpstart-model-idmeta-textgeneration-llama-3-70b。注意
如果您想要使用推測性解碼進行最佳化,並且想要使用 SageMaker AI 草稿,則必須啟用網路隔離。若要啟用它,請在初始化
ModelBuilder執行個體時包含下列引數:enable_network_isolation=True,如需網路隔離的相關資訊,請參閱網路隔離。
使用量化進行最佳化
-
若要執行量化任務,請使用
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", )在此範例中,
將取代為 ML 執行個體,例如instance-typeml.p4d.24xlarge。將取代為您存放任務所建立最佳化模型的 S3 位置路徑。s3://output-pathoptimize()方法會傳回Model物件,您可以使用該物件將模型部署至端點。 -
當任務完成時,部署模型。下列範例使用
deploy()方法:predictor = optimized_model.deploy( instance_type="instance-type", accept_eula=True, )在此範例中,
將取代為 ML 執行個體,例如instance-typeml.p4d.24xlarge。deploy()方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。
使用 SageMaker AI 草稿模型透過推測性解碼進行最佳化
當您使用推測性解碼來最佳化模型時,您可以選擇使用 SageMaker AI 提供的草稿模型,也可以使用自己的模型。下列範例使用 SageMaker AI 草稿模型。
先決條件
若要使用推測性解碼和 SageMaker AI 草稿模型進行最佳化,您必須在定義模型時啟用網路隔離。
-
若要執行推測性解碼任務,請使用
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", }, )在此範例中,
將取代為 ML 執行個體,例如instance-typeml.p4d.24xlarge。optimize()方法會傳回Model物件,您可以使用該物件將模型部署至端點。 -
當任務完成時,部署模型。下列範例使用
deploy()方法:predictor = optimized_model.deploy(accept_eula=True)deploy()方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。
使用自訂草稿模型透過推測性解碼進行最佳化
您必須先將模型成品上傳到 Amazon S3,才能將自訂草稿模型提供給 SageMaker AI。
下列範例示範提供一種可能的自訂草稿模型方式。這些範例會從 Hugging Face 中樞下載草稿模型,將其上傳至 Amazon S3,並將 S3 URI 提供給 speculative_decoding_config 引數。
-
如果您想要從 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, )在此範例中,會將
取代為 Hugging Face 中樞的模型 ID,例如model-idmeta-llama/Meta-Llama-3-8B。將取代為本機目錄。將download-dir取代為您的存取記號。若要了解如何取得您的存取記號,請參閱 Hugging Face 文件中的使用者存取記號hf-access-token。 如需
huggingface_hub程式庫的詳細資訊,請參閱 Hugging Face 文件中的 中樞用戶端程式庫。 -
若要讓下載的模型可供 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", )在此範例中,將
取代為限定詞,幫助您區分 S3 中的草稿模型,例如prefixspec-dec-custom-draft-model。upload_data()方法會傳回模型成品的 S3 URI。 -
若要執行推測性解碼任務,請使用
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 + "/", }, )在此範例中,
將取代為 ML 執行個體,例如instance-typeml.p4d.24xlarge。optimize()方法會傳回Model物件,您可以使用該物件將模型部署至端點。 -
當任務完成時,部署模型。下列範例使用
deploy()方法:predictor = optimized_model.deploy(accept_eula=True)deploy()方法會傳回預測器物件,您可以使用此物件將推論請求傳送至託管模型的端點。
使用編譯進行最佳化
-
若要執行編譯任務,請使用
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", )在此範例中,將
設定為具有加速硬體的 ML 執行個體類型。例如,對於使用 AWSInferentia 的加速推論,您可以將 類型設定為 Inf2 執行個體,例如instance-typeml.inf2.48xlarge。將取代為您存放任務所建立最佳化模型的 S3 位置路徑。s3://output-path -
當任務完成時,部署模型。下列範例使用
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 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 環境變數
。