

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

# 設定訓練任務以存取資料集
<a name="model-access-training-data"></a>

建立訓練任務時，您可以在所選的資料儲存中指定訓練資料集的位置，並指定任務的資料輸入模式。Amazon SageMaker AI 支援 Amazon Simple Storage Service (Amazon S3)、Amazon Elastic File System (Amazon EFS) 和 Amazon FSx for Lustre。您可以選擇其中一個輸入模式，以即時串流資料集，或是在訓練任務開始時下載整個資料集。

**注意**  
您的資料集必須位於 AWS 區域 與訓練任務相同的 中。

## SageMaker AI 輸入模式和 AWS 雲端儲存選項
<a name="model-access-training-data-input-modes"></a>

本節概述 SageMaker 針對存放在 Amazon EFS 和 Amazon FSx for Lustre 中的資料所支援的檔案輸入模式。

![Amazon S3 的 SageMaker AI 輸入模式以及 Amazon EFS 和 Amazon FSx for Lustre 的檔案系統摘要。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/sagemaker-training-input-mode.png)

+ *檔案模式*會向訓練容器顯示資料集的檔案系統檢視。如果您沒有明確指定其他兩個選項之一，這就是預設的輸入模式。如果您使用檔案模式，SageMaker AI 會將訓練資料從儲存位置下載到 Docker 容器內的本機目錄。訓練會在下載完整資料集之後開始。在檔案模式中，訓練執行個體必須有足夠的儲存空間來容納整個資料集。檔案模式下載速度取決於資料集的大小、檔案的平均大小和檔案的數量。您可以透過提供 Amazon S3 字首、資訊清單檔案或擴增資訊清單檔案來設定檔案模式的資料集。若您的資料集檔案都位於同一個 S3 字首下，應該使用 S3 字首。檔案模式與 [SageMaker AI 本機模式](https://sagemaker.readthedocs.io/en/stable/overview.html#local-mode)相容 (在幾秒內以互動方式啟動 SageMaker 訓練容器)。對於分散式訓練，您可以使用 `ShardedByS3Key` 選項將資料集分成多個執行個體。
+ *快速檔案模式*可讓檔案系統存取 Amazon S3 資料來源，同時利用管道模式的效能優勢。在訓練開始時，快速檔案模式會識別資料檔案，但不會下載它們。可以在不用等待整個資料集下載的情況下開始訓練。這意味著當所提供的 Amazon S3 字首中的檔案較少時，啟動訓練所花費的時間更少。

  與管道模式相反，快速檔案模式可隨機存取資料。但是，當循序讀取資料時，效果最好。快速檔案模式不支援擴增的資訊清單檔案。

  快速檔案模式會使用符合 POSIX 的檔案系統介面公開 S3 物件，就如同檔案在訓練執行個體的區域磁碟上可用一般。當您的訓練指令碼取用資料時，它會隨需串流 S3 內容。這表示您的資料集不再需要放入訓練執行個體儲存空間內，而且您不需要等待資料集下載至訓練執行個體，才能開始訓練執行個體。快速檔案目前僅支援 S3 字首 (不支援資訊清單和擴增資訊清單)。快速檔案模式與 SageMaker AI 本機模式相容。
**注意**  
使用快速檔案模式可能會導致 CloudTrail 成本增加，因為需要額外記錄以下項目：  
Amazon S3 資料事件 (若 CloudTrail 中已啟用)。
AWS KMS 存取使用 AWS KMS 金鑰加密的 Amazon S3 物件時的解密事件。
與 AWS KMS 操作相關的管理事件。
如果您已啟用這些事件類型的 CloudTrail 記錄，請檢閱 CloudTrail 組態並監控成本。
+ *管道模式*會直接從 Amazon S3 資料來源串流資料。串流可以為訓練任務提供比檔案模式更快的啟動時間和較佳的輸送量。

  直接串流資料時，您可以減少訓練執行個體使用的 Amazon EBS 磁碟區的大小。管道模式僅需足夠的磁碟空間來儲存您的最終模型成品。

  這是另一種串流模式，在很大程度上被更新且更易於使用的快速檔案模式取代了。在管道模式下，會以高並行性和輸送量從 Amazon S3 預先擷取資料，然後串流到已命名的管道，也因其行為被稱為先進先出 (FIFO) 管道。每個管道只能由單一程序讀取。TensorFlow 的 SageMaker AI 特定擴充功能，可方便地將[管道模式整合到原生 TensorFlow 資料載入器](https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/using_tf.html#training-with-pipe-mode-using-pipemodedataset)，以便串流文字、TfRecords 或 RecordIO 檔案格式。管道模式還支援管理資料的分割和隨機選取。
+ *Amazon S3 Express One Zone* 是一種高效能的單一可用區域儲存類別，專門為對延遲最敏感的應用程式 (包括 SageMaker 模型訓練) 提供一致的個位數毫秒資料存取。Amazon S3 Express One Zone 可讓客戶在單一 AWS 可用區域中串連其物件儲存和運算資源，以更高的資料處理速度最佳化運算效能和成本。為了進一步提高存取速度並支援每秒數十萬個請求，資料會以新的儲存貯體類型儲存：Amazon S3 目錄儲存貯體。

  SageMaker AI 模型訓練支援高效能 Amazon S3 Express One Zone 目錄儲存貯體，作為檔案模式、快速檔案模式和管道模式的資料輸入位置。若要使用 Amazon S3 Express One Zone，請輸入 Amazon S3 Express One Zone 目錄儲存貯體的位置，而非 Amazon S3 儲存貯體。為 IAM 角色提供 ARN，其中包含必要的存取控制和許可政策。如需詳細資訊，請參閱 [AmazonSageMakerFullAccesspolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html)。您只能使用 Amazon S3 受管金鑰 (SSE-S3) 在伺服器端加密的目錄儲存貯體中加密 SageMaker AI 輸出資料。目前不支援使用 AWS KMS 金鑰 (SSE-KMS) 進行伺服器端加密，以將 SageMaker AI 輸出資料儲存在目錄儲存貯體中。如需詳細資訊，請參閱 [Amazon S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html)。
+ Amazon FSx for Lustre — FSx for Lustre 的輸送量可擴展至數百 GB，還有具有低延遲檔案擷取功能的數百萬 IOPS。開始訓練任務時，SageMaker AI 會將 FSx for Lustre 檔案系統掛載至訓練執行個體檔案系統，然後啟動訓練指令碼。掛載本身是一個相對快速的操作，並不取決於儲存在 FSx for Lustre 中的資料集的大小。

  若要存取 FSx for Lustre，您的訓練任務必須連接到 Amazon 虛擬私有雲端 (VPC)，這需要設定和納入 DevOps。為了避免資料傳輸成本，檔案系統會使用單一可用區域，而且您需要指定一個 VPC 子網路，以便在執行訓練工作時對應到此可用區域 ID。
+ Amazon EFS — 若要使用 Amazon EFS 做為資料來源，資料必須在進行訓練之前先駐留在 Amazon EFS 中。SageMaker AI 會將指定的 Amazon EFS 檔案系統掛載到訓練執行個體，然後啟動您的訓練指令碼。您的訓練任務必須連線至 VPC 才能存取 Amazon EFS。
**提示**  
若要進一步了解如何將 VPC 組態指定給 SageMaker AI 估算器，請參閱 *SageMaker AI Python SDK 文件*內的[使用檔案系統做為訓練輸入](https://sagemaker.readthedocs.io/en/stable/overview.html?highlight=VPC#use-file-systems-as-training-inputs)。