Cloud TPU 資料的儲存空間選項
本文說明在 Cloud TPU 上訓練模型時可用的資料儲存選項。
簡介
Cloud TPU 需要資料儲存空間,用於:
- 下載及預先處理資料集
- 主機輸入管道處理
- 模型訓練輸入內容
- 模型訓練輸出內容
Cloud TPU 應用程式資料和訓練資料集的儲存選項如下:
- 持久性區塊儲存空間,包括開機磁碟和附加儲存空間磁碟
- Cloud Storage bucket
- Cloud Storage FUSE
- Compute Engine VM 上的 Filestore 檔案共用區
如要進一步瞭解如何管理儲存空間,請參閱下列頁面:
耐用的區塊儲存空間
持久區塊儲存空間 (也稱為「磁碟」或「磁碟區」) 可用於儲存資料,以便在停止、暫停或刪除 TPU VM 後保留資料。即使 TPU VM 發生當機或故障,您仍可使用耐久型區塊儲存空間。您可以使用 TPU VM 開機磁碟,或將其他區塊儲存空間連結至 TPU。
在下列情況下,您可能需要連接額外磁碟:
- 訓練資料集大小超過 TPU 開機磁碟大小。
- 您擁有唯讀資料,並想使用 Hyperdisk ML 磁碟區加快讀取存取速度。
您可以將兩種耐用型區塊儲存空間附加至 Cloud TPU:Google Cloud Hyperdisk 和 Persistent Disk。最新機器系列 (包括 Cloud TPU v6e) 不支援永久磁碟。Google 建議使用 Google Cloud Hyperdisk,以獲得最高效能和進階功能。
TPU VM 開機磁碟
根據預設,每個 Cloud TPU VM 都有一個包含作業系統的 100 GiB 開機磁碟。只要總量不超過開機磁碟的可用空間,開機磁碟也可以用於暫時儲存下載的資料集,以進行前處理和模型輸入與輸出資料。
您無法調整 Cloud TPU 的開機磁碟大小。如果應用程式需要的儲存空間超出預設開機磁碟大小,您可以為 TPU VM 執行個體新增一或多個耐久性磁碟。詳情請參閱「將持久性區塊儲存空間掛接到 TPU VM」。
自訂 Cloud TPU VM 開機磁碟的最佳做法
Cloud TPU VM 提供彈性,可讓您使用啟動指令碼或建立自訂映像檔,自訂客體 OS 環境。不過,Cloud TPU VM 的開機磁碟復原功能有限。您無法卸載或建立開機磁碟的快照以進行離線修復,因此請謹慎進行會影響啟動程序的變更。遵循這些最佳做法,即可在自訂 Cloud TPU VM 環境時,降低啟動失敗的風險。
主要原則:
盡量減少開機磁碟修改次數:盡可能在永久磁碟或 Hyperdisk 磁碟區上安裝應用程式及儲存資料,而非大量修改開機磁碟。
使用 UUID 掛接:將項目新增至
/etc/fstab時,請一律使用 UUID 來識別磁碟和分割區 (UUID=...),而非/dev/sdb1等裝置名稱,因為自動產生的裝置名稱無法保證在重新啟動後維持不變。
建議:
錯誤處理:在指令碼中導入完善的錯誤檢查機制和正常失敗模式。將詳細訊息記錄到序列主控台和 Cloud Logging,協助進行偵錯。
重要依附元件:修改開機必備檔案 (例如
/etc/fstab、網路設定或系統啟動載入程式設定) 時,請務必小心謹慎。語法錯誤或輸入錯誤可能會導致 VM 無法開機。次要磁碟:如果指令碼依賴次要磁碟,請確保指令碼可處理磁碟可能不存在或連接時間比預期長的情況。除非絕對必要,否則請避免開機程序嚴重依賴次要磁碟掛接。
範例「/etc/fstab」項目:
- 建議使用:
UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /mnt/mydata ext4 defaults,nofail 0 2 - 不建議使用:
/dev/sdb1 /mnt/mydata ext4 defaults 0 2
使用
nofail可防止系統在找不到磁碟時停止運作,但請確保應用程式可以處理無法使用的掛接點。- 建議使用:
套件管理:新增第三方存放區時請務必謹慎。請確認這些驅動程式可信,且與基本 OS 映像檔相容。瞭解您安裝的任何套件的依附元件,以及這些依附元件對系統程式庫的潛在影響。
磁碟空間:監控開機磁碟使用率。如果記錄檔過多或安裝的軟體過大,開機磁碟可能會填滿,導致 VM 無法啟動。
記錄:將應用程式和指令碼設定為詳細記錄到序列埠控制台,因為這是診斷 Cloud TPU VM 啟動問題的主要工具。
附加的儲存空間
Hyperdisk 和永久磁碟都是耐用的網路儲存裝置,可供 VM 執行個體存取,就像是桌上型電腦或伺服器中的實體磁碟。這兩種磁碟都是獨立於虛擬機器 (VM) 執行個體建立,因此即使刪除 VM 執行個體,資料也不會遺失。
與永久磁碟相比,Hyperdisk 的優點包括可自訂效能、更高的 IOPS 和總處理量上限。如要進一步瞭解 Hyperdisk 和永久磁碟,請參閱「選擇磁碟類型」一文。
如要進一步瞭解如何搭配 TPU VM 使用持久性區塊儲存空間,請參閱「將持久性區塊儲存空間掛接到 TPU VM」。
磁碟備份
如果 TPU VM 停滯在「不明」狀態,或您刪除了資料,可能就難以從開機磁碟擷取資料。請務必使用其他儲存空間選項 (例如 Cloud Storage 值區) 備份資料。
如果您將資料儲存在連接的磁碟上,可以使用磁碟快照,以增量方式備份磁碟上的資料。TPU 開機磁碟不支援磁碟快照。詳情請參閱「關於磁碟快照」一文。
Cloud Storage 值區
Cloud Storage 值區是最具彈性、擴充性和耐用性的儲存空間選項,適用於您的 VM 執行個體。如果訓練工作不需要低延遲的耐用區塊儲存空間,您可以將資料集儲存在 Cloud Storage 值區中。
Cloud Storage bucket 的效能取決於您選取的儲存空間級別,以及 bucket 相對於執行個體的位置。
在與 TPU VM 相同的可用區中建立 Cloud Storage 值區,可提供與耐用區塊儲存空間相當的效能,但延遲較高,總處理量較不一致。
所有 Cloud Storage bucket 都內建備援空間,就算遇上設備毀損也能保護您的資料,並透過資料中心維護事件確保資料可用性。檢查碼機制會計算所有 Cloud Storage 的作業,以協助確保您的讀取內容與寫入內容相符。
與耐用型區塊儲存空間不同,Cloud Storage 值區不限於您的執行個體所在的區域。此外,您可以同時從多個執行個體讀寫資料至值區。舉例來說,您可以在多個可用區內設定執行個體,並在同一 bucket 內讀寫資料,而非將資料複製到多個可用區中的耐久型區塊儲存空間。
如要進一步瞭解如何將 TPU VM 連線至 Cloud Storage bucket,請參閱「連線至 Cloud Storage bucket」。
Cloud Storage FUSE
Cloud Storage FUSE 可讓您掛接及存取 Cloud Storage 值區,做為本機檔案系統。應用程式即可使用標準檔案系統語意,讀取及寫入 bucket 中的物件。
如要進一步瞭解 Cloud Storage FUSE 的運作方式,以及 Cloud Storage FUSE 作業如何對應至 Cloud Storage 作業,請參閱 Cloud Storage FUSE 說明文件。如要進一步瞭解如何使用 Cloud Storage FUSE,例如如何安裝 Cloud Storage FUSE CLI,以及在 GitHub 上掛接值區,請參閱相關說明。
Filestore 檔案共用區
Filestore 檔案共用區是適用於 Compute Engine 的全代管網路附加儲存裝置 (NAS)。Filestore 可相容於現有企業應用程式,並支援任何 NFSv3 相容用戶端。
Filestore 具有低延遲時間的特性,能夠迅速處理檔案作業。對於容易受到延遲時間影響的工作負載,Filestore 支援最高 100 TiB 的容量,處理量每秒高達 25 GiB,IOPS 則可達 72 萬,效能變異極小。
您可以使用 Filestore 在 TPU VM 上掛接檔案共用區。
後續步驟
- 瞭解如何在執行個體中新增耐久型區塊儲存空間。
- 瞭解如何將執行個體連線至 Cloud Storage 值區。