Trang chủ Thế giới nói gì MLOps: lời giải cho việc triển khai mô hình học máy

MLOps: lời giải cho việc triển khai mô hình học máy

Theo Deeplearning.ai, chỉ có 22% các doanh nghiệp sử dụng học máy đã triển khai thành công mô hình của mình. Vậy điều gì làm cho nó khó đến vậy? Nguyên nhân ở đâu và MLOps giải bài toán này như thế nào?

Nhận diện thách thức

Đối với phát triển phần mềm theo cách truyền thống, một tập hợp các phương pháp được gọi là DevOps đã giúp đưa phần mềm vào sản xuất chỉ trong vài phút, đồng thời đảm bảo phần mềm hoạt động ổn định. DevOps dựa vào các công cụ, tự động hóa và quy trình làm việc để loại bỏ những sự cố bất ngờ và cho phép các nhà phát triển tập trung vào các vấn đề thực tế cần được giải quyết. Cách tiếp cận này đã trở nên phổ biến đối với rất nhiều doanh nghiệp. Vậy tại sao chúng lại không thể được áp dụng tương tự đối với Học máy?

Nguyên nhân là có sự khác biệt cơ bản giữa học máy (Machine Learning – ML) và phương pháp phân tích dữ liệu truyền thống. Học máy không chỉ là code, mà còn là code kết hợp với data (dữ liệu). Mô hình Học máy được tạo ra bằng cách điều chỉnh các tham số của mô hình sử dụng dữ liệu huấn luyện. Do đó, điều này sẽ ảnh hưởng đến hành vi của mô hình trong quá trình triển khai.

ML = Code + Data. Ảnh: Towards Data Science
ML = Code + Data. Ảnh: Towards Data Science

Mặc dù code được tạo ra một cách cẩn thận trong môi trường phát triển được kiểm soát, nhưng nguồn dữ liệu thực là vô tận, không ngừng thay đổi và nằm ngoài tầm quản lý. Có thể tưởng tượng, code và dữ liệu nằm trong các mặt phẳng riêng biệt, có cùng chiều thời gian nhưng độc lập về tất cả các yếu tố khác. Thách thức của học máy là làm sao tạo ra một cầu nối giữa hai mặt phẳng này một cách có kiểm soát.

Tưởng tượng code và dữ liệu nằm trong các mặt phẳng riêng biệt, có cùng chiều thời gian nhưng độc lập về tất cả các yếu tố khác.
Tưởng tượng code và dữ liệu nằm trong các mặt phẳng riêng biệt, có cùng chiều thời gian nhưng độc lập về tất cả các yếu tố khác. Ảnh: Towards Data Science

Sự tách biệt cơ bản giữa code và dữ liệu gây ra một số thách thức quan trọng đối với việc triển khai các mô hình ML/AI trong thực tế, ví dụ như:

  • Triển khai chậm, dễ gián đoạn và không nhất quán
  • Thiếu khả năng tái tạo
  • Giảm hiệu suất

Xác định giải pháp

Để tháo gỡ những khó khăn này, giải pháp được đưa ra là kết hợp các phương pháp thực tế từ DevOps, Data Engineering (kỹ thuật dữ liệu), và một số phương pháp đặc thù của Học máy. Và MLOps chính là giao điểm của ba thành tố này.

MLOps là giao điểm của DevOps, Data Engineering và Machine Learning
MLOps là giao điểm của DevOps, Data Engineering và Machine Learning. Ảnh: Towards Data Science.

MLOps (machine learning operations) là sự kết hợp của Machine Learning (Học máy) và Operations (vận hành) nhằm mục đích triển khai và duy trì các hệ thống ML trong sản xuất một cách đáng tin cậy và hiệu quả.

MLOps tập hợp các phương pháp tự động hóa vòng đời của các thuật toán học máy trong quá trình sản xuất ở tất cả các bước xây dựng hệ thống ML, từ huấn luyện mô hình ban đầu đến triển khai và đào tạo lại dựa trên dữ liệu mới.

Để triển khai thành công MLOps, cần đảm bảo các yếu tố sau đây:

  • Đội ngũ kết hợp. Một đội ngũ sản xuất ML sẽ bao gồm Nhà khoa học dữ liệu hoặc Kỹ sư ML, Kỹ sư DevOps và Kỹ sư dữ liệu.
  • ML Pipelines: Phần lớn các mô hình sẽ cần 2 phiên bản pipelines để đào tạo và ứng dụng. Nguyên nhân là do thông thường, các định dạng dữ liệu và cách truy cập dữ liệu rất khác nhau giữa các thời điểm, đặc biệt đối với các mô hình chạy theo yêu cầu thời gian thực. ML Pipeline thuần túy là code và độc lập với các trường hợp dữ liệu cụ thể. Do đó,  ML Pipeline dễ dàng theo dõi và kiểm soát các phiên bản, đồng thời tự động hóa việc triển khai với CI/CD pipeline. Điều này giúp liên kết code với dữ liệu theo cách có cấu trúc và tự động.
ML Pipelines kết nối dữ liệu và code để sản xuất mô hình và đưa ra dự đoán.
ML Pipelines kết nối dữ liệu và code để sản xuất mô hình và đưa ra dự đoán. Ảnh: Towards Data Science.
  • Lập phiên bản mô hình và dữ liệu: Cần phải phiên bản hóa dữ liệu và liên kết từng mô hình được đào tạo với các phiên bản chính xác của code, dữ liệu và siêu tham số đã được sử dụng. Mô hình và siêu dữ liệu có thể được theo dõi trong hệ thống kiểm soát phiên bản tiêu chuẩn như Git. 
  • Đánh giá mô hình: Không có mô hình ML nào cho kết quả chính xác 100% cả, do đó, việc đánh giá mô hình thường mang tính thống kê nhiều hơn là quyết định đạt/không đạt.
  • Đánh giá dữ liệu: Thông thường, đánh giá dữ liệu bao gồm định dạng và kích thước tệp, các giá trị rỗng hoặc không hợp lệ. Xác thực dữ liệu cũng tương tự như unit test trong code domain. Ngoài các xác nhận cơ bản mà bất kỳ Data Pipeline nào thực hiện, các ML pipeline cũng phải xác nhận các thuộc tính cấp cao hơn của dữ liệu đầu vào, như cách dữ liệu thay đổi trong thực tế hay những bất thường do cách xử lý dữ liệu gây ra. 
  • Giám sát: Giám sát hệ thống sản xuất là điều cần thiết để giữ cho chúng hoạt động tốt. Đối với các hệ thống ML, việc giám sát thậm chí còn trở nên quan trọng hơn, vì hiệu suất của chúng không chỉ phụ thuộc vào các yếu tố có thể kiểm soát, như cơ sở hạ tầng và phần mềm, mà còn dựa vào dữ liệu – yếu tố ít khả năng kiểm soát được. Do đó, ngoài việc theo dõi các số liệu tiêu chuẩn như độ trễ, lưu lượng truy cập, lỗi và độ bão hòa, chúng ta cũng cần theo dõi hiệu suất dự đoán mô hình.

Tổng kết

Các phương pháp chính của MLOps, cũng như mối liên hệ của chúng với các phương pháp DevOps và Kỹ thuật dữ liệu được tóm tắt lại trong bảng dưới đây.

DevOpsData EngineeringMLOps
Quản lý phiên bảnQuản lý phiên bản codeQuản lý phiên bản codeData LineageQuản lý phiên bản codePhiên bản hóa dữ liệu
Phiên bản hóa mô hình
PipelineKhông cóData pipeline/ETLTraining ML PipelineServing ML Pipeline
Đánh giá hành viunit testUnit testĐánh giá mô hình
CI/CDTriển khai code to production Triển khai code to data pipelineTriển khai code to production và Training ML Pipeline
Xác thực dữ liệuKhông cóXác thực định dạng và nghiệp vụXác thực thống kê
Giám sátSLOSLOSLO + differential monitoring, statistical sliced monitoring 

(Nguồn tham khảo: Towards Data Science)

BÀI MỚI NHẤT

BÀI ĐỌC NHIỀU