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