Sau khi một mô hình được huấn luyện, kiểm định và thêm vào model registry (kho đăng ký mô hình), nó đã sẵn sàng để triển khai. Trong quá trình triển khai mô hình (model deployment), mô hình được đóng gói, kiểm thử và triển khai đến môi trường serving đích. Tương tự như giai đoạn vận hành hóa huấn luyện, quy trình triển khai có thể bao gồm nhiều bước kiểm thử và môi trường khác nhau. Mô hình cũng có thể cần trải qua quy trình quản trị mô hình (model governance) trước khi được phép triển khai.
Hình trên mô tả tổng quan quy trình triển khai mô hình.
Triển khai với No-code/Low-code
Khi sử dụng giải pháp no-code hoặc low-code, quy trình triển khai được đơn giản hóa và ẩn đi từ góc nhìn của nhà khoa học dữ liệu và kỹ sư ML. Thông thường, bạn chỉ cần trỏ đến mô hình trong model registry, và hệ thống sẽ tự động triển khai dựa trên metadata và artifacts đã lưu trữ.
Triển khai với CI/CD (Kiểm soát cao hơn)
Trong các trường hợp cần kiểm soát chi tiết hơn, quy trình triển khai yêu cầu CI/CD phức tạp. Hệ thống CI/CD sẽ:
1. Đọc mã nguồn của model serving component từ source repository.
2. Lấy mô hình từ model registry.
3. Tích hợp, build, kiểm thử và xác thực model serving service.
4. Triển khai service thông qua quy trình progressive delivery (triển khai tiến trình từng phần).
Giai đoạn CI trong Triển khai Mô hình
Các kiểm thử có thể bao gồm:
- Kiểm tra giao diện mô hình: Xem mô hình có chấp nhận đúng định dạng đầu vào và tạo ra đầu ra như mong đợi không.
- Kiểm tra tương thích với hạ tầng đích: Ví dụ, kiểm tra các package cần thiết, hỗ trợ accelerator (GPU/TPU).
- Đánh giá độ trễ (latency) của mô hình.
Giai đoạn CD trong Triển khai Mô hình
Mô hình được triển khai theo phương pháp progressive delivery, bao gồm các kỹ thuật như:
- Canary deployment (UAT): Triển khai từ từ cho một nhóm người dùng nhỏ.
- Blue-green deployment (Swap): Chuyển đổi giữa hai phiên bản song song.
- Shadow deployment: Chạy mô hình mới "trong bóng tối" (không ảnh hưởng đến người dùng thật) để so sánh kết quả.
Các phương pháp này thường tập trung vào:
- Hiệu suất serving (độ trễ, thông lượng).
- Lỗi dịch vụ.
Online Experimentation (Thử nghiệm trực tiếp trên Production)
Sau khi xác nhận mô hình hoạt động ổn định về mặt kỹ thuật, bước tiếp theo là kiểm tra hiệu quả trong môi trường thực tế bằng cách:
- Dần dần chuyển một phần lưu lượng sang mô hình mới.
- Chạy thử nghiệm trực tiếp (online experiments) với traffic thật.
Tại sao online experimentation quan trọng với ML?
Quyết định thay thế mô hình cũ bằng mô hình mới không đơn giản như triển khai phần mềm thông thường. Cần đánh giá đa chiều, bao gồm:
- Tác động đến mục tiêu kinh doanh (ví dụ: tỷ lệ chuyển đổi, doanh thu).
- Độ ổn định trong điều kiện thực tế.
Các kỹ thuật phổ biến:
- A/B testing: So sánh trực tiếp hai phiên bản mô hình.
- Multi-armed bandit (MAB) testing: Tối ưu phân bổ lưu lượng dựa trên hiệu suất tức thời.
Canary và shadow deployment hỗ trợ hiệu quả cho các thử nghiệm này.
Giải thích thuật ngữ:
- Progressive delivery: Triển khai từng phần để giảm rủi ro.
- Canary deployment: Giống như "thả chim hoàng yến" vào hầm mỏ để thử độ an toàn.
- Shadow deployment: Chạy song song nhưng không ảnh hưởng đến người dùng thật.
- Online experiments: Thử nghiệm trực tiếp trên production (khác với offline evaluation).