本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用您自己的容器 (BYOC)
Amazon Braket Hybrid Jobs 提供三個預先建置的容器,用於在不同環境中執行程式碼。如果其中一個容器支援您的使用案例,您只需在建立混合任務時提供演算法指令碼。您可以從演算法指令碼或使用 從 requirements.txt
檔案新增次要缺少的相依性pip
。
如果這些容器都不支援您的使用案例,或者如果您想要擴展使用案例,則 Braket Hybrid Jobs 支援使用您自己的自訂Docker容器映像執行混合任務,或自備容器 (BYOC)。但在深入探討之前,讓我們確保它實際上是適合您使用案例的正確功能。
何時將我自己的容器帶入正確的決策?
將您自己的容器 (BYOC) 帶到 Braket Hybrid Jobs,可讓您在封裝環境中安裝自己的軟體,藉此靈活地使用自己的軟體。根據您的特定需求,可能有一些方式可以實現相同的彈性,而無需完成完整BYOC Docker建置 - Amazon ECR 上傳 - 自訂映像 URI 週期。
注意
如果您想要新增少量可公開取得的其他 Python 套件 (通常少於 10 個),BYOC 可能不是正確的選擇。例如,如果您使用的是 PyPi。
在這種情況下,您可以使用其中一個預先建置的 Braket 映像,然後在任務提交時將requirements.txt
檔案包含在來源目錄中。檔案會自動讀取,並正常pip
安裝具有指定版本的套件。如果您要安裝大量套件,則任務的執行時間可能會大幅增加。檢查 Python,如果適用,檢查您要用來測試軟體是否可運作的預先建置容器 CUDA 版本。
當您想要為任務指令碼使用非 Python 語言 (例如 C++ 或 Rust),或想要使用透過 Braket 預先建置容器無法使用的 Python 版本時,BYOC 是必要的。如果出現下列情況,這也是不錯的選擇:
-
您使用的軟體具有授權金鑰,而且您需要針對授權伺服器驗證該金鑰,才能執行軟體。使用 BYOC,您可以在Docker映像中嵌入授權金鑰,並包含用於驗證授權金鑰的程式碼。
-
您使用的軟體無法公開取得。例如,軟體託管在您需要特定 SSH 金鑰才能存取的私有 GitLab 或 GitHub 儲存庫上。
-
您需要安裝未封裝在 Braket 提供的容器中的大型軟體套件。由於軟體安裝,BYOC 可讓您消除混合任務容器的長啟動時間。
BYOC 也可讓您透過使用軟體建置Docker容器並提供給使用者,讓自訂 SDK 或演算法可供客戶使用。您可以在 Amazon ECR 中設定適當的許可來執行此操作。
注意
您必須遵守所有適用的軟體授權。