什麼是 SageMaker 專案? - Amazon SageMaker

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

什麼是 SageMaker 專案?

SageMaker 專案可協助組織為資料科學家設定和標準化開發人員環境,並為MLOps工程師設定 CI/CD 系統。專案也可協助組織設定相依性管理、程式碼儲存庫管理、建置可重複性,以及成品共用。

您可以使用自訂或 SageMaker提供的範本,從 AWS Service Catalog 佈建 SageMaker 專案。如需 AWS Service Catalog 的相關資訊,請參閱什麼是 AWS Service Catalog。透過 SageMaker Projects,MLOps工程師和組織管理員可以定義自己的範本或使用 SageMaker提供的範本。 SageMaker提供的範本透過來源版本控制、自動化 ML 管道和一組程式碼來啟動 ML 工作流程,以快速開始在 ML 使用案例中迭代。

何時應使用 SageMaker專案?

重要

自 2024 年 9 月 9 日起,不再支援使用 AWS CodeCommit 儲存庫的專案範本。對於新專案,請從使用第三方 Git 儲存庫的可用專案範本中選取 。

筆記本對於建立模型和實驗很有幫助,但共用程式碼的資料科學家和機器學習 (ML) 工程師團隊需要一種可擴展性更高的方式來維持程式碼一致性和嚴格的版本控制。

每個組織都有自己的一套標準和實務,可為其 AWS 環境提供安全和治理。 為想要快速開始使用 ML 工作流程和 CI/CD 的組織 SageMaker 提供一組第一方範本。範本包括使用 CI/CD AWS原生服務的專案,例如 AWS CodeBuild AWS CodePipeline、 和 AWS CodeCommit。範本也提供建立使用第三方工具的專案的選項,例如 Jenkins 和 GitHub。如需 SageMaker 提供的專案範本清單,請參閱 使用 SageMaker提供的專案範本

組織通常需要嚴格控制其佈建和管理MLOps的資源。此類責任承擔某些任務,包括設定IAM角色和政策、強制執行資源標籤、強制執行加密和解耦多個帳戶的資源。 SageMaker 專案可以透過自訂範本產品支援所有這些任務,其中組織會使用 AWS CloudFormation 範本來定義 ML 工作流程所需的資源。資料科學家可以選擇範本來引導和預先設定其機器學習 (ML) 工作流程。這些自訂範本會建立為 Service Catalog 產品,您可以在 Studio 或 Studio Classic UI 中 Organization Templates 下進行佈建。Service Catalog 是一項服務,可協助組織建立和管理核准用於 的產品目錄 AWS。如需建立自訂範本的詳細資訊,請參閱建置自訂 SageMaker 專案範本 – 最佳實務

SageMaker 專案可協助您管理 Git 儲存庫,讓您更有效率地跨團隊協作、確保程式碼一致性,並支援 CI/CD。 SageMaker 專案可協助您完成下列任務:

  • 在一個專案下整理機器學習 (ML) 生命週期的所有實體。

  • 為模型訓練和部署建立一鍵式方法來設定標準機器學習 (ML) 基礎設施,並將最佳實務納入其中。

  • 建立和共用機器學習 (ML) 基礎設施範本,以處理多個使用案例。

  • 利用 SageMaker提供的預先建置範本,快速開始專注於模型建置,或使用組織特定的資源和指導方針建立自訂範本。

  • 通過擴展項目範本與您選擇的工具集成。如需範例,請參閱建立要與 整合的 SageMaker 專案 GitLab 和 GitLab管道

  • 在一個專案下整理機器學習 (ML) 生命週期的所有實體。

什麼是 SageMaker 專案?

客戶可以靈活地使用最適合其使用案例的資源來設定專案。以下範例展示 ML 工作流程MLOps的設定,包括模型訓練和部署。

管道的 ML 工作流程圖,其中包含模型訓練和部署步驟。

具有 SageMaker提供之範本的典型專案可能包括下列項目:

  • 一個或多個包含範例程式碼的儲存庫,用於建置和部署機器學習 (ML) 解決方案。這些是您可以根據您的需求修改的工作範例。此程式碼歸您所有,您可以利用版本控制的儲存庫來完成自己的任務。

  • 定義資料準備、訓練、模型評估和模型部署步驟的 SageMaker 管道,如下圖所示。

    包含資料準備、訓練、模型評估和模型部署步驟的 SageMaker 管道。
  • CodePipeline 或 Jenkins 管道,每次您檢查新版本的程式碼時都會執行 SageMaker 您的管道。如需 的相關資訊 CodePipeline,請參閱什麼是 AWS CodePipeline。如需與 Jenkins 相關的資訊,請參閱 Jenkins 使用者文件

  • 包含模型版本的模型群組。每次您從 SageMaker 管道執行核准產生的模型版本時,都可以將其部署到 SageMaker 端點。

每個 SageMaker 專案都有一個唯一的名稱和 ID,可做為標籤套用至在專案中建立的所有 SageMaker 和 AWS 資源。使用名稱和 ID,您可以檢視與專案相關聯的所有實體。其中包含:

  • 管道

  • 已註冊模型

  • 已部署模型 (端點)

  • 資料集

  • Service Catalog 產品

  • CodePipeline 和 Jenkins 管道

  • CodeCommit 和第三方 Git 儲存庫

我需要建立專案才能使用 SageMaker管道嗎?

否。 SageMaker 管道是獨立的實體,例如訓練任務、處理任務和其他 SageMaker 任務。您可以使用 SageMaker Python 直接在筆記本中建立、更新和執行管道,SDK而無需使用 SageMaker 專案。

專案提供額外一個層級,可協助您整理程式碼,並採用生產品質系統所需的作業最佳實務。