攜帶自己的容器(BYOC) - Amazon Braket

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

攜帶自己的容器(BYOC)

Amazon Braket 混合任務提供三個預先建置的容器,可在不同的環境中執行程式碼。如果其中一個容器支援您的使用案例,則只需在建立混合作業時提供演算法指令碼。可以使用從算法腳本或requirements.txt文件中添加次要缺少的依賴關係pip

如果這些容器都不支援您的使用案例,或者您希望擴充它們,Braket Hybrid Job 支援使用您自己的自訂執行混合式作業 Docker 容器圖像,或自帶容器(BYOC)。但是在深入研究之前,讓我們確保它實際上是適合您使用案例的正確功能。

什麼時候帶我自己的容器是正確的決定?

將您自己的容器 (BYOC) 帶到 Braket 混合作業中,可以靈活地使用自己的軟體,方法是將其安裝在封裝的環境中。根據您的特定需求,可能有一些方法可以實現相同的靈活性,而無需完全完成 BYOC Docker 構建-Amazon ECR 上傳-自定義圖像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。

注意

您必須遵守所有適用的軟體授權。