Xây dựng quy trình phê duyệt và thăng cấp Model Registry trên Amazon SageMaker với sự can thiệp của con người

Bài viết này được viết chung với sự đóng góp của Jayadeep Pabbisetty, Chuyên gia Công nghệ Dữ liệu cấp cao tại Merck, và Prabakaran Mathaiyan, Chuyên gia Công nghệ Máy học cấp cao tại Tiger Analytics.

Quá trình phát triển mô hình học máy (ML) lớn yêu cầu một quy trình phát hành mô hình có khả năng mở rộng tương tự như phát triển phần mềm. Người phát triển mô hình thường làm việc cùng nhau trong việc phát triển các mô hình ML và cần có một nền tảng MLOps mạnh mẽ để làm việc. Một nền tảng MLOps có khả năng mở rộng cần phải bao gồm quy trình xử lý về việc đăng ký, phê duyệt và thăng cấp mô hình ML đến môi trường tiếp theo (môi trường phát triển, kiểm tra, UAT hoặc sản xuất).

Người phát triển mô hình thường bắt đầu làm việc trong môi trường phát triển ML cá nhân trên Amazon SageMaker. Khi một mô hình đã được huấn luyện và sẵn sàng sử dụng, nó cần phải được phê duyệt sau khi đã được đăng ký trong Amazon SageMaker Model Registry. Trong bài viết này, chúng tôi sẽ thảo luận về cách nhóm AWS AI/ML đã hợp tác với nhóm MLOps của Merck Human Health IT để xây dựng một giải pháp sử dụng một quy trình tự động cho việc phê duyệt và thăng cấp mô hình ML với sự can thiệp của con người ở giữa.

Tổng quan về giải pháp

Bài viết này tập trung vào một giải pháp quy trình làm việc mà vòng đời phát triển mô hình học máy có thể sử dụng giữa ống dẫn huấn luyện và ống dẫn suy luận. Giải pháp cung cấp một quy trình có khả năng mở rộng cho MLOps trong việc hỗ trợ quy trình phê duyệt và thăng cấp mô hình học máy với sự can thiệp của con người. Một mô hình học máy được đăng ký bởi một nhà khoa học dữ liệu cần phải được một người phê duyệt xem xét và chấp thuận trước khi nó được sử dụng cho ống dẫn suy luận và trong môi trường cấp độ tiếp theo (kiểm tra, UAT hoặc sản xuất). Giải pháp sử dụng AWS Lambda, Amazon API Gateway, Amazon EventBridge và SageMaker để tự động hóa quy trình với sự can thiệp của con người ở giữa. Sơ đồ kiến trúc tổng thể sau đây thể hiện thiết kế hệ thống tổng thể, các dịch vụ AWS được sử dụng và quy trình để phê duyệt và thăng cấp các mô hình học máy với sự can thiệp của con người từ giai đoạn phát triển đến sản xuất.

Bài viết sau đây sẽ trình bày một quy trình làm việc sử dụng các dịch vụ của AWS (Amazon Web Services), bao gồm các bước sau:

  1. Bước đầu tiên của quy trình là phát triển và đăng ký một mô hình trong SageMaker Model Registry. Tại thời điểm này, trạng thái của mô hình là “PendingManualApproval” (Chờ Xác nhận Thủ công).
  2. EventBridge theo dõi sự thay đổi trạng thái và tự động thực hiện các hành động với các luật đơn giản.
  3. Quy tắc sự kiện đăng ký mô hình EventBridge gọi một hàm Lambda để xây dựng một email với liên kết để phê duyệt hoặc từ chối mô hình đã đăng ký.
  4. Người phê duyệt nhận một email chứa liên kết để xem xét và phê duyệt hoặc từ chối mô hình.
  5. Người phê duyệt phê duyệt mô hình bằng cách theo liên kết trong email đến một điểm cuối API Gateway.
  6. API Gateway gọi một hàm Lambda để bắt đầu cập nhật mô hình.
  7. Hệ thống lưu trữ mô hình được cập nhật trong AWS Parameter Store, một khả năng của AWS Systems Manager, bao gồm phiên bản mô hình, môi trường mục tiêu được phê duyệt và gói mô hình.
  8. Quy trình suy luận (inference pipeline) trích xuất mô hình được phê duyệt cho môi trường mục tiêu từ Parameter Store.
  9. Hàm Lambda thông báo sau suy luận (post-inference notification) thu thập các chỉ số của suy luận hàng loạt và gửi email cho người phê duyệt để thúc đẩy mô hình lên môi trường tiếp theo.

Điều kiện tiên quyết:

Quy trình này giả định rằng môi trường cho quy trình đào tạo đã được thiết lập trong SageMaker, cùng với các tài nguyên khác. Đầu vào cho quy trình đào tạo là bộ dữ liệu tính năng (features dataset). Chi tiết về việc tạo ra các tính năng không được bao gồm trong bài viết này, nhưng nó tập trung vào việc đăng ký, xác nhận và thúc đẩy các mô hình học máy sau khi chúng đã được đào tạo. Mô hình được đăng ký trong SageMaker Model Registry và được quản lý bởi một khung giám sát trong Amazon SageMaker Model Monitor để phát hiện sự thay đổi và tiến hành đào tạo lại trong trường hợp có sự thay đổi của mô hình.

Chi tiết về Quy trình làm việc:

Quy trình xác nhận bắt đầu với một mô hình được phát triển từ một quy trình đào tạo. Khi các nhà khoa học dữ liệu phát triển một mô hình, họ đăng ký nó vào SageMaker Model Registry với trạng thái “PendingManualApproval” (Chờ Xác nhận Thủ công). EventBridge theo dõi SageMaker để theo dõi sự kiện đăng ký mô hình và kích hoạt một quy tắc sự kiện để gọi một hàm Lambda. Hàm Lambda tự động xây dựng một email yêu cầu phê duyệt mô hình với một liên kết đến một điểm cuối API Gateway để gọi một hàm Lambda khác. Khi người phê duyệt theo liên kết để phê duyệt mô hình, API Gateway chuyển tiếp hành động phê duyệt đến hàm Lambda, và hàm Lambda cập nhật SageMaker Model Registry và các thuộc tính của mô hình trong Parameter Store. Người phê duyệt phải được xác thực và thuộc nhóm người phê duyệt được quản lý bởi Active Directory. Xác nhận ban đầu đánh dấu mô hình là “Approved for dev” (Đã Phê Duyệt cho Môi trường Phát triển) nhưng “PendingManualApproval” (Chờ Xác nhận Thủ công) cho bài kiểm tra, UAT và sản xuất. Các thuộc tính của mô hình được lưu trong Parameter Store bao gồm phiên bản mô hình, gói mô hình và môi trường mục tiêu được phê duyệt.

Khi một quy trình suy luận cần trích xuất một mô hình, nó kiểm tra Parameter Store để lấy phiên bản mô hình mới nhất được phê duyệt cho môi trường mục tiêu và lấy thông tin suy luận. Khi quy trình suy luận hoàn thành, một email thông báo sau suy luận được gửi đến một người liên quan yêu cầu phê duyệt để thúc đẩy mô hình lên môi trường cấp tiếp theo. Email chứa thông tin về mô hình và chỉ số cũng như một liên kết phê duyệt đến một điểm cuối API Gateway để gọi hàm Lambda cập nhật các thuộc tính của mô hình.

Dưới đây là trình tự sự kiện và các bước thực hiện cho quy trình xác nhận / thúc đẩy mô hình học máy từ quá trình tạo mô hình đến sản xuất. Mô hình được thúc đẩy từ môi trường phát triển đến bài kiểm tra, UAT và sản xuất với sự phê duyệt của con người trong từng bước.

Chúng ta bắt đầu với quy trình đào tạo, đã sẵn sàng để phát triển mô hình. Phiên bản mô hình bắt đầu từ 0 trong SageMaker Model Registry.

Quy trình đào tạo trên SageMaker phát triển và đăng ký một mô hình trong SageMaker Model Registry. Phiên bản mô hình 1 được đăng ký và bắt đầu với trạng thái Chờ Phê duyệt Thủ công.

Bản ghi dữ liệu của Model Registry có bốn trường tùy chỉnh cho các môi trường: Dev, Test, UAT và Prod.

EventBridge theo dõi SageMaker Model Registry để theo dõi sự thay đổi trạng thái và tự động thực hiện hành động với các quy tắc đơn giản.

Sự kiện đăng ký mô hình kích hoạt một Hàm Lambda để xây dựng một email với liên kết để phê duyệt hoặc từ chối mô hình đã đăng ký.

Người phê duyệt sẽ nhận được một email chứa liên kết để xem xét và phê duyệt (hoặc từ chối) mô hình.

Người phê duyệt xác nhận mô hình bằng cách theo đường dẫn đến điểm cuối API Gateway trong email.

API Gateway gọi Lambda function để khởi đầu quá trình cập nhật mô hình.

Bảng đăng ký SageMaker Model được cập nhật với trạng thái của mô hình.

Thông tin chi tiết về mô hình được lưu trữ trong Parameter Store của AWS, bao gồm phiên bản mô hình, môi trường mục tiêu được phê duyệt và gói mô hình.

Trong bài viết này, chúng ta sẽ tìm hiểu về cách hoạt động của một hệ thống sử dụng các dịch vụ của Amazon Web Services (AWS). Cụ thể, chúng ta sẽ xem xét quy trình triển khai và quản lý mô hình trong môi trường AWS.

  • Quy trình đánh giá mô hình (Inference Pipeline):
    Quy trình đánh giá mô hình (Inference Pipeline) bắt đầu bằng việc truy xuất mô hình đã được phê duyệt cho môi trường đích từ Parameter Store. Parameter Store là một dịch vụ trong AWS dùng để lưu trữ và quản lý các thông tin cấu hình và tham số quan trọng.
  • Hàm thông báo sau đánh giá (Post-inference Notification Lambda function):
    Hàm thông báo sau đánh giá (Post-inference Notification Lambda function) có nhiệm vụ thu thập các số liệu thống kê từ quá trình đánh giá hàng loạt và gửi email thông báo đến người phê duyệt để xem xét và thăng cấp mô hình lên môi trường tiếp theo. Lambda function là một dịch vụ tính toán serverless của AWS.
  • Người phê duyệt và thăng cấp mô hình (Approver and Model Promotion):
    Người phê duyệt sẽ duyệt và thăng cấp mô hình lên cấp độ tiếp theo bằng cách truy cập vào liên kết đến cổng API Gateway (API Gateway endpoint). Điều này sẽ kích hoạt Lambda function để cập nhật SageMaker Model Registry và Parameter Store. SageMaker Model Registry là một dịch vụ trong AWS để quản lý và theo dõi các phiên bản của mô hình.
  • Lịch sử hoàn chỉnh về phiên bản mô hình và phê duyệt (Complete Model Versioning and Approval History):
    Toàn bộ lịch sử về phiên bản của mô hình và quá trình phê duyệt được lưu trữ để kiểm tra trong Parameter Store.

Thông qua các dịch vụ của AWS như Parameter Store, Lambda function, SageMaker Model Registry và API Gateway, quy trình này giúp quản lý và thăng cấp mô hình một cách hiệu quả và bảo đảm tính đáng tin cậy của hệ thống.

Kết luận

Quá trình phát triển mô hình máy học lớn đòi hỏi một quy trình phê duyệt mô hình máy học có khả năng mở rộng. Trong bài viết này, chúng tôi chia sẻ một phiên bản thực hiện quy trình đăng ký, phê duyệt và thúc đẩy mô hình máy học với sự can thiệp của con người bằng cách sử dụng SageMaker Model Registry, EventBridge, API Gateway và Lambda. Nếu bạn đang xem xét một quy trình phát triển mô hình máy học có khả năng mở rộng cho nền tảng MLOps của bạn, bạn có thể tuân theo các bước trong bài viết này để triển khai một quy trình tương tự.

Bài viết gốc: https://aws.amazon.com/blogs/machine-learning/build-an-amazon-sagemaker-model-registry-approval-and-promotion-workflow-with-human-intervention/