2.1. 🎯 Chiến lược Quản lý Vòng đời Mô hình ML#

Đây là một workflow được thiết kế theo mô hình “2 Tốc độ” (Two-Speed), kết hợp giữa sự ổn định, tự động hóa (“nhà máy” model) và sự đột phá chiến lược do con người dẫn dắt.

  1. 🚄 Tốc độ 1 - Làn Tự động (Automated Track): Vận hành hàng ngày để liên tục tinh chỉnh kiến trúc model hiện tại (v1.1, v1.2,…), thích ứng với những thay đổi nhỏ của dữ liệu.

  2. 🚀 Tốc độ 2 - Làn Chiến lược (Strategic Track): Quy trình nghiên cứu để tạo ra các bước nhảy vọt về công nghệ và hiệu suất (v2.0, v3.0,…).

2.1.1. Bảng tra cứu Alias, Status và Ý nghĩa#

Bảng này định nghĩa tất cả các vai trò (Alias) và trạng thái (Status Tag) được sử dụng trong vòng đời của một model, theo hệ thống mới.

Alias (Vai trò)

Status Tag

Ý nghĩa

(Không có)

candidate

Ứng viên thô, mới được tạo từ Làn Tự động, chưa qua kiểm định.

(Không có)

poor

không qua validated hoặc đã qua kiểm định nhưng không vượt trội hơn model production.

@auto-challenger hoặc @super-challenger

validated

Ứng viên đã được máy xác nhận vượt trội, sẵn sàng cho vòng sàng lọc.

@auto-challenger hoặc @super-challenger

in-review

Đã qua sàng lọc ban đầu, đang chờ được review trong buổi họp chính thức.

@archived

rejected

(Kết thúc) Model bị từ chối ở vòng sàng lọc hoặc vòng review team.

@staging

testing

Đã được duyệt, đang trong quá trình kiểm thử pilot ở môi trường Staging/Canary.

@archived

failed

(Kết thúc) Model thất bại trong giai đoạn kiểm thử pilot (staging) hoặc bị rollback về model trước đó.

@production

approved

Model đang phục vụ traffic thật. Đây là vai trò quan trọng nhất.

@previous-production

approved

Model production phiên bản trước đó, sẵn sàng để rollback nhanh.

@archived

decommissioned

(Kết thúc) Model production cũ đã lỗi thời và không còn cần thiết.

2.1.2. Giai đoạn 1: Huấn luyện Tự động - Cải tiến Hàng ngày#

Mục tiêu: Tự động hóa việc thích ứng của model với dữ liệu mới, đảm bảo hiệu suất luôn tối ưu và chống lại hiện tượng “model staleness”.

2.1.2.1. ⚙️ Giai đoạn 1.1: Huấn luyện & Đăng ký Ứng viên (Auto-Training & Candidate Registration)#

  • ❓ Làm gì?

    1. Lập lịch (Scheduling): Pipeline được kích hoạt tự động hàng ngày (ví dụ: 7h sáng).

    2. Chuẩn bị Dữ liệu (Data Preparation): Lấy dữ liệu mới nhất, xác thực (validation), và tiền xử lý.

    3. Tối ưu Hóa (Hyperparameter Tuning): Sử dụng các công cụ như Optuna/Hyperopt để tìm bộ siêu tham số tốt nhất cho kiến trúc model hiện tại.

    4. Đăng ký Model (Model Registration): Pipeline tự động đăng ký model tốt nhất vào MLflow Model Registry, tạo ra một phiên bản mới (ví dụ: TradingPersonas v1.15).

  • 🤔 Tại sao làm?

    • Thích ứng nhanh với data drift ở mức độ nhẹ.

    • Giải phóng Data Scientist khỏi các công việc lặp đi lặp lại.

  • 🏷️ Alias & Tags:

    • Alias: Không có. Đây là “ứng viên thô”.

    • Tags: status: candidate, source: auto_train_pipeline, train_date, dataset_version, git_commit.

  • 🎁 Kết quả: Mỗi ngày, một model phiên bản mới được tạo ra trong Registry với trạng thái candidate, sẵn sàng cho bước kiểm định.

2.1.2.2. 📊 Giai đoạn 1.2: Kiểm định & Đề cử Tự động (Auto-Validation & Challenger Nomination)#

  • ❓ Làm gì?

    1. Kích hoạt (Trigger): Pipeline được kích hoạt ngay khi có model mới với tag status: candidate.

    2. Chuẩn bị “Đấu trường” (Benchmark Dataset): Tạo ra bộ dữ liệu benchmark động (ví dụ: dữ liệu 7 ngày gần nhất) để đảm bảo sân chơi công bằng và phù hợp với thực tế.

    3. So găng (Champion vs. Candidate): Model candidate mới và model @production hiện tại được đánh giá trên bộ benchmark và trả ra điểm score.

    4. Tạo Báo cáo (Report Generation): Một báo cáo so sánh chi tiết (HTML/PDF) được tạo và lưu trữ dưới dạng artifact, bao gồm: metrics, confusion matrix, feature importance drift, v.v.

    5. Tự động Đề cử (Auto-Nomination): Nếu model candidate vượt qua tất cả các bài kiểm tra và có benchmark_gain cao hơn một ngưỡng đã định (ví dụ: 1%), pipeline sẽ tự động đề cử nó.

  • 🤔 Tại sao làm?

    • Tự động hóa bước validation, đảm bảo chỉ những model thực sự tốt hơn mới được xem xét.

    • Giảm thiểu “tiếng ồn”, giúp con người tập trung vào các ứng viên sáng giá nhất.

  • 🏷️ Alias & Tags (Cập nhật cho model candidate):

    • Trường hợp 1: Vượt trội (benchmark_gain > 1%)

      • Alias: Gán alias @auto-challenger.

      • Tags: Cập nhật status: validated.

    • Trường hợp 2: Không vượt trội hoặc validate bị failed

      • Alias: Không có.

      • Tags: Cập nhật status: poor.

    • Các tag khác được thêm vào: report_url, benchmark_gain, evaluated_at.

  • 🎁 Kết quả: Hệ thống tự động phân loại ứng viên: những ứng viên vượt trội được đánh dấu bằng alias @auto-challenger, sẵn sàng cho bước review của con người.

2.1.3. 🚀 Giai đoạn 2: Huyến luyện có Chiến lược - Đột phá Công nghệ#

Mục tiêu: Tạo ra những bước nhảy vọt về hiệu suất bằng cách thay đổi kiến trúc, thuật toán, hoặc bộ feature.

2.1.3.1. 🔬 Giai đoạn 2.1: Nghiên cứu & Phát triển (R&D)#

  • ❓ Tại sao và Khi nào?

    • Khi hiệu suất của Làn Tự động chững lại (benchmark_gain không còn đáng kể).

    • Khi có yêu cầu kinh doanh hoặc công nghệ mới (ví dụ: sử dụng một loại thuật toán mới).

  • ❓ Làm gì?

    1. Nghiên cứu (Experimentation): Data Scientist thực hiện các thử nghiệm đột phá trong không gian làm việc riêng.

    2. Đăng ký phiên bản Major (Major Version Registration): Khi có một thiết kế vượt trội, họ sẽ đăng ký nó như một phiên bản “major” mới, ví dụ CreditScoringModel v2.0.

  • 🏷️ Alias & Tags:

    • Alias: @super-challenger. Alias này được gán ngay vì đây là ứng viên đặc biệt, được con người bảo chứng.

    • Tags: status: candidate, architecture: new_transformer_v2, developed_by: user_name, hypothesis: "Using self-attention will capture complex feature interactions better".

  • 🎁 Kết quả: Một model v2.0 với vai trò @super-challenger, sẵn sàng cho kỳ review chiến lược.

2.1.3.2. 📊 Giai đoạn 2.2: Kiểm định & Báo cáo cho Ứng viên Chiến lược (Validation & Reporting for Strategic Challenger)#

  • ❓ Làm gì?

    1. Kích hoạt (Trigger): Pipeline được kích hoạt tự động ngay khi có model mới được gán alias @super-challenger.

    2. Chuẩn bị “Đấu trường” (Benchmark Dataset): Sử dụng cùng bộ dữ liệu benchmark động như Làn Tự động để đảm bảo tính nhất quán và công bằng.

    3. So găng (Champion vs. Super Challenger): Model @super-challenger được đánh giá và so sánh với model @production hiện tại.

    4. Tạo Báo cáo (Report Generation): Một báo cáo chi tiết được tạo ra, nhấn mạnh vào sự khác biệt về kiến trúc và các metrics mới (nếu có) bên cạnh các chỉ số hiệu suất tiêu chuẩn.

  • 🤔 Tại sao làm?

    • Cung cấp dữ liệu định lượng, khách quan để hỗ trợ cho quyết định của con người trong buổi họp review.

    • Đảm bảo mọi ứng viên, dù là tự động hay chiến lược, đều được đánh giá trên một sân chơi công bằng trước khi được xem xét.

  • 🏷️ Alias & Tags (Cập nhật cho model @super-challenger):

    • Alias: Giữ nguyên là @super-challenger. Vai trò đặc biệt này không thay đổi sau bước kiểm định.

    • Tags: Gắn thêm các tag chứa kết quả kiểm định. Ví dụ: report_url, benchmark_gain, evaluated_at. Cập nhật status ở bước này:

      • Nếu không qua validate thì chuyển status: poor

      • Nếu pass qua validate thì chuyển status: validated

  • 🎁 Kết quả: Một model @super-challenger được trang bị đầy đủ báo cáo và số liệu định lượng, sẵn sàng cho Giai đoạn 3

2.1.4. 🏆 Giai đoạn 3: Review, Phê duyệt & Triển khai An toàn#

Mục tiêu: Kết hợp sức mạnh của tự động hóa và trí tuệ con người để đưa ra quyết định triển khai tốt nhất một cách an toàn.

2.1.4.1. 🧐 Giai đoạn 3.1: Sàng lọc & Chuẩn bị Review (Pre-Review Screening)#

  • ❓ Làm gì?

    1. Kích hoạt (Trigger): Định kỳ trước buổi họp review (ví dụ: hàng tuần).

    2. Sàng lọc (Screening): Data Scientist thực hiện sàng lọc sơ bộ tất cả các model có alias @auto-challenger@super-challenger.

    3. Mục đích: Kiểm tra nhanh báo cáo, loại bỏ các model có vấn đề rõ ràng (ví dụ: được huấn luyện trên dữ liệu bị lỗi, metrics bất thường không giải thích được).

    4. Gán trạng thái: Các model vượt qua vòng sàng lọc sẽ được cập nhật trạng thái để chuẩn bị cho buổi họp chính thức.

  • 🤔 Tại sao làm?

    • Giúp buổi họp review tập trung vào những ứng viên thực sự tiềm năng, tiết kiệm thời gian cho cả team.

    • Đảm bảo các vấn đề cơ bản được giải quyết trước khi đi vào phân tích sâu.

  • 🏷️ Alias & Tags:

    • Với model được chọn để review:

      • Alias: Giữ nguyên (@auto-challenger hoặc @super-challenger).

      • Tags: Cập nhật status: in-review.

    • Với model bị loại:

      • Alias: Gỡ bỏ alias (@auto-challenger/@super-challenger), gán alias mới là @archived.

      • Tags: Cập nhật status: rejected, rejection_reason: "Screening - Bad data".

  • 🎁 Kết quả: Một danh sách các model tiềm năng với trạng thái in-review, sẵn sàng cho buổi họp quyết định.

2.1.4.2. Giai đoạn 3.2: Họp Review & Phê duyệt (Review & Approval Meeting)#

  • ❓ Làm gì?

    1. Đối tượng Review: Chỉ các model có tag status: in-review.

    2. Buổi họp: Team (DS, ML Eng, Product Manager) cùng thảo luận sâu dựa trên báo cáo và phân tích.

    3. Ra quyết định: Team bỏ phiếu và chọn ra model chiến thắng cuối cùng để đưa vào môi trường Staging.

  • 🏷️ Alias & Tags:

    • Với model được chọn:

      • Alias: Gỡ alias cũ, gán alias mới @staging.

      • Tags: Cập nhật status: testing.

    • Với các model bị từ chối trong buổi họp:

      • Alias: Gỡ bỏ alias, gán alias mới là @archived.

      • Tags: Cập nhật status: rejected, rejection_reason: "Review - Outperformed".

  • 🎁 Kết quả: Một model duy nhất được “thăng cấp” lên môi trường Staging để kiểm thử trong điều kiện cận thực tế.

2.1.4.3. 🧪 Giai đoạn 3.3: Kiểm thử Staging và Promoting (Staging & Pilot Canary Testing)#

  • ❓ Làm gì?

    1. Triển khai Staging: Model @staging được triển khai tới một môi trường riêng biệt, nhận một phần nhỏ traffic thật (Canary release) hoặc nhận bản sao của traffic (Shadow deployment).

    2. Giám sát chặt chẽ: Theo dõi các chỉ số kỹ thuật (độ trễ, lỗi) và nghiệp vụ trong một khoảng thời gian (vài giờ hoặc một ngày).

    3. Go/No-Go Decision: Dựa trên kết quả giám sát, đưa ra quyết định cuối cùng.

  • 🤔 Tại sao làm? Đây là “lưới an toàn” cuối cùng, phát hiện các vấn đề không thể thấy được trong môi trường offline (ví dụ: lỗi tương thích hạ tầng, data pipeline).

  • 🏷️ Alias & Tags:

    • Nếu thành công: thực hiện promote

      • Alias: Gỡ bỏ @staging, gán alias mới là @production.

        • Model production cũ được đổi alias thành @previous-production.

        • Cập nhật Baseline: Nếu model chiến thắng là phiên bản “major” (v2.0), kiến trúc của nó sẽ trở thành baseline mới cho Làn Tự động 1.

      • Tags: Cập nhật status: approved.

    • Nếu thất bại:

      • Alias: Gỡ bỏ @staging, gán alias mới là @archived.

      • Tags: Cập nhật status: failed.

  • 🎁 Kết quả: Model tốt nhất được triển khai, có kế hoạch rollback rõ ràng, và hệ thống tự động được nâng cấp để tiếp tục cải tiến trên nền tảng mới.

2.1.5. 📡 Giai đoạn 4: Giám sát, Vận hành & Phản hồi#

Mục tiêu: Đảm bảo model hoạt động ổn định trong môi trường production và tạo ra một vòng lặp cải tiến liên tục.

  • ❓ Làm gì?

    1. Giám sát Hiệu suất (Performance Monitoring): Theo dõi liên tục các chỉ số nghiệp vụ (business metrics) và chỉ số model (accuracy, F1-score,…) trên dữ liệu thực.

    2. Giám sát Trôi dạt (Drift Monitoring): Sử dụng các công cụ để phát hiện Data Drift (phân phối của input thay đổi) và Concept Drift (mối quan hệ giữa input và output thay đổi).

    3. Cảnh báo & Rollback (Alerting & Rollback):

      • Thiết lập cảnh báo tự động khi hiệu suất giảm xuống dưới ngưỡng hoặc khi phát hiện drift nghiêm trọng.

      • Nếu có sự cố, thực hiện rollback bằng cách trỏ API endpoint về model có alias @previous-production.

    4. Vòng lặp Phản hồi (Feedback Loop):

      • Nếu phát hiện drift nhẹ, dữ liệu mới sẽ được thu thập và Làn Tự động 1 sẽ tự động xử lý trong lần chạy tiếp theo.

      • Nếu hiệu suất giảm sút đáng kể, một ticket sẽ được tạo ra để Làn Chiến lược 2 vào cuộc điều tra và nghiên cứu.

    5. Dọn dẹp (Housekeeping): Sau một thời gian ổn định (ví dụ 1-2 tuần) và không cần rollback, model có alias @previous-production sẽ được “nghỉ hưu”.

      • Alias: Đổi alias từ @previous-production thành @archived.

      • Tags: Cập nhật status: decommissioned.

  • 🎁 Kết quả cuối cùng: Một hệ thống MLOps hoàn chỉnh, không chỉ triển khai mà còn vận hành, giám sát và tự cải tiến một cách bền vững.