Chuyển đến nội dung chính
Machine Learning

Thực tiễn tốt nhất về MLOps và cách áp dụng

Tìm hiểu các thực tiễn cốt lõi của một quy trình MLOps thành công và cách nó đảm bảo triển khai hệ thống học máy đáng tin cậy, có thể mở rộng
Adel Nehme's photo
Adel Nehme
Đã cập nhật · 12 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Tạo tài khoản miễn phí của bạn

Luyện tập và Lộ trình tiến trình của bạn.

Tiếp Tục Với Google
Bằng cách tiếp tục, bạn chấp nhận Điều khoản sử dụng, Chính sách bảo mật và việc dữ liệu của bạn được lưu trữ tại Hoa Kỳ.

Vận hành học máy (MLOps) hiện là trọng tâm đối với nhiều lãnh đạo dữ liệu và người làm chuyên môn, với mức độ quan tâm tăng mạnh trong hai năm qua. Sự bùng nổ này xuất phát từ một thách thức lớn mà nhiều tổ chức đang gặp phải; khoản đầu tư vào học máy và AI chưa mang lại lợi tức như kỳ vọng.

Mức độ quan tâm tìm kiếm về MLOps theo thời gian

Năm 2019, Venturebeat cho biết chỉ 13% mô hình học máy được đưa vào môi trường vận hành. Dù một khảo sát gần đây của KDNuggets gợi ý có cải thiện vào năm 2022, vẫn có 35% người trả lời nêu các rào cản kỹ thuật ngăn cản việc triển khai mô hình.

Báo cáo State of AI 2021 của McKinsey cho thấy mức độ ứng dụng AI tăng lên 56%, từ 50% vào năm 2020. Khi các tổ chức đẩy mạnh đầu tư vào hệ thống và nhân sự học máy, nhu cầu triển khai và khai thác giá trị từ mô hình một cách hiệu quả trở nên rõ ràng hơn bao giờ hết. Đây là lúc MLOps phát huy vai trò. Những tổ chức áp dụng MLOps thành công đang thấy lợi tức đầu tư tốt hơn. Bằng cách áp dụng MLOps, các nhóm dữ liệu rút ngắn thời gian cần thiết để tạo mẫu, phát triển và triển khai hệ thống học máy.

Mục tiêu của MLOps là kết hợp công nghệ với thay đổi tổ chức để áp dụng các khái niệm kỹ nghệ phần mềm vào học máy. Nhìn học máy như một ngành kỹ thuật giúp mở ra con đường thẳng tới vận hành và kéo dài vòng đời của mô hình trong môi trường sản xuất.

Bài viết này sẽ định nghĩa MLOps, lý do nó quan trọng, và trình bày năm nguyên tắc định hướng tạo nên một thực hành MLOps thành công ngày nay.

MLOps là gì?

MLOps được định nghĩa tốt nhất là "tập hợp công cụ, thực tiễn, kỹ thuật và văn hóa nhằm đảm bảo triển khai hệ thống học máy đáng tin cậy và có thể mở rộng." MLOps kế thừa các thực tiễn tốt nhất của kỹ nghệ phần mềm như tự động hóa và kiểm thử tự động, quản lý phiên bản, áp dụng nguyên tắc agile, và quản lý dữ liệu để giảm nợ kỹ thuật.

Nợ kỹ thuật hay nợ mã là một khái niệm từ chính kỹ nghệ phần mềm. Nó mô tả "khoản nợ" tích lũy do phát triển nhanh, khi các quy trình như tự động hóa, tài liệu hóa, và unit test được hoàn thiện lại ở giai đoạn sau. Nói ngắn gọn, đó là khoản nợ mà các nhóm phát triển mang theo về sau, do không áp dụng thực tiễn tốt nhất ở hiện tại.

Hệ thống học máy có thể gánh mức nợ kỹ thuật cao, vì các mô hình do nhà khoa học dữ liệu tạo ra chỉ là một phần nhỏ trong một bức tranh lớn hơn—bao gồm hạ tầng, giám sát mô hình, kho đặc trưng, và nhiều yếu tố khác.


Các hệ thống học máy trong thế giới thực

Điểm khác biệt của MLOps

Các thực tiễn tốt nhất trong kỹ nghệ phần mềm nhằm giảm nợ kỹ thuật thường được gọi là DevOps. DevOps kết hợp hoạt động phát triển như viết mã, quản lý phiên bản, kiểm thử với vận hành CNTT như phát hành, triển khai và giám sát.

Hai nguyên tắc cốt lõi của DevOps là Tích hợp liên tục và Phân phối liên tục (CI/CD).

  • Tích hợp liên tục (CI): Các thay đổi mã mới được dựng, kiểm thử và hợp nhất thường xuyên vào kho lưu trữ dùng chung.
  • Phân phối liên tục (CD): Mọi thay đổi đối với ứng dụng đều được tự động kiểm thử và tải lên một kho lưu trữ, nơi chúng có thể được triển khai vào môi trường chạy thực.

Đưa hệ thống học máy vào vận hành và mở rộng quy mô mang đến những phức tạp bổ sung. Kỹ nghệ phần mềm chủ yếu thiết kế các lời giải được xác định rõ với đầu vào và đầu ra chính xác. Ngược lại, hệ thống học máy dựa vào dữ liệu thực tế được mô hình hóa bằng các phương pháp thống kê. Điều này kéo theo những cân nhắc bổ sung cần tính đến, như:

  • Dữ liệu: Học máy tiếp nhận đầu vào dữ liệu có độ phức tạp rất cao. Dữ liệu này phải được biến đổi để các mô hình có thể đưa ra dự đoán có ý nghĩa.
  • Mô hình hóa: Phát triển hệ thống học máy đòi hỏi thử nghiệm. Để thử nghiệm hiệu quả, việc theo dõi các thay đổi dữ liệu và tham số của từng thí nghiệm là điều thiết yếu.
  • Kiểm thử: Vượt ra ngoài kiểm thử đơn vị—nơi các phần nhỏ, có thể kiểm thử của ứng dụng được kiểm tra độc lập—hệ thống học máy cần các bài test phức tạp hơn cho cả dữ liệu và hiệu năng mô hình. Ví dụ, kiểm tra xem dữ liệu đầu vào mới có chia sẻ các tính chất thống kê tương tự với dữ liệu huấn luyện hay không.
  • Drift mô hình: Hiệu năng mô hình học máy sẽ luôn suy giảm theo thời gian. Nguyên nhân chính có hai mặt. Concept Drift là khi các thuộc tính của biến mục tiêu mà ta cố dự đoán thay đổi. Ví dụ điển hình là trong giai đoạn phong tỏa vì COVID-19, nhiều nhà bán lẻ chứng kiến nhu cầu bất ngờ tăng vọt với các mặt hàng như giấy vệ sinh. Một mô hình được huấn luyện trên dữ liệu bình thường sẽ xử lý việc này thế nào? Data Drift lại là khi các thuộc tính của biến độc lập thay đổi do nhiều yếu tố, bao gồm tính thời vụ, sự thay đổi hành vi người tiêu dùng hoặc việc ra mắt sản phẩm mới.
  • Huấn luyện liên tục: Mô hình cần được huấn luyện lại khi có dữ liệu mới để chống drift mô hình.
  • Quản lý pipeline: Dữ liệu phải trải qua nhiều bước biến đổi trước khi đưa vào mô hình và cần được kiểm thử định kỳ trước và sau khi huấn luyện. Pipeline kết hợp các bước này để thuận tiện cho việc giám sát và bảo trì.

5 nguyên tắc để MLOps thành công

Áp dụng MLOps không đơn giản như chỉ ký hợp đồng với một nhà cung cấp SaaS mới hay khởi tạo thêm tài nguyên đám mây. Điều đó đòi hỏi lập kế hoạch cẩn thận và cách tiếp cận nhất quán giữa các nhóm và phòng ban. Dưới đây là năm nguyên tắc để triển khai MLOps thành công:

Hiểu mức độ trưởng thành MLOps của bạn

Những nhà cung cấp đám mây hàng đầu như Microsoft và Google xem xét việc áp dụng MLOps qua mô hình mức độ trưởng thành. Lý do là MLOps đòi hỏi thay đổi tổ chức và phương pháp làm việc hiện đại—điều chỉ diễn ra theo thời gian khi hệ thống và quy trình của tổ chức chín muồi.

Áp dụng MLOps thành công cần một đánh giá trung thực về tiến độ trưởng thành MLOps của tổ chức. Sau khi có đánh giá đáng tin cậy, tổ chức có thể hiểu nên áp dụng chiến thuật gì để nâng bậc trưởng thành. Điều này có thể bao gồm thay đổi quy trình như áp dụng DevOps cho triển khai hoặc tuyển thêm nhân sự.

Hiểu cách mức độ trưởng thành giúp tổ chức ưu tiên sáng kiến MLOps cũng rất quan trọng. Ví dụ, feature store là một kho dữ liệu tập trung chứa các đặc trưng thường dùng cho học máy. Feature store hữu ích với các tổ chức có mức độ dữ liệu trưởng thành, nơi nhiều nhóm dữ liệu rời rạc cần dùng đặc trưng nhất quán và giảm công việc trùng lặp. Nếu một tổ chức chỉ có vài nhà khoa học dữ liệu, có lẽ feature store không đáng để đầu tư thời gian.

Thông qua mô hình trưởng thành MLOps, tổ chức cho phép đội ngũ, quy trình và ngăn xếp công nghệ phát triển cùng nhau. Điều đó đảm bảo có thể lặp lại và thử nghiệm công cụ trước khi triển khai.

Ưu tiên tự động hóa trong quy trình

Tự động hóa song hành với khái niệm mô hình trưởng thành. Việc tự động hóa sâu rộng thúc đẩy mức trưởng thành MLOps cao hơn cho tổ chức. Trong môi trường chưa có MLOps, nhiều tác vụ trong hệ thống học máy được thực hiện thủ công. Các tác vụ này có thể gồm làm sạch và biến đổi dữ liệu, kỹ thuật đặc trưng, chia dữ liệu huấn luyện và kiểm thử, viết mã huấn luyện mô hình, v.v. Làm thủ công khiến nhà khoa học dữ liệu dễ mắc lỗi hơn và mất thời gian lẽ ra nên dành cho thử nghiệm.

Ví dụ điển hình về tự động hóa là huấn luyện lại liên tục, nơi các nhóm dữ liệu có thể thiết lập pipeline cho nạp dữ liệu, xác thực, thử nghiệm, kỹ thuật đặc trưng, kiểm thử mô hình và hơn thế nữa. Thường được xem là một trong những bước đầu của tự động hóa học máy, huấn luyện lại liên tục giúp tránh drift mô hình.

Pipeline trong MLOps không khác gì so với data engineering hay DevOps. Pipeline học máy là chuỗi bước điều phối luồng dữ liệu vào và ra khỏi mô hình.

Để minh họa sức mạnh của pipeline, hãy hình dung ví dụ nơi các nhà khoa học dữ liệu trích xuất một phần dữ liệu thủ công nhưng đã tự động hóa được các bước xác thực, chuẩn bị dữ liệu, huấn luyện và đánh giá mô hình. Pipeline này sau đó có thể tái sử dụng khi đưa mô hình vào vận hành để dự đoán trên dữ liệu mới.

Đặt ưu tiên cho thử nghiệm và theo dõi

Thử nghiệm là phần cốt lõi của vòng đời học máy. Nhà khoa học dữ liệu thử nghiệm với tập dữ liệu, đặc trưng, mô hình học máy, siêu tham số tương ứng, v.v. Có rất nhiều "đòn bẩy" để điều chỉnh trong quá trình thử nghiệm. Để tìm đúng tổ hợp, việc theo dõi từng vòng lặp thử nghiệm là điều thiết yếu.

Trong cách thử nghiệm dựa trên notebook truyền thống, nhà khoa học dữ liệu theo dõi tham số và chi tiết mô hình thủ công. Điều này có thể dẫn tới quy trình thiếu nhất quán và tăng khả năng sai sót do con người. Thực thi thủ công cũng tốn thời gian và là rào cản lớn đối với thử nghiệm nhanh.

Mặc dù git được dùng rộng rãi để theo dõi mã, việc quản lý phiên bản cho các thử nghiệm khác nhau mà nhà khoa học dữ liệu chạy không hề dễ. Đây là lúc các nhóm dữ liệu có thể dùng model registry, nơi lưu trữ mô hình, theo dõi hiệu năng và các thay đổi khác.

Theo dõi thử nghiệm cho phép nhóm dữ liệu quay lui mô hình khi cần—và cải thiện quy trình kiểm toán mô hình tổng thể. Nó giảm đáng kể nỗ lực thủ công cho nhà khoa học dữ liệu, nhường thời gian cho thử nghiệm. Tất cả dẫn tới khả năng tái lập kết quả được cải thiện rõ rệt thông qua quản lý phiên bản và theo dõi.

Tiến xa hơn CI/CD

Chúng ta đã xem CI/CD trong bối cảnh DevOps, nhưng đây cũng là thành phần thiết yếu cho MLOps ở mức trưởng thành cao.

  • Khi áp dụng CI cho MLOps, ta mở rộng kiểm thử và xác thực tự động của mã để áp dụng cho cả dữ liệu và mô hình.
  • Tương tự, các khái niệm CD áp dụng cho pipeline và mô hình khi chúng được huấn luyện lại.

Ta cũng có thể xem xét các khái niệm "liên tục" khác:

  • Huấn luyện liên tục (CT): Như đã đề cập, tăng cường tự động hóa cho phép mô hình được huấn luyện lại khi có dữ liệu mới.
  • Giám sát liên tục (CM): Một lý do khác để huấn luyện lại mô hình là hiệu năng suy giảm. Ta cũng nên hiểu liệu mô hình còn mang lại giá trị theo các chỉ số kinh doanh hay không.

Áp dụng các khái niệm liên tục cùng kiểm thử tự động cho phép thử nghiệm nhanh và đảm bảo tối thiểu lỗi ở quy mô lớn. Ngoài ra, triển khai thành công cả bốn khái niệm liên tục có thể rút ngắn đáng kể thời gian đưa vào vận hành.

Hãy xem lại pipeline ví dụ ở phần tự động hóa. Áp dụng CI/CD cho trường hợp này sẽ tạo ra một codebase được lưu trong kho lưu trữ. Phù hợp với CI, một loạt unit test tự động sẽ được áp dụng cho kho này, như kiểm thử đặc trưng đã kỹ thuật, đảm bảo không có giá trị bị thiếu và kiểm tra overfitting. Các thành phần riêng lẻ của pipeline sau đó có thể được xác thực và triển khai, đảm bảo tương thích và đáp ứng nhu cầu tính toán. Mức độ tự động hóa này cho phép triển khai mới nhanh chóng, giúp tổ chức phản ứng kịp thời với các tác động và thay đổi từ bên ngoài.

Thúc đẩy thay đổi tổ chức

Thay đổi tổ chức phải diễn ra song song với sự tiến hóa trong mức trưởng thành MLOps. Điều này đòi hỏi các thay đổi quy trình thúc đẩy hợp tác giữa các nhóm, từ đó phá bỏ các silo. Trong một số trường hợp, cần tái cấu trúc đội ngũ để tạo điều kiện cho mức trưởng thành MLOps nhất quán. Mô hình trưởng thành của Microsoft đề cập cách hành vi con người phải thay đổi khi mức trưởng thành tăng lên.

Môi trường có mức trưởng thành thấp thường có nhà khoa học dữ liệu, kỹ sư dữ liệu và kỹ sư phần mềm làm việc tách rời. Khi mức trưởng thành tăng, mọi thành viên cần phối hợp. Nhà khoa học dữ liệu và kỹ sư dữ liệu phải hợp tác để chuyển mã thử nghiệm thành pipeline có thể lặp lại, trong khi kỹ sư phần mềm và kỹ sư dữ liệu phải cùng làm việc để tự động tích hợp mô hình vào mã ứng dụng.

Tăng cường hợp tác giúp toàn bộ quy trình triển khai bớt phụ thuộc vào một cá nhân. Nó đảm bảo áp dụng làm việc nhóm để giảm các nỗ lực thủ công tốn kém. Những lĩnh vực chuyên môn khác nhau này kết hợp để phát triển mức tự động hóa mà MLOps trưởng thành cao đòi hỏi. Tăng hợp tác và tự động hóa là chìa khóa để giảm nợ kỹ thuật.

Sự trỗi dậy của MLOps vẫn còn ở giai đoạn đầu

MLOps ra đời từ nhu cầu triển khai mô hình ML nhanh và hiệu quả. Khi các công ty đầu tư mạnh vào học máy, ngày càng nhiều mô hình được phát triển, làm tăng nhu cầu đối với MLOps. Dù MLOps vẫn ở giai đoạn sơ khai, có thể nói rằng các tổ chức đang hướng tới hội tụ quanh một bộ nguyên tắc có thể mở khóa ROI của học máy.

Nếu bạn muốn tìm hiểu thêm về MLOps, hãy tham khảo các tài nguyên sau:




Chủ đề
Machine Learning
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem thêm