設定訓練任務以存取資料集 - Amazon SageMaker

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

設定訓練任務以存取資料集

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

注意

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

SageMaker 輸入模式和 AWS 雲端儲存選項

本節提供 支援的檔案輸入模式概觀, SageMaker 適用於存放在 Amazon EFS和 Amazon FSx for Lustre 中的資料。

Amazon S3 和 Amazon EFS FSx for Lustre 中檔案系統的 SageMaker 輸入模式摘要。
  • 檔案模式會向訓練容器顯示資料集的檔案系統檢視。如果您沒有明確指定其他兩個選項之一,這就是預設的輸入模式。如果您使用檔案模式, 會將訓練資料從儲存位置 SageMaker 下載到 Docker 容器中的本機目錄。訓練會在下載完整資料集之後開始。在檔案模式中,訓練執行個體必須有足夠的儲存空間來容納整個資料集。檔案模式下載速度取決於資料集的大小、檔案的平均大小和檔案的數量。您可以透過提供 Amazon S3 字首、資訊清單檔案或擴增資訊清單檔案來設定檔案模式的資料集。若您的資料集檔案都位於同一個 S3 字首下,應該使用 S3 字首。檔案模式與SageMaker 本機模式相容 (以秒為單位以互動方式啟動 SageMaker 訓練容器)。對於分散式訓練,您可以使用 ShardedByS3Key 選項將資料集分成多個執行個體。

  • 快速檔案模式可讓檔案系統存取 Amazon S3 資料來源,同時利用管道模式的效能優勢。在訓練開始時,快速檔案模式會識別資料檔案,但不會下載它們。可以在不用等待整個資料集下載的情況下開始訓練。這意味著當所提供的 Amazon S3 字首中的檔案較少時,啟動訓練所花費的時間更少。

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

    快速檔案模式會使用 POSIX合規的檔案系統介面公開 S3 物件,就像在訓練執行個體的本機磁碟上提供檔案一樣。當您的訓練指令碼取用資料時,它會隨需串流 S3 內容。這表示您的資料集不再需要放入訓練執行個體儲存空間內,而且您不需要等待資料集下載至訓練執行個體,才能開始訓練執行個體。快速檔案目前僅支援 S3 字首 (不支援資訊清單和擴增資訊清單)。快速檔案模式與 SageMaker 本機模式相容。

  • 管道模式會直接從 Amazon S3 資料來源串流資料。串流可以為訓練任務提供比檔案模式更快的啟動時間和較佳的輸送量。

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

    這是另一個串流模式,主要由更新且 simpler-to-use快速的檔案模式取代。在管道模式中,資料會以高並行和輸送量從 Amazon S3 預先擷取,並串流到名為 的管道中,該管道也稱為行為的 First-In-First-Out(FIFO) 管道。每個管道只能由單一程序讀取。 SageMaker 可 TensorFlow 方便地將管道模式整合到原生 TensorFlow 資料載入器的特定擴充功能TFRecords,用於串流文字、 或 RecordIO 檔案格式。管道模式還支援管理資料的分割和隨機選取。

  • Amazon S3 Express One Zone 是高效能的單一可用區域儲存類別,可為最延遲敏感的應用程式提供一致的單一位數毫秒資料存取,包括 SageMaker 模型訓練。Amazon S3 Express One Zone 可讓客戶在單一 AWS 可用區域中整理物件儲存和運算資源,以更高的資料處理速度最佳化運算效能和成本。為了進一步提高存取速度並支援每秒數十萬個請求,資料會儲存在新的儲存貯體類型中,即 Amazon S3 目錄儲存貯體。

    SageMaker 模型訓練支援高效能 Amazon S3 Express One Zone 目錄儲存貯體,做為檔案模式、快速檔案模式和管道模式的資料輸入位置。若要使用 Amazon S3 Express One Zone,請輸入 Amazon S3 Express One Zone 目錄儲存貯體的位置,而非 Amazon S3 儲存貯體。ARN 為IAM角色提供必要的存取控制和許可政策。請參閱 AmazonSageMakerFullAccesspolicy 以取得詳細資訊。您只能 SageMaker使用 Amazon S3 受管金鑰 (SSE-S3) 加密伺服器端加密的目錄儲存貯體中的輸出資料。目前不支援使用 AWS KMS 金鑰 (SSE-KMS) 的伺服器端加密,以將輸出資料儲存在 SageMaker目錄儲存貯體中。如需詳細資訊,請參閱 Amazon S3 Express One Zone

  • Amazon FSx for Lustre – FSx for Lustre 可以擴展到數百 GB 的輸送量,以及數百萬的IOPS低延遲檔案擷取。啟動訓練任務時, SageMaker 會將 FSx for Lustre 檔案系統掛載到訓練執行個體檔案系統,然後啟動訓練指令碼。掛載本身是一種相對快速的操作,不取決於 FSx Lustre 中存放的資料集大小。

    若要存取 FSx Lustre,您的訓練任務必須連線至需要 DevOps 設定和參與的 Amazon Virtual Private Cloud (VPC)。為了避免資料傳輸成本,檔案系統使用單一可用區域,而且您需要在執行訓練任務時指定對應至此可用區域 ID 的VPC子網路。

  • Amazon EFS – 若要使用 Amazon EFS 作為資料來源,資料必須在 Training. SageMaker mounts 指定的 Amazon EFS 檔案系統到訓練執行個體EFS之前,先存放在 Amazon 中,然後啟動訓練指令碼。您的訓練任務必須連線至 VPC才能存取 Amazon EFS。

    提示

    若要進一步了解如何將VPC組態指定給 SageMaker 估算器,請參閱 SageMaker Python SDK 文件 中的使用檔案系統做為訓練輸入