Xem toàn bộ thuật ngữ

Triển khai và vận hành

MLOps là gì: khung vận hành liên tục các mô hình học máy, hướng dẫn đầy đủ

Korea Deep LearningĐăng

MLOps (Machine Learning Operations) là phương pháp vận hành quản lý một cách có hệ thống toàn bộ quy trình của mô hình học máy, từ phát triển, huấn luyện, kiểm định, triển khai, giám sát đến cập nhật. Điểm cốt lõi là không dừng lại ở việc triển khai mô hình một lần, mà duy trì hiệu năng trong môi trường thực tế và liên tục cải thiện theo những thay đổi.

Mô hình phải được quản lý ngay cả sau khi triển khai

Xây dựng một mô hình tốt và vận hành một mô hình tốt trong thời gian dài là hai bài toán khác nhau.

Trong các dự án học máy, một mô hình cho độ chính xác cao ở giai đoạn phát triển không thể được đảm bảo sẽ giữ nguyên hiệu năng khi áp dụng vào dịch vụ thực tế.

Theo thời gian, đặc tính của dữ liệu đầu vào có thể thay đổi. Các loại dữ liệu mới có thể được thêm vào, hoặc tiêu chí nghiệp vụ có thể thay đổi. Những mẫu không tồn tại lúc huấn luyện có thể xuất hiện lặp đi lặp lại trong môi trường thực tế.

Khi những thay đổi này tích lũy, mô hình có thể vẫn trông như hoạt động bình thường nhưng độ chính xác thực tế giảm dần.

Vấn đề trở nên lớn hơn khi vận hành nhiều mô hình thay vì một. Bạn phải quản lý dữ liệu nào đã dùng để huấn luyện từng mô hình, mô hình nào đang được triển khai, phiên bản mới có thực sự tốt hơn phiên bản cũ không, và khi có sự cố thì cần quay lại phiên bản nào.

MLOps là hệ thống kết nối giữa phát triển học máy và vận hành thực tế.

Định nghĩa chính xác của MLOps: khác gì với DevOps

DevOps và MLOps, đối tượng quản lý khác nhau

DevOps và MLOps tương tự nhau ở chỗ cùng thu hẹp khoảng cách giữa phát triển và vận hành, đồng thời tự động hóa các công việc lặp lại.

Tuy nhiên, hệ thống học máy có nhiều đối tượng cần quản lý hơn phần mềm thông thường.

Thứ nhất, chỉ quản lý mã nguồn là chưa đủ. Kết quả của mô hình học máy phụ thuộc vào dữ liệu đã dùng để huấn luyện. Vì vậy, cần quản lý dữ liệu huấn luyện và phiên bản dữ liệu cùng với mã nguồn.

Thứ hai, bản thân mô hình là một đối tượng quản lý. Cần theo dõi mô hình được huấn luyện vào lúc nào, ghi nhận hiệu năng nào, và phiên bản nào đang phục vụ.

Thứ ba, hiệu năng phải được đánh giá cả trong lúc vận hành. Không đủ nếu chỉ kiểm tra hệ thống có chạy hay không. Cũng cần kiểm tra hiệu năng của mô hình có được duy trì trên dữ liệu đầu vào thực tế hay không.

Thứ tư, có quy trình huấn luyện lại. Khi đặc tính dữ liệu thay đổi đáng kể hoặc hiệu năng mô hình giảm xuống dưới mức tiêu chuẩn, có thể cần huấn luyện lại bằng dữ liệu mới, kiểm chứng rồi triển khai lại.

Nói ngắn gọn, DevOps xây dựng hệ thống vận hành xoay quanh mã phần mềm và quy trình triển khai, còn MLOps bổ sung thêm dữ liệu, mô hình, huấn luyện và đánh giá vào hệ thống đó.

Bốn chức năng tạo nên MLOps

Quản lý từ dữ liệu đến sau triển khai

Thứ nhất, quản lý dữ liệu.

Ghi lại dữ liệu nào đã dùng để huấn luyện và đánh giá mô hình, và quản lý phiên bản của chúng. Khi dữ liệu thay đổi, bạn phải có thể truy ra những kết quả của mô hình nào bị ảnh hưởng.

Thứ hai, quản lý mô hình và thử nghiệm.

Ghi lại cùng nhau mô hình, tham số, dữ liệu và chỉ số hiệu năng đã dùng để huấn luyện. Quản lý sao cho có thể xác nhận trong nhiều thử nghiệm, mô hình nào đã vượt qua tiêu chí triển khai thực tế.

Thứ ba, quản lý triển khai và phiên bản.

Triển khai mô hình đã được kiểm định vào môi trường dịch vụ thực tế và quản lý phiên bản của các mô hình đang vận hành. Cũng cần có cấu trúc cho phép quay lại phiên bản trước nếu mô hình mới gây ra sự cố.

Thứ tư, giám sát và huấn luyện lại.

Liên tục kiểm tra sự thay đổi của dữ liệu đầu vào và hiệu năng mô hình trong môi trường vận hành. Khi xác nhận được sự trôi phân phối dữ liệu (drift) hoặc sự suy giảm hiệu năng, hãy đánh giá xem có cần huấn luyện lại và triển khai lại hay không.

Bốn quy trình này cần được kết nối để mô hình có thể được quản lý như một luồng lặp lại được, từ phát triển đến vận hành thực tế.

Cách áp dụng MLOps trong thực tế

Ghi lại mối quan hệ giữa dữ liệu huấn luyện và mô hình

Để tái hiện kết quả của mô hình, bạn phải biết được mô hình nào được xây dựng từ dữ liệu nào.

Liên kết phiên bản tập dữ liệu với phiên bản mô hình giúp dễ dàng xác định xem sự thay đổi hiệu năng của mô hình mới đến từ dữ liệu hay từ chính mô hình.

Việc ghi lại điều kiện huấn luyện và kết quả đánh giá cho từng mô hình cũng rất quan trọng.

Đặt tiêu chí thông qua trước khi triển khai

Một mô hình mới được xây dựng không được đưa ngay vào môi trường vận hành.

So sánh hiệu năng với mô hình hiện tại trên cùng dữ liệu đánh giá, và kiểm tra xem các chỉ số quan trọng đối với công việc thực tế, như độ chính xác, tốc độ xử lý và tỷ lệ lỗi, có đạt tiêu chuẩn hay không.

Ngay cả khi một số chỉ số của mô hình mới tốt lên, có thể cũng khó thay thế ngay mô hình cũ nếu lỗi tăng trong một nghiệp vụ cụ thể.

Vì vậy, nên xác định trước các điều kiện phải đáp ứng trước khi triển khai.

Giám sát những thay đổi của mô hình đang vận hành

Sau khi triển khai, đừng chỉ kiểm tra mô hình có chạy bình thường hay không. Hãy kiểm tra cả chất lượng kết quả.

Một biểu hiện thay đổi tiêu biểu là drift dữ liệu. Đây là hiện tượng phân phối của dữ liệu đầu vào thực tế khác với lúc mô hình được huấn luyện.

Ví dụ, nếu một mẫu biểu mẫu hoặc loại dữ liệu cụ thể tăng đột ngột, mô hình hiện có có thể chưa học đủ mẫu đó.

Kiểm tra định kỳ những thay đổi này giúp phát hiện vấn đề trước khi hiệu năng giảm mạnh.

Phải có thể quay lại trạng thái trước khi có sự cố

Trong MLOps, quản lý phiên bản không chỉ là tính năng để lưu lại lịch sử.

Sau khi triển khai mô hình mới, nếu có sự cố không lường trước, bạn phải có thể quay lại mô hình trước đó. Theo dõi không chỉ mô hình mà cả dữ liệu và cấu hình mà nó đã dùng sẽ giúp tìm nguyên nhân dễ hơn.

Ghi lại ai đã triển khai mô hình nào, vào lúc nào, và đã thay đổi những gì cũng giúp việc xem lại lịch sử thay đổi trong vận hành dễ dàng hơn.

MLOps và VLMOps

MLOps là khái niệm bao quát việc huấn luyện, triển khai và giám sát các mô hình học máy nói chung.

VLMOps áp dụng khái niệm vận hành này một cách cụ thể hơn cho mô hình ngôn ngữ thị giác và môi trường AI tài liệu.

Trong AI tài liệu, không chỉ bản thân mô hình mà cả lược đồ xác định các mục cần trích xuất, chỉ dẫn bằng ngôn ngữ tự nhiên, tiêu chí kiểm chứng và những thay đổi của biểu mẫu tài liệu đều ảnh hưởng đến vận hành.

Đặc biệt, khi thêm một biểu mẫu tài liệu mới hoặc một mục trích xuất mới, không nhất thiết phải huấn luyện lại mô hình. Có những phạm vi có thể đáp ứng bằng cách điều chỉnh tiêu chí trích xuất hoặc lược đồ mà không thay đổi tham số của mô hình.

Vì vậy, nếu MLOps tập trung quản lý vận hành xoay quanh huấn luyện và triển khai mô hình, thì VLMOps mở rộng sang việc quản lý đồng thời tiêu chí vận hành, đánh giá và lịch sử thay đổi, để AI tài liệu liên tục đáp ứng những thay đổi thực tế của công việc.

MLOps trong môi trường doanh nghiệp Hàn Quốc

Khi áp dụng MLOps trong doanh nghiệp, cần xem xét môi trường vận hành cùng với hiệu năng mô hình.

Trong các môi trường như tài chính và khu vực công, nơi việc sử dụng đám mây bên ngoài hoặc đưa dữ liệu ra ngoài bị hạn chế, dữ liệu huấn luyện, mô hình và nhật ký vận hành có thể cần được quản lý trên hạ tầng nội bộ.

Trong trường hợp này, cần có cấu trúc cho phép phát triển, triển khai và giám sát mô hình được thực hiện ngay trong môi trường nội bộ.

Ngoài ra, cần ghi lại được ai đã xem xét và phê duyệt phiên bản nào mỗi khi mô hình thay đổi, để lịch sử thay đổi trong vận hành dễ theo dõi.

Câu hỏi thường gặp

Áp dụng MLOps thì mô hình có tự động tốt hơn không?

Không. MLOps không phải công nghệ tự động nâng cao hiệu năng của mô hình, mà là hệ thống giúp việc phát triển, kiểm định, triển khai và giám sát mô hình diễn ra một cách lặp lại được. Nó giúp bạn phát hiện thời điểm mô hình cần cải thiện và thực hiện các công việc cần thiết dễ dàng hơn.

Chỉ có một mô hình thì có cần MLOps không?

Không nhất thiết chỉ dành cho hệ thống quy mô lớn. Ngay cả một mô hình duy nhất mà bạn phải cập nhật và vận hành liên tục cũng được lợi từ một hệ thống quản lý phiên bản dữ liệu, phiên bản mô hình và kết quả đánh giá. Tuy nhiên, mức độ cần thiết phụ thuộc vào quy mô vận hành.

MLOps và DevOps có phải là cùng một khái niệm không?

Không hoàn toàn giống nhau. DevOps tập trung vào phát triển và triển khai mã phần mềm, còn MLOps bổ sung thêm dữ liệu học máy, mô hình, huấn luyện và đánh giá hiệu năng lên trên nền đó.

Nên huấn luyện lại mô hình bao lâu một lần?

Không có chu kỳ cố định. Thông thường, người ta kiểm tra sự thay đổi của dữ liệu đầu vào và hiệu năng thực tế của mô hình rồi mới quyết định có huấn luyện lại hay không. Không nhất thiết phải huấn luyện lại chỉ vì đã qua một khoảng thời gian nhất định.

Drift dữ liệu là gì?

Đó là hiện tượng đặc tính của dữ liệu đi vào môi trường vận hành khác với lúc mô hình được huấn luyện. Nếu phân phối dữ liệu thay đổi đáng kể, hiệu năng mô hình cũng có thể bị ảnh hưởng, vì vậy cần giám sát liên tục.

Điều quan trọng nhất cần quản lý trong MLOps là gì?

Dữ liệu huấn luyện, phiên bản mô hình, kết quả đánh giá và lịch sử triển khai. Bạn phải có thể truy vết mô hình được xây dựng từ dữ liệu và cấu hình nào, và đã trải qua đánh giá nào trước khi một phiên bản cụ thể được áp dụng vào vận hành.

MLOps và VLMOps khác nhau ở điểm nào?

MLOps là hệ thống vận hành cho mô hình học máy nói chung. VLMOps tập trung vào các yếu tố vận hành mà công việc tài liệu cần trong môi trường mô hình ngôn ngữ thị giác và AI tài liệu, như tiêu chí trích xuất, lược đồ, tài liệu đánh giá và lịch sử thay đổi.

Quản lý mô hình, dữ liệu và quy trình triển khai như một hệ thống thống nhất sẽ giúp bạn phản ứng nhanh hơn với thay đổi của mô hình và với sự suy giảm hiệu năng.

Liên hệ