Xây dựng nền tảng hoạt động học máy (MLOps) trong bối cảnh phát triển nhanh chóng của trí tuệ nhân tạo (AI) và học máy (ML) cho các tổ chức là điều cần thiết để thu hẹp khoảng cách giữa thử nghiệm và triển khai khoa học dữ liệu trong khi đáp ứng các yêu cầu xung quanh hiệu suất mô hình, bảo mật và tuân thủ.
Để đáp ứng các yêu cầu về quy định và tuân thủ, các yêu cầu chính khi thiết kế một nền tảng như vậy là:
- Địa chỉ trôi dạt dữ liệu
- Giám sát hiệu suất mô hình
- Tạo điều kiện đào tạo lại mô hình tự động
- Cung cấp quy trình phê duyệt mô hình
- Giữ mô hình trong một môi trường an toàn
Trong bài đăng này, chúng tôi trình bày cách tạo khung MLOps để giải quyết những nhu cầu này trong khi sử dụng kết hợp các dịch vụ AWS và bộ công cụ của bên thứ ba. Giải pháp này yêu cầu thiết lập đa môi trường với việc đào tạo lại mô hình tự động, suy luận hàng loạt và giám sát với Giám sát mô hình Amazon SageMaker, phiên bản mô hình với Sổ đăng ký mô hình SageMakervà quy trình CI/CD để hỗ trợ quảng bá mã ML và quy trình trên các môi trường bằng cách sử dụng Amazon SageMaker, Sự kiện Amazon, Dịch vụ thông báo đơn giản của Amazon (Amazon S3), Địa hình HashiCorp, GitHubvà Jenkins CI/CD. Chúng tôi xây dựng một mô hình để dự đoán mức độ nghiêm trọng (lành tính hoặc ác tính) của tổn thương khối chụp X quang tuyến vú được huấn luyện bằng Thuật toán XGBoost sử dụng công khai có sẵn Khối chụp nhũ ảnh UCI tập dữ liệu và triển khai nó bằng khung MLOps. Các hướng dẫn đầy đủ với mã có sẵn trong Kho GitHub.
Tổng quan về giải pháp
Sơ đồ kiến trúc sau đây thể hiện tổng quan về khung MLOps với các thành phần chính sau:
- Chiến lược đa tài khoản – Hai môi trường khác nhau (dev và prod) được thiết lập trong hai tài khoản AWS khác nhau theo các phương pháp thực hành tốt nhất về Kiến trúc tối ưu của AWS và tài khoản thứ ba được thiết lập trong sổ đăng ký mô hình trung tâm:
- môi trường phát triển – Ở đâu một Miền Amazon SageMaker Studio được thiết lập để cho phép phát triển mô hình, đào tạo mô hình và thử nghiệm các đường dẫn ML (đào tạo và suy luận), trước khi mô hình sẵn sàng được nâng cấp lên các môi trường cao hơn.
- Môi trường sản xuất – Nơi các quy trình ML từ nhà phát triển được thăng cấp lên làm bước đầu tiên và được lên lịch cũng như giám sát theo thời gian.
- Đăng ký mô hình trung tâm – Cơ quan đăng ký mô hình Amazon SageMaker được thiết lập trong một tài khoản AWS riêng để theo dõi các phiên bản mô hình được tạo trên môi trường nhà phát triển và sản phẩm.
- CI/CD và kiểm soát nguồn – Việc triển khai quy trình ML trên các môi trường được xử lý thông qua CI/CD được thiết lập với Jenkins, cùng với việc kiểm soát phiên bản được xử lý thông qua GitHub. Các thay đổi mã được hợp nhất với môi trường tương ứng Nhánh git kích hoạt quy trình làm việc CI/CD để thực hiện các thay đổi phù hợp với môi trường đích nhất định.
- Dự đoán hàng loạt với giám sát mô hình – Đường dẫn suy luận được xây dựng bằng Đường ống Amazon SageMaker chạy theo lịch trình để tạo dự đoán cùng với giám sát mô hình bằng cách sử dụng SageMaker Model Monitor để phát hiện sự trôi dạt dữ liệu.
- Cơ chế đào tạo lại tự động – Quy trình đào tạo được xây dựng bằng SageMaker Pipelines được kích hoạt bất cứ khi nào phát hiện thấy sự trôi dạt dữ liệu trong quy trình suy luận. Sau khi được đào tạo, mô hình sẽ được đăng ký vào cơ quan đăng ký mô hình trung tâm để được người phê duyệt mô hình phê duyệt. Khi được phê duyệt, phiên bản mô hình cập nhật sẽ được sử dụng để tạo dự đoán thông qua quy trình suy luận.
- Cơ sở hạ tầng như mã – Cơ sở hạ tầng dạng mã (IaC), được tạo bằng cách sử dụng Địa hình HashiCorp, hỗ trợ lập lịch trình quy trình suy luận với EventBridge, kích hoạt quy trình đào tạo dựa trên Quy tắc EventBridge và gửi thông báo bằng cách sử dụng Dịch vụ thông báo đơn giản của Amazon (SNS của Amazon) chủ đề.
Quy trình làm việc MLOps bao gồm các bước sau:
- Truy cập miền SageMaker Studio trong tài khoản phát triển, sao chép kho lưu trữ GitHub, thực hiện quá trình phát triển mô hình bằng cách sử dụng mô hình mẫu được cung cấp, đồng thời tạo quy trình đào tạo và suy luận.
- Chạy quy trình đào tạo trong tài khoản phát triển để tạo ra các tạo phẩm mô hình cho phiên bản mô hình đã đào tạo và đăng ký mô hình đó vào Sổ đăng ký mô hình SageMaker trong tài khoản đăng ký mô hình trung tâm.
- Phê duyệt mô hình trong Sổ đăng ký mô hình SageMaker trong tài khoản đăng ký mô hình trung tâm.
- Đẩy mã (quy trình đào tạo và suy luận cũng như mã IaC Terraform để tạo lịch trình EventBridge, quy tắc EventBridge và chủ đề SNS) vào một nhánh tính năng của kho lưu trữ GitHub. Tạo yêu cầu kéo để hợp nhất mã vào nhánh chính của kho GitHub.
- Kích hoạt quy trình CI/CD của Jenkins, được thiết lập bằng kho lưu trữ GitHub. Quy trình CI/CD triển khai mã vào tài khoản sản phẩm để tạo quy trình huấn luyện và quy trình suy luận cùng với mã Terraform để cung cấp lịch trình EventBridge, quy tắc EventBridge và chủ đề SNS.
- Quy trình suy luận được lên lịch chạy hàng ngày, trong khi quy trình đào tạo được thiết lập để chạy bất cứ khi nào phát hiện thấy sự trôi dạt dữ liệu từ quy trình suy luận.
- Thông báo được gửi qua chủ đề SNS bất cứ khi nào có sự cố với đường truyền hoặc đường dẫn suy luận.
Điều kiện tiên quyết
Đối với giải pháp này, bạn nên có các điều kiện tiên quyết sau:
- Ba tài khoản AWS (tài khoản đăng ký mô hình nhà phát triển, sản phẩm và trung tâm)
- Miền SageMaker Studio được thiết lập trong mỗi tài khoản AWS trong số ba tài khoản AWS (xem Tham gia vào Amazon SageMaker Studio hoặc xem video Nhanh chóng truy cập Amazon SageMaker Studio để biết hướng dẫn thiết lập)
- Jenkins (chúng tôi sử dụng Jenkins 2.401.1) với quyền quản trị được cài đặt trên AWS
- Terraform phiên bản 1.5.5 trở lên được cài đặt trên máy chủ Jenkins
Đối với bài đăng này, chúng tôi làm việc trong us-east-1
Khu vực triển khai giải pháp.
Cung cấp khóa KMS trong tài khoản dev và prod
Bước đầu tiên của chúng tôi là tạo Dịch vụ quản lý khóa AWS (AWS KMS) trong tài khoản nhà phát triển và sản phẩm.
Tạo khóa KMS trong tài khoản nhà phát triển và cấp quyền truy cập vào tài khoản sản phẩm
Hoàn thành các bước sau để tạo khóa KMS trong tài khoản nhà phát triển:
- Trên bảng điều khiển AWS KMS, chọn Các khóa do khách hàng quản lý trong khung điều hướng.
- Chọn Tạo khóa.
- Trong Loại chính, lựa chọn Đối xứng.
- Trong Sử dụng chính, lựa chọn Mã hóa và giải mã.
- Chọn Sau.
- Nhập số tài khoản sản xuất để cấp cho tài khoản sản xuất quyền truy cập vào khóa KMS được cung cấp trong tài khoản nhà phát triển. Đây là bước bắt buộc vì trong lần đầu tiên mô hình được đào tạo trong tài khoản nhà phát triển, các thành phần lạ của mô hình sẽ được mã hóa bằng khóa KMS trước khi được ghi vào bộ chứa S3 trong tài khoản đăng ký mô hình trung tâm. Tài khoản sản xuất cần có quyền truy cập vào khóa KMS để giải mã các thành phần lạ của mô hình và chạy quy trình suy luận.
- Chọn Sau và hoàn tất việc tạo khóa của bạn.
Sau khi cung cấp khóa, khóa sẽ hiển thị trên bảng điều khiển AWS KMS.
Tạo khóa KMS trong tài khoản sản phẩm
Thực hiện các bước tương tự trong phần trước để tạo khóa KMS do khách hàng quản lý trong tài khoản sản phẩm. Bạn có thể bỏ qua bước chia sẻ key KMS cho tài khoản khác.
Thiết lập nhóm S3 tạo phẩm mô hình trong tài khoản đăng ký mô hình trung tâm
Tạo nhóm S3 mà bạn chọn bằng chuỗi sagemaker
trong quy ước đặt tên như một phần tên của nhóm trong tài khoản đăng ký mô hình trung tâm, đồng thời cập nhật chính sách nhóm trên nhóm S3 để cấp quyền cho cả tài khoản nhà phát triển và tài khoản sản phẩm để đọc và ghi các tạo phẩm mô hình vào nhóm S3.
Mã sau đây là chính sách vùng lưu trữ sẽ được cập nhật trên vùng lưu trữ S3:
Thiết lập vai trò IAM trong tài khoản AWS của bạn
Bước tiếp theo là thiết lập Quản lý truy cập và nhận dạng AWS (IAM) trong tài khoản AWS của bạn có quyền dành cho AWS Lambda, SageMaker và Jenkins.
Vai trò thực thi lambda
Thiết lập Vai trò thực thi Lambda trong tài khoản dev và prod, sẽ được sử dụng bởi hàm Lambda chạy như một phần của Bước Lambda của SageMaker Pipelines. Bước này sẽ chạy từ quy trình suy luận để tìm nạp mô hình được phê duyệt mới nhất, sử dụng những suy luận nào được tạo ra. Tạo vai trò IAM trong tài khoản dev và prod bằng quy ước đặt tên arn:aws:iam::<account-id>:role/lambda-sagemaker-role
và đính kèm các chính sách IAM sau:
- Chính sách 1 – Tạo chính sách nội tuyến có tên
cross-account-model-registry-access
, cho phép truy cập vào gói mô hình được thiết lập trong sổ đăng ký mô hình ở tài khoản trung tâm: - Chính sách 2 - Gắn AmazonSageMakerTruy cập đầy đủ, đó là một Chính sách do AWS quản lý cấp quyền truy cập đầy đủ vào SageMaker. Nó cũng cung cấp quyền truy cập chọn lọc vào các dịch vụ liên quan, chẳng hạn như Tự động mở rộng quy mô ứng dụng AWS, Amazon S3, Đăng ký container đàn hồi Amazon (Amazon ECR) và Nhật ký Amazon CloudWatch.
- Chính sách 3 - Gắn AWSLambda_FullAccess, đây là chính sách do AWS quản lý nhằm cấp quyền truy cập đầy đủ vào Lambda, các tính năng của bảng điều khiển Lambda và các dịch vụ AWS liên quan khác.
- Chính sách 4 – Sử dụng chính sách tin cậy IAM sau cho vai trò IAM:
Vai trò thực thi SageMaker
Mỗi miền SageMaker Studio được thiết lập trong tài khoản nhà phát triển và tài khoản sản phẩm phải có vai trò thực thi liên quan, bạn có thể tìm thấy vai trò này trên Miền cài đặt trên trang chi tiết tên miền, như minh họa trong ảnh chụp màn hình sau. Vai trò này được sử dụng để chạy các công việc đào tạo, xử lý công việc, v.v. trong miền SageMaker Studio.
Thêm các chính sách sau vào vai trò thực thi SageMaker trong cả hai tài khoản:
- Chính sách 1 – Tạo chính sách nội tuyến có tên
cross-account-model-artifacts-s3-bucket-access
, cấp quyền truy cập vào nhóm S3 trong tài khoản đăng ký mô hình trung tâm, nơi lưu trữ các thành phần lạ của mô hình: - Chính sách 2 – Tạo chính sách nội tuyến có tên
cross-account-model-registry-access
, cho phép truy cập vào gói mô hình trong sổ đăng ký mô hình trong tài khoản đăng ký mô hình trung tâm: - Chính sách 3 – Tạo chính sách nội tuyến có tên
kms-key-access-policy
, cấp quyền truy cập vào khóa KMS đã tạo ở bước trước. Cung cấp ID tài khoản mà chính sách đang được tạo và ID khóa KMS được tạo trong tài khoản đó. - Chính sách 4 - Gắn AmazonSageMakerTruy cập đầy đủ, đó là một Chính sách do AWS quản lý cấp quyền truy cập đầy đủ vào SageMaker và chọn quyền truy cập vào các dịch vụ liên quan.
- Chính sách 5 - Gắn AWSLambda_FullAccess, đây là chính sách do AWS quản lý nhằm cấp quyền truy cập đầy đủ vào Lambda, các tính năng của bảng điều khiển Lambda và các dịch vụ AWS liên quan khác.
- Chính sách 6 - Gắn CloudWatchSự kiệnTruy cập đầy đủ, đây là chính sách do AWS quản lý nhằm cấp quyền truy cập đầy đủ vào Sự kiện CloudWatch.
- Chính sách 7 – Thêm chính sách tin cậy IAM sau cho vai trò IAM thực thi SageMaker:
- Chính sách 8 (dành riêng cho vai trò thực thi SageMaker trong tài khoản sản phẩm) – Tạo chính sách nội tuyến có tên
cross-account-kms-key-access-policy
, cấp quyền truy cập vào khóa KMS được tạo trong tài khoản nhà phát triển. Điều này là bắt buộc để quy trình suy luận đọc các thành phần lạ của mô hình được lưu trữ trong tài khoản đăng ký mô hình trung tâm nơi các thành phần lạ của mô hình được mã hóa bằng khóa KMS từ tài khoản nhà phát triển khi phiên bản đầu tiên của mô hình được tạo từ tài khoản nhà phát triển.
Vai trò của Jenkins trên nhiều tài khoản
Thiết lập vai trò IAM có tên cross-account-jenkins-role
trong tài khoản sản phẩm mà Jenkins sẽ đảm nhận để triển khai quy trình ML và cơ sở hạ tầng tương ứng vào tài khoản sản phẩm.
Thêm các chính sách IAM được quản lý sau vào vai trò:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
Cập nhật mối quan hệ tin cậy trong vai trò cấp quyền cho tài khoản AWS lưu trữ máy chủ Jenkins:
Cập nhật quyền đối với vai trò IAM được liên kết với máy chủ Jenkins
Giả sử rằng Jenkins đã được thiết lập trên AWS, hãy cập nhật vai trò IAM được liên kết với Jenkins để thêm các chính sách sau, điều này sẽ cấp cho Jenkins quyền truy cập để triển khai các tài nguyên vào tài khoản sản phẩm:
- Chính sách 1 – Tạo chính sách nội tuyến sau có tên
assume-production-role-policy
: - Chính sách 2 – Đính kèm
CloudWatchFullAccess
chính sách IAM được quản lý.
Thiết lập nhóm gói mô hình trong tài khoản đăng ký mô hình trung tâm
Từ miền SageMaker Studio trong tài khoản đăng ký mô hình trung tâm, hãy tạo nhóm gói mô hình có tên mammo-severity-model-package
bằng đoạn mã sau (bạn có thể chạy bằng sổ ghi chép Jupyter):
Thiết lập quyền truy cập vào gói mô hình cho vai trò IAM trong tài khoản nhà phát triển và sản phẩm
Cung cấp quyền truy cập vào các vai trò thực thi SageMaker được tạo trong tài khoản nhà phát triển và sản phẩm để bạn có thể đăng ký phiên bản mô hình trong gói mô hình mammo-severity-model-package
trong sổ đăng ký mô hình trung tâm từ cả hai tài khoản. Từ miền SageMaker Studio trong tài khoản đăng ký mô hình trung tâm, hãy chạy mã sau trong sổ tay Jupyter:
Thiết lập Jenkins
Trong phần này, chúng tôi định cấu hình Jenkins để tạo quy trình ML và cơ sở hạ tầng Terraform tương ứng trong tài khoản sản phẩm thông qua quy trình CI/CD của Jenkins.
- Trên bảng điều khiển CloudWatch, tạo nhóm nhật ký có tên
jenkins-log
trong tài khoản sản phẩm mà Jenkins sẽ đẩy nhật ký từ quy trình CI/CD vào. Nhóm nhật ký phải được tạo ở cùng Khu vực với nơi thiết lập máy chủ Jenkins. - Cài đặt các plugin sau trên máy chủ Jenkins của bạn:
- Thiết lập thông tin xác thực AWS trong Jenkins bằng vai trò IAM nhiều tài khoản (
cross-account-jenkins-role
) được cung cấp trong tài khoản sản phẩm. - Trong Cấu hình hệ thống, chọn AWS.
- Cung cấp thông tin xác thực và nhóm nhật ký CloudWatch mà bạn đã tạo trước đó.
- Thiết lập thông tin đăng nhập GitHub trong Jenkins.
- Tạo một dự án mới trong Jenkins.
- Nhập tên dự án và chọn Pipeline.
- trên Tổng Quát tab, chọn Dự án GitHub và nhập vào ngã ba Kho GitHub URL.
- Chọn Dự án này được tham số hóa.
- trên Thêm thông số menu, chọn Tham số chuỗi.
- Trong Họ tên, đi vào
prodAccount
. - Trong Giá trị mặc định, nhập ID tài khoản sản phẩm.
- Theo Tùy chọn dự án nâng cao, Cho Định nghĩa, lựa chọn Tập lệnh đường ống từ SCM.
- Trong SCM, chọn đi.
- Trong URL kho lưu trữ, nhập vào ngã ba Kho GitHub URL.
- Trong Credentials, nhập thông tin đăng nhập GitHub được lưu trong Jenkins.
- đăng ký hạng mục thi
main
trong Chi nhánh để xây dựng phần, dựa vào đó đường dẫn CI/CD sẽ được kích hoạt. - Trong Đường dẫn tập lệnh, đi vào
Jenkinsfile
. - Chọn Lưu.
Quy trình Jenkins phải được tạo và hiển thị trên trang tổng quan của bạn.
Cung cấp nhóm S3, thu thập và chuẩn bị dữ liệu
Hoàn thành các bước sau để thiết lập bộ chứa S3 và dữ liệu của bạn:
- Tạo nhóm S3 mà bạn chọn bằng chuỗi
sagemaker
trong quy ước đặt tên như một phần tên của nhóm trong cả tài khoản dev và prod để lưu trữ tập dữ liệu và các tạo phẩm mô hình. - Thiết lập nhóm S3 để duy trì trạng thái Terraform trong tài khoản sản phẩm.
- Tải xuống và lưu công khai Khối chụp nhũ ảnh UCI tập dữ liệu vào nhóm S3 mà bạn đã tạo trước đó trong tài khoản nhà phát triển.
- Fork và sao chép Kho GitHub trong miền SageMaker Studio trong tài khoản nhà phát triển. Repo có cấu trúc thư mục sau:
- /environments – Tập lệnh cấu hình cho môi trường sản phẩm
- /mlops-hồng ngoại – Code triển khai dịch vụ AWS sử dụng mã Terraform
- / đường ống – Mã cho các thành phần đường ống SageMaker
- tập tin Jenkins – Tập lệnh để triển khai thông qua đường dẫn CI/CD của Jenkins
- setup.py – Cần cài đặt các module Python cần thiết và tạo lệnh run-pipeline
- chụp nhũ ảnh-mức độ nghiêm trọng-modeling.ipynb – Cho phép bạn tạo và chạy quy trình công việc ML
- Tạo một thư mục có tên data trong thư mục kho lưu trữ GitHub được nhân bản và lưu một bản sao có sẵn công khai Khối chụp nhũ ảnh UCI tập dữ liệu.
- Theo dõi sổ ghi chép Jupyter
mammography-severity-modeling.ipynb
. - Chạy đoạn mã sau vào sổ ghi chép để xử lý trước tập dữ liệu và tải nó lên vùng lưu trữ S3 trong tài khoản nhà phát triển:
Mã sẽ tạo ra các bộ dữ liệu sau:
-
- dữ liệu/ mammo-train-dataset-part1.csv – Sẽ dùng để huấn luyện phiên bản đầu tiên của mô hình.
- dữ liệu/ mammo-train-dataset-part2.csv – Sẽ được sử dụng để huấn luyện phiên bản thứ hai của mô hình cùng với tập dữ liệu mammo-train-dataset-part1.csv.
- dữ liệu/mammo-batch-dataset.csv – Sẽ được sử dụng để tạo ra các suy luận.
- dữ liệu/mammo-batch-dataset-outliers.csv – Sẽ đưa các ngoại lệ vào tập dữ liệu để làm hỏng quy trình suy luận. Điều này sẽ cho phép chúng tôi kiểm tra mẫu để kích hoạt việc đào tạo lại mô hình một cách tự động.
- Tải lên tập dữ liệu
mammo-train-dataset-part1.csv
dưới tiền tốmammography-severity-model/train-dataset
và tải lên các tập dữ liệumammo-batch-dataset.csv
vàmammo-batch-dataset-outliers.csv
đến tiền tốmammography-severity-model/batch-dataset
của nhóm S3 được tạo trong tài khoản nhà phát triển: - Tải lên các tập dữ liệu
mammo-train-dataset-part1.csv
vàmammo-train-dataset-part2.csv
dưới tiền tốmammography-severity-model/train-dataset
vào vùng lưu trữ S3 được tạo trong tài khoản sản phẩm thông qua bảng điều khiển Amazon S3. - Tải lên các tập dữ liệu
mammo-batch-dataset.csv
vàmammo-batch-dataset-outliers.csv
đến tiền tốmammography-severity-model/batch-dataset
của nhóm S3 trong tài khoản sản phẩm.
Chạy đường ống xe lửa
Theo <project-name>/pipelines/train
, bạn có thể thấy các tập lệnh Python sau:
- scripts/raw_preprocess.py – Tích hợp với Xử lý SageMaker cho kỹ thuật tính năng
- scripts/evaluate_model.py – Cho phép tính toán số liệu mô hình, trong trường hợp này
auc_score
- train_pipeline.py – Chứa mã cho đường dẫn đào tạo mô hình
Hoàn thành các bước sau:
- Tải tập lệnh lên Amazon S3:
- Lấy ví dụ đường ống xe lửa:
- Gửi đường ống xe lửa và chạy nó:
Hình dưới đây cho thấy quy trình đào tạo đang chạy thành công. Bước cuối cùng trong quy trình đăng ký mô hình trong tài khoản đăng ký mô hình trung tâm.
Phê duyệt mô hình trong sổ đăng ký mô hình trung tâm
Đăng nhập vào tài khoản đăng ký mô hình trung tâm và truy cập sổ đăng ký mô hình SageMaker trong miền SageMaker Studio. Thay đổi trạng thái phiên bản mô hình thành Đã phê duyệt.
Sau khi được phê duyệt, trạng thái sẽ được thay đổi trên phiên bản mô hình.
Chạy quy trình suy luận (Tùy chọn)
Bước này không bắt buộc nhưng bạn vẫn có thể chạy quy trình suy luận để tạo dự đoán trong tài khoản nhà phát triển.
Theo <project-name>/pipelines/inference
, bạn có thể thấy các tập lệnh Python sau:
- scripts/lambda_helper.py – Lấy phiên bản mô hình được phê duyệt mới nhất từ tài khoản đăng ký mô hình trung tâm bằng bước SageMaker Pipelines Lambda
- suy luận_pipeline.py – Chứa mã cho đường dẫn suy luận mô hình
Hoàn thành các bước sau:
- Tải tập lệnh lên nhóm S3:
- Lấy phiên bản đường dẫn suy luận bằng cách sử dụng tập dữ liệu lô thông thường:
- Gửi đường dẫn suy luận và chạy nó:
Hình dưới đây cho thấy quá trình chạy thành công của đường dẫn suy luận. Bước cuối cùng trong quy trình tạo ra các dự đoán và lưu trữ chúng trong bộ chứa S3. Chúng tôi sử dụng Màn HìnhMẻChuyển ĐổiBước để giám sát các đầu vào vào công việc chuyển đổi hàng loạt. Nếu có bất kỳ ngoại lệ nào, đường dẫn suy luận sẽ chuyển sang trạng thái không thành công.
Chạy đường ống Jenkins
Sản phẩm environment/
thư mục trong kho GitHub chứa tập lệnh cấu hình cho tài khoản sản phẩm. Hoàn thành các bước sau để kích hoạt quy trình Jenkins:
- Cập nhật tập lệnh cấu hình
prod.tfvars.json
dựa trên các tài nguyên được tạo ở các bước trước: - Sau khi cập nhật, hãy đẩy mã vào kho lưu trữ GitHub đã phân nhánh và hợp nhất mã vào nhánh chính.
- Chuyển đến giao diện người dùng Jenkins, chọn Xây dựng với các tham sốvà kích hoạt quy trình CI/CD được tạo ở các bước trước.
Khi quá trình xây dựng hoàn tất và thành công, bạn có thể đăng nhập vào tài khoản sản phẩm và xem quy trình đào tạo cũng như quy trình suy luận trong miền SageMaker Studio.
Ngoài ra, bạn sẽ thấy ba quy tắc EventBridge trên bảng điều khiển EventBridge trong tài khoản sản phẩm:
- Lên lịch quy trình suy luận
- Gửi thông báo lỗi trên đường ống tàu
- Khi đường dẫn suy luận không kích hoạt được đường dẫn đào tạo, hãy gửi thông báo
Cuối cùng, bạn sẽ thấy chủ đề thông báo SNS trên bảng điều khiển Amazon SNS gửi thông báo qua email. Bạn sẽ nhận được email yêu cầu bạn xác nhận việc chấp nhận các email thông báo này.
Kiểm tra quy trình suy luận bằng cách sử dụng tập dữ liệu hàng loạt không có ngoại lệ
Để kiểm tra xem quy trình suy luận có hoạt động như mong đợi trong tài khoản sản phẩm hay không, chúng tôi có thể đăng nhập vào tài khoản sản phẩm và kích hoạt quy trình suy luận bằng cách sử dụng tập dữ liệu hàng loạt không có ngoại lệ.
Chạy quy trình thông qua bảng điều khiển SageMaker Pipelines trong miền SageMaker Studio của tài khoản sản phẩm, trong đó transform_input
sẽ là URI S3 của tập dữ liệu không có ngoại lệ (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
Quy trình suy luận thành công và ghi lại các dự đoán vào bộ chứa S3.
Kiểm tra quy trình suy luận bằng cách sử dụng tập dữ liệu hàng loạt có giá trị ngoại lệ
Bạn có thể chạy quy trình suy luận bằng cách sử dụng tập dữ liệu hàng loạt có các giá trị ngoại lệ để kiểm tra xem cơ chế đào tạo lại tự động có hoạt động như mong đợi hay không.
Chạy quy trình thông qua bảng điều khiển SageMaker Pipelines trong miền SageMaker Studio của tài khoản sản phẩm, trong đó transform_input
sẽ là URI S3 của tập dữ liệu có các ngoại lệ (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
Quy trình suy luận không thành công như mong đợi, điều này kích hoạt quy tắc EventBridge, từ đó kích hoạt quy tắc đào tạo.
Sau một lát, bạn sẽ thấy một đường dẫn đào tạo mới chạy trên bảng điều khiển SageMaker Pipelines, bảng điều khiển này chọn hai tập dữ liệu đào tạo khác nhau (mammo-train-dataset-part1.csv
và mammo-train-dataset-part2.csv
) được tải lên vùng lưu trữ S3 để đào tạo lại mô hình.
Bạn cũng sẽ thấy thông báo được gửi đến email đã đăng ký chủ đề SNS.
Để sử dụng phiên bản mô hình đã cập nhật, hãy đăng nhập vào tài khoản đăng ký mô hình trung tâm và phê duyệt phiên bản mô hình. Phiên bản này sẽ được chọn trong lần chạy quy trình suy luận tiếp theo được kích hoạt thông qua quy tắc EventBridge đã lên lịch.
Mặc dù quy trình đào tạo và quy trình suy luận sử dụng URL tập dữ liệu tĩnh, nhưng bạn có thể chuyển URL tập dữ liệu đến quy trình đào tạo và quy trình suy luận dưới dạng biến động để sử dụng các tập dữ liệu đã cập nhật nhằm đào tạo lại mô hình và tạo dự đoán trong kịch bản thế giới thực.
Làm sạch
Để tránh phát sinh các khoản phí trong tương lai, hãy hoàn thành các bước sau:
- Xóa miền SageMaker Studio trên tất cả các tài khoản AWS.
- Xóa tất cả tài nguyên được tạo bên ngoài SageMaker, bao gồm nhóm S3, vai trò IAM, quy tắc EventBridge và chủ đề SNS được thiết lập thông qua Terraform trong tài khoản sản phẩm.
- Xóa quy trình SageMaker được tạo trên các tài khoản bằng cách sử dụng Giao diện dòng lệnh AWS (AWS CLI).
Kết luận
Các tổ chức thường cần phải phù hợp với các bộ công cụ trên toàn doanh nghiệp để cho phép cộng tác giữa các nhóm và khu vực chức năng khác nhau. Sự hợp tác này đảm bảo rằng nền tảng MLOps của bạn có thể thích ứng với nhu cầu kinh doanh ngày càng tăng và đẩy nhanh việc áp dụng ML giữa các nhóm. Bài đăng này giải thích cách tạo khung MLOps trong thiết lập đa môi trường để cho phép đào tạo lại mô hình tự động, suy luận hàng loạt và giám sát bằng Amazon SageMaker Model Monitor, tạo phiên bản mô hình bằng SageMaker Model Registy và quảng bá mã ML và quy trình trên các môi trường với một Đường ống CI/CD. Chúng tôi đã giới thiệu giải pháp này bằng cách sử dụng kết hợp các dịch vụ AWS và bộ công cụ của bên thứ ba. Để biết hướng dẫn triển khai giải pháp này, hãy xem Kho GitHub. Bạn cũng có thể mở rộng giải pháp này bằng cách đưa vào các nguồn dữ liệu và khung mô hình hóa của riêng mình.
Về các tác giả
Gayatri Ghanakota là Kỹ sư Máy học Sơ cấp với Dịch vụ Chuyên nghiệp AWS. Cô ấy đam mê phát triển, triển khai và giải thích các giải pháp AI / ML trên nhiều lĩnh vực khác nhau. Trước khi đảm nhận vai trò này, bà đã lãnh đạo nhiều sáng kiến với tư cách là nhà khoa học dữ liệu và kỹ sư ML với các công ty toàn cầu hàng đầu trong lĩnh vực tài chính và bán lẻ. Cô có bằng thạc sĩ về Khoa học máy tính chuyên ngành Khoa học dữ liệu tại Đại học Colorado, Boulder.
Sunita Koppar là Kiến trúc sư cấp cao Data Lake với Dịch vụ chuyên nghiệp của AWS. Cô ấy đam mê giải quyết những điểm khó khăn của khách hàng khi xử lý dữ liệu lớn và cung cấp các giải pháp có thể mở rộng lâu dài. Trước vai trò này, cô đã phát triển các sản phẩm trong lĩnh vực internet, viễn thông và ô tô và là khách hàng của AWS. Cô có bằng thạc sĩ về Khoa học dữ liệu của Đại học California, Riverside.
dấu gạch ngang Saswata là Nhà tư vấn DevOps với Dịch vụ chuyên nghiệp của AWS. Cô đã làm việc với khách hàng về lĩnh vực chăm sóc sức khỏe và khoa học đời sống, hàng không và sản xuất. Cô đam mê tự động hóa mọi thứ và có kinh nghiệm toàn diện trong việc thiết kế và xây dựng các giải pháp khách hàng quy mô doanh nghiệp trên AWS. Ngoài công việc, cô theo đuổi niềm đam mê chụp ảnh và đón bình minh.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- : có
- :là
- :không phải
- :Ở đâu
- $ LÊN
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- Giới thiệu
- tăng tốc
- chấp nhận
- truy cập
- Tài khoản
- Trợ Lý Giám Đốc
- ngang qua
- Hoạt động
- thích ứng
- thêm vào
- địa chỉ
- hành chính
- Nhận con nuôi
- Sau
- tuổi
- AI
- sắp xếp
- Tất cả
- cho phép
- cho phép
- dọc theo
- Ngoài ra
- đàn bà gan dạ
- Amazon SageMaker
- Amazon Web Services
- an
- và
- Một
- bất kì
- Các Ứng Dụng
- thích hợp
- phê duyệt
- phê duyệt
- kiến trúc
- LÀ
- khu vực
- xung quanh
- nhân tạo
- trí tuệ nhân tạo
- Trí tuệ nhân tạo (AI)
- AS
- yêu cầu
- liên kết
- đảm đương
- đính kèm
- tự động
- Tự động
- Tự động
- Tự động hóa
- ô tô
- có sẵn
- hàng không
- tránh
- AWS
- Khách hàng AWS
- Dịch vụ chuyên nghiệp của AWS
- trở lại
- dựa
- cơ sở
- BE
- bởi vì
- được
- trước
- được
- BEST
- thực hành tốt nhất
- giữa
- lớn
- Dữ Liệu Lớn.
- cả hai
- Chi nhánh
- cầu nối
- Đưa
- xây dựng
- Xây dựng
- xây dựng
- kinh doanh
- nhưng
- by
- phép tính
- california
- gọi là
- CAN
- trường hợp
- trung tâm
- thay đổi
- thay đổi
- Những thay đổi
- tải
- kiểm tra
- sự lựa chọn
- Chọn
- mã
- hợp tác
- thu thập
- Colorado
- Cột
- Cột
- COM
- kết hợp
- hoàn thành
- tuân thủ
- các thành phần
- toàn diện
- máy tính
- Khoa học Máy tính
- điều kiện
- Cấu hình
- Xác nhận
- An ủi
- chuyên gia tư vấn
- Container
- chứa
- điều khiển
- Công ước
- chuyển đổi
- Tương ứng
- tạo
- tạo ra
- Tạo
- Credentials
- Vượt qua
- khách hàng
- Giải pháp khách hàng
- khách hàng
- tiền thưởng
- bảng điều khiển
- dữ liệu
- Hồ dữ liệu
- khoa học dữ liệu
- nhà khoa học dữ liệu
- bộ dữ liệu
- Giải mã
- Mặc định
- Bằng cấp
- triển khai
- triển khai
- triển khai
- triển khai
- thiết kế
- chi tiết
- phát hiện
- phát hiện
- Dev
- phát triển
- phát triển
- Phát triển
- DICT
- khác nhau
- miền
- lĩnh vực
- suốt trong
- năng động
- mỗi
- Sớm hơn
- hiệu lực
- hay
- cho phép
- mã hóa
- ky sư
- đảm bảo
- đăng ký hạng mục thi
- Môi trường
- môi trường
- thiết yếu
- sự kiện
- phát triển
- thực hiện
- dự kiến
- kinh nghiệm
- Giải thích
- giải thích
- thêm
- tạo điều kiện
- FAIL
- thất bại
- không
- Không
- Đặc tính
- Tính năng
- vài
- Hình
- Tập tin
- cuối cùng
- tài chính
- hoàn thành
- hãng
- Tên
- lần đầu tiên
- tiếp theo
- Trong
- tìm thấy
- Khung
- khung
- từ
- Hoàn thành
- Full
- chức năng
- chức năng
- tương lai
- khoảng cách
- tạo ra
- tạo ra
- tạo
- được
- đi
- GitHub
- Cho
- được
- cho
- Toàn cầu
- Go
- Đi
- tài trợ
- Nhóm
- Có
- chăm sóc sức khỏe
- cô
- cao hơn
- giữ
- lưu trữ
- Độ đáng tin của
- Hướng dẫn
- HTML
- http
- HTTPS
- ID
- Bản sắc
- if
- thực hiện
- nhập khẩu
- in
- bao gồm
- Bao gồm
- chỉ số
- Cơ sở hạ tầng
- ban đầu
- khả năng phán đoán
- đầu vào
- cài đặt, dựng lên
- cài đặt
- ví dụ
- hướng dẫn
- Tích hợp
- Sự thông minh
- Internet
- trong
- giới thiệu
- IT
- Việc làm
- việc làm
- jpg
- json
- Key
- phím
- nhãn
- hồ
- cảnh quan
- một lát sau
- mới nhất
- học tập
- Led
- tận dụng
- Cuộc sống
- Khoa học đời sống
- Dòng
- đăng nhập
- lâu
- máy
- học máy
- Chủ yếu
- duy trì
- làm cho
- quản lý
- quản lý
- sản xuất
- Lợi nhuận
- Thánh Lễ
- thạc sĩ
- cơ chế
- cuộc họp
- Menu
- đi
- Metrics
- mất tích
- ML
- MLOps
- kiểu mẫu
- người mẫu
- mô hình
- sửa đổi
- Modules
- Khoảnh khắc
- Màn Hình
- theo dõi
- giám sát
- chi tiết
- nhiều
- tên
- Được đặt theo tên
- đặt tên
- THÔNG TIN
- Cần
- cần thiết
- nhu cầu
- Mới
- tiếp theo
- bình thường
- máy tính xách tay
- thông báo
- thông báo
- con số
- cục mịch
- of
- thường
- on
- ONE
- Hoạt động
- or
- gọi món
- tổ chức
- Nền tảng khác
- ra
- bên ngoài
- kết thúc
- tổng quan
- riêng
- gói
- trang
- Đau
- gấu trúc
- cửa sổ
- một phần
- các bộ phận
- thông qua
- niềm đam mê
- đam mê
- Họa tiết
- hiệu suất
- quyền
- nhiếp ảnh
- đã chọn
- Chọn
- đường ống dẫn
- nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- điểm
- Chính sách
- điều luật
- Bài đăng
- thực hành
- dự đoán
- Dự đoán
- Chuẩn bị
- điều kiện tiên quyết
- trước
- Hiệu trưởng
- Trước khi
- đặc quyền
- quá trình
- xử lý
- Sản lượng
- Sản phẩm
- chuyên nghiệp
- dự án
- thúc đẩy
- Promoted
- xúc tiến
- cho
- cung cấp
- cung cấp
- cung cấp
- cung cấp
- công khai
- Kéo
- Theo đuổi
- Đẩy
- Python
- Mau
- nhanh chóng
- Nguyên
- Đọc
- sẵn sàng
- thế giới thực
- khu
- ghi danh
- đăng ký
- đăng ký
- đăng ký
- nhà quản lý
- liên quan
- mối quan hệ
- tẩy
- kho
- yêu cầu
- cần phải
- Yêu cầu
- tài nguyên
- Thông tin
- phản ứng
- bán lẻ
- trở lại
- bờ sông
- Vai trò
- vai trò
- nguồn gốc
- Quy tắc
- quy tắc
- chạy
- chạy
- nhà làm hiền triết
- Đường ống SageMaker
- tương tự
- Lưu
- lưu
- khả năng mở rộng
- kịch bản
- lịch trình
- lên kế hoạch
- lập kế hoạch
- Khoa học
- KHOA HỌC
- Nhà khoa học
- kịch bản
- kịch bản
- liền mạch
- Thứ hai
- Phần
- an toàn
- an ninh
- xem
- gửi
- gửi
- gửi
- gởi
- riêng biệt
- máy chủ
- dịch vụ
- DỊCH VỤ
- định
- thiết lập
- thiết lập
- Hình dạng
- Chia sẻ
- chị ấy
- nên
- hiển thị
- giới thiệu
- thể hiện
- Chương trình
- Đơn giản
- đoạn
- So
- giải pháp
- Giải pháp
- Giải quyết
- nguồn
- nguồn
- Không gian
- chuyên nghành
- riêng
- chia
- Tiểu bang
- Tuyên bố
- tĩnh
- Trạng thái
- Bước
- Các bước
- Vẫn còn
- hàng
- lưu trữ
- cửa hàng
- Chuỗi
- cấu trúc
- phòng thu
- thành công
- như vậy
- Hỗ trợ
- Mục tiêu
- đội
- viễn thông
- Terraform
- thử nghiệm
- Kiểm tra
- việc này
- Sản phẩm
- Them
- sau đó
- Đó
- Kia là
- điều
- Thứ ba
- của bên thứ ba
- điều này
- số ba
- Thông qua
- thời gian
- đến
- bộ công cụ
- hàng đầu
- chủ đề
- theo dõi
- Train
- đào tạo
- Hội thảo
- Chuyển đổi
- kích hoạt
- được kích hoạt
- kích hoạt
- đúng
- NIỀM TIN
- XOAY
- hai
- ui
- Dưới
- trường đại học
- Đại học California
- Cập nhật
- cập nhật
- tải lên
- URL
- us
- sử dụng
- đã sử dụng
- sử dụng
- tiện ích
- Các giá trị
- khác nhau
- phiên bản
- phiên bản
- thông qua
- Video
- có thể nhìn thấy
- Đồng hồ đeo tay
- we
- web
- các dịch vụ web
- khi nào
- bất cứ khi nào
- trong khi
- cái nào
- trong khi
- sẽ
- với
- ở trong
- không có
- Công việc
- làm việc
- quy trình làm việc
- đang làm việc
- công trinh
- viết
- viết
- Bạn
- trên màn hình
- youtube
- zephyrnet