

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

# 什麼是 SageMaker AI 專案？
<a name="sagemaker-projects-whatis"></a>

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

您可以使用存放在 Amazon S3 儲存貯體中的自訂範本，或使用來自 或 SageMaker AI 的範本來佈建 SageMaker 專案。 AWS Service Catalog 如需 AWS Service Catalog 的相關資訊，請參閱[什麼是 AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/dg/what-is-service-catalog.html)。MLOps 工程師和組織管理員可以透過 SageMaker 專案定義自己的範本，或使用 SageMaker AI 提供的範本。SageMaker AI 提供的範本透過原始碼版本控制、自動化機器學習 (ML) 管道和一系列程式碼來啟動 ML 工作流程，從而快速開始重複執行 ML 使用案例。

## 何時應該使用 SageMaker AI 專案？
<a name="sagemaker-projects-when"></a>

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

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

每個組織都有自己的一組標準和實務，為其 AWS 環境提供安全和控管。SageMaker AI 為想要快速開始使用 ML 工作流程和 CI/CD 的組織提供了一組第一方範本。範本包括使用 CI/CD AWS原生服務的專案 AWS CodeBuild，例如 AWS CodePipeline和 AWS CodeCommit。這些範本也提供建立使用第三方工具 (例如 Jenkins 和 GitHub) 之專案的選項。如需 SageMaker AI 提供的專案範本清單，請參閱[使用 SageMaker AI 提供的專案範本](sagemaker-projects-templates-sm.md)。

組織通常需要嚴格控制其佈建和管理的 MLOps 資源。此類責任需要承擔某些任務，包括設定 IAM 角色和政策、強制執行資源標籤、強制執行加密，以及跨多個帳戶對資源進行解耦。SageMaker Projects 可以透過自訂範本產品支援所有這些任務，其中組織會使用 CloudFormation 範本來定義 ML 工作流程所需的資源。資料科學家可以選擇範本來引導和預先設定其機器學習 (ML) 工作流程。

若要開始使用，建議您在 Amazon S3 儲存貯體中建立和存放自訂範本。這樣做可讓您在組織支援的任何區域中建立儲存貯體。S3 支援版本控制，因此您可以維護範本的多個版本，並視需要轉返。如需如何從 Amazon S3 儲存貯體中的範本存放區建立專案的詳細資訊，請參閱 [使用來自 Amazon S3 儲存貯體的範本](sagemaker-projects-templates-custom.md#sagemaker-projects-templates-s3)。

或者，您也可以將自訂範本建立為 Service Catalog 產品，也可以在 Studio 或 **Organization Templates** 下的 Studio Classic UI 中進行佈建。Service Catalog 是一項服務，可協助組織建立和管理已核准用於 的產品目錄 AWS。如需建立自訂範本的詳細資訊，請參閱[建置自訂 SageMaker AI 專案範本 - 最佳實務](https://aws.amazon.com/blogs/machine-learning/build-custom-sagemaker-project-templates-best-practices/)。

雖然您可以使用任一選項，但我們建議您透過 Service Catalog 使用 S3 儲存貯體，因此您可以在可使用 SageMaker AI 的支援區域中建立儲存貯體，而無需管理 Service Catalog 的複雜性。

SageMaker 專案可協助您管理 Git 儲存庫，從而提高跨團隊共同作業效率、確保程式碼一致性，並支援 CI/CD。SageMaker 專案可協助您完成下列任務：
+ 在一個專案下整理機器學習 (ML) 生命週期的所有實體。
+ 為模型訓練和部署建立一鍵式方法來設定標準機器學習 (ML) 基礎設施，並將最佳實務納入其中。
+ 建立和共用機器學習 (ML) 基礎設施範本，以處理多個使用案例。
+ 利用 SageMaker AI 提供的預先建置範本，快速開始專注於模型建置，或使用組織特定的資源和指南建立自訂範本。
+ 通過擴展項目範本與您選擇的工具集成。如需範例，請參閱[建立 SageMaker AI 專案以與 GitLab 和 GitLab 管道整合](https://aws.amazon.com/blogs/machine-learning/build-mlops-workflows-with-amazon-sagemaker-projects-gitlab-and-gitlab-pipelines/)。
+ 在一個專案下整理機器學習 (ML) 生命週期的所有實體。

## SageMaker AI 專案中有什麼？
<a name="sagemaker-projects-within"></a>

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

![管道的 ML 工作流程圖，其中包含模型訓練和部署步驟。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/projects/projects-ml-workflow.png)


採用 SageMaker AI 提供之範本的典型專案可能包括下列項目：
+ 一個或多個包含範例程式碼的儲存庫，用於建置和部署機器學習 (ML) 解決方案。這些都是工作範例，您可以進行修改以符合您的需求。此程式碼歸您所有，您可以利用版本控制的儲存庫來完成自己的任務。
+ SageMaker AI 管道定義資料準備、訓練、模型評估和模型部署的步驟，如下圖所示。  
![具有資料準備、訓練、模型評估和模型部署步驟的 SageMaker AI 管道。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/projects/pipeline-in-project-simple.png)
+ CodePipeline 或 Jenkins 管道，每次您簽入新版本的程式碼時會執行 SageMaker AI 管道。如需 CodePipeline 的資訊，請參閱[什麼是 AWS CodePipeline。](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)如需與 Jenkins 相關的資訊，請參閱 [Jenkins 使用者文件](https://www.jenkins.io/doc/)。
+ 包含模型版本的模型群組。每次您核准從 SageMaker AI 管道執行產生的模型版本時，都可以將其部署到 SageMaker AI 端點。

每個 SageMaker AI 專案都有唯一的名稱和 ID，以標籤形式套用至專案中 AWS 建立的所有 SageMaker AI 和資源。使用名稱和 ID，您可以檢視與專案相關聯的所有實體。其中包含：
+ 管道
+ 已註冊模型
+ 已部署模型 (端點)
+ 資料集
+ Service Catalog 產品
+ CodePipeline 和 Jenkins 管道
+ CodeCommit 和第三方 Git 儲存庫

## 是否必須建立專案才能使用 SageMaker AI 管道？
<a name="sagemaker-projects-need"></a>

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

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