Khóa học
MLOps, hay Machine Learning Operations, là một khía cạnh thiết yếu của quy trình làm việc học máy và đang dần định hình thành một lĩnh vực riêng. Nó kết hợp học máy với các thực hành tốt nhất của kỹ sư phần mềm để đảm bảo mô hình có thể đi qua đường ống từ giai đoạn thử nghiệm đến sản xuất, đồng thời giảm nợ kỹ thuật trong các đội ngũ dữ liệu.
Để thành công với học máy ở quy mô lớn, điều cốt yếu là phải xem xét cấp độ trưởng thành MLOps của tổ chức bạn. Thường có những rào cản khi triển khai mô hình, như hạ tầng, văn hóa tổ chức, hoặc không thể tái huấn luyện mô hình khi bị trôi. Điều này có thể dẫn đến giá trị thu được từ học máy thấp hơn nhiều so với kỳ vọng (hoặc tệ hơn, có thể gây hại cho những bên liên quan tương tác với mô hình của bạn). Từ đó có thể dẫn đến sự thiếu tin tưởng vào khả năng tạo giá trị bằng học máy của đội ngũ dữ liệu. Để khai thác trọn vẹn tiềm năng của học máy và AI, cần có một cách tiếp cận MLOps được suy tính kỹ lưỡng.
MLOps cũng cho phép các nhà khoa học dữ liệu tập trung vào điều thực sự quan trọng: thu thập và làm sạch dữ liệu, phát triển mô hình và sử dụng đúng kỹ thuật. Lý do là MLOps làm tăng đáng kể mức độ tự động hóa ở mọi giai đoạn của vòng đời học máy.
Bài viết này giả định bạn đã có hiểu biết thực tế về MLOps và nắm được tầm quan trọng của nó; để biết thêm thông tin về MLOps, hãy xem các bài viết Bắt đầu với MLOps và Thực hành tốt nhất về MLOps.
Tại sao cần các cấp độ trưởng thành?
MLOps không chỉ là việc áp dụng công cụ hay thay đổi cách làm việc. Việc triển khai đòi hỏi một cách tiếp cận tổng thể trong việc sử dụng công cụ và công nghệ để phá vỡ các “ốc đảo” trong đội ngũ kỹ thuật và tăng cường tự động hóa. Điều này có thể đồng nghĩa với việc tái cấu trúc tổ chức hoặc điều chuyển nhân sự, nhưng giải pháp của mỗi công ty sẽ khác nhau và độc nhất.
Xem xét MLOps qua lăng kính trưởng thành, tức mức độ tổ chức của bạn đã đi được bao xa trong quá trình triển khai MLOps, sẽ giúp xác định vị trí hiện tại và cần làm gì để tăng trưởng thành, cũng như những giá trị mà sự tăng trưởng này mang lại. Điều này cũng có nghĩa mức trưởng thành MLOps có thể mở rộng theo tổ chức. Các công ty nhỏ với ít mô hình sẽ không cần ở cùng mức trưởng thành như các tổ chức lớn, phức tạp. Tuy nhiên, ngay cả các tổ chức nhỏ mà đề xuất giá trị cốt lõi phụ thuộc vào học máy cũng sẽ cần một thực hành MLOps tương đối trưởng thành.
Cũng cần lưu ý rằng thăng tiến trên mô hình trưởng thành không diễn ra tuyến tính. Tổ chức của bạn có thể có những thành phần MLOps ở mức trưởng thành cao, nhưng thấp ở các mảng khác. Trong phần dưới đây, chúng tôi sẽ phác thảo mô hình trưởng thành MLOps của Microsoft, cung cấp cái nhìn tổng thể về cách MLOps phát triển trong một tổ chức.
Mô hình trưởng thành MLOps của Microsoft
Mô hình trưởng thành MLOps của Microsoft xác định ba chiều rộng để đánh giá mức trưởng thành MLOps:
- Con người: Các vai trò khác nhau trong đội ngũ dữ liệu và cách họ tương tác với nhau
- Vòng đời học máy: Cách quản lý vòng đời học máy, từ thu thập dữ liệu đến tạo và phát hành mô hình.
- Ứng dụng: Cách các mô hình học máy được kiểm thử, triển khai, đưa vào vận hành và tái huấn luyện.
Hơn nữa, mô hình trưởng thành MLOps của Microsoft xác định năm giai đoạn trưởng thành cho một thực hành MLOps, như sau:
- Chưa có MLOps: Hệ thống rời rạc, dạng “hộp đen” với các đội dữ liệu bị tách biệt, và việc huấn luyện, triển khai, kiểm thử mô hình đều thủ công.
- Có DevOps nhưng chưa có MLOps: Đội dữ liệu huấn luyện mô hình trong khi một đội khác triển khai. Vòng phản hồi về hiệu suất mô hình mờ nhạt với khả năng tái lập hạn chế.
- Tự động hóa huấn luyện: Mô hình có thể tái lập và việc phát hành bớt thủ công. Huấn luyện tự động và đường ống được dùng rộng rãi.
- Tự động hóa triển khai: Triển khai được tự động hóa và có thể truy vết về dữ liệu gốc. Mô hình có thể A/B test sau triển khai và các bài kiểm thử được tự động hóa.
- MLOps hoàn chỉnh: Hệ thống được tự động hóa hoàn toàn từ nạp dữ liệu đến triển khai và kiểm thử mô hình, với phân tích giám sát, tập trung về hiệu suất mô hình. Những hệ thống này thường được xây dựng theo yêu cầu riêng.
Phần dưới đây sẽ trình bày từng cấp độ trưởng thành, kèm bảng tóm tắt các điểm chính.
Chưa có MLOps
Ở giai đoạn này, tự động hóa rất ít và đội ngũ dữ liệu bị tách biệt khỏi tổ chức rộng hơn cũng như tách biệt nội bộ. Mức độ áp dụng công cụ thấp và một số chức năng như kỹ thuật dữ liệu có thể chưa tồn tại hoặc do nhà khoa học dữ liệu đảm nhiệm. Ở mức trưởng thành này, triển khai dù chỉ một mô hình cũng khó khăn và tốn thời gian, còn tái huấn luyện mô hình đòi hỏi chạy lại hoàn toàn phân tích và các tác vụ huấn luyện. Không có việc theo dõi mô hình sau triển khai nên có thể không khám phá được tác động của nó.
|
Con người |
Nhà khoa học dữ liệu |
Không trao đổi với đội ngũ rộng hơn, làm việc độc lập. |
|
Kỹ sư dữ liệu |
Có thể chưa tồn tại. |
|
|
Kỹ sư phần mềm |
Nhận mô hình từ nhà khoa học dữ liệu và bị tách biệt khỏi đội dữ liệu. |
|
|
Vòng đời ML |
Chuẩn bị dữ liệu |
Dù có thể có cơ sở dữ liệu, dữ liệu vẫn được thu thập thủ công để huấn luyện mô hình. |
|
Huấn luyện mô hình |
Thí nghiệm không được theo dõi, và không có các đường ống dữ liệu và học máy được thiết lập. |
|
|
Triển khai mô hình |
Mô hình thường được bàn giao thủ công kèm đầu vào và đầu ra. Không có kiểm soát phiên bản và script chấm điểm được tạo thủ công, việc triển khai thường do nhà khoa học dữ liệu đảm nhiệm. |
|
|
Ứng dụng |
Tích hợp |
Kiểm thử và phát hành hoàn toàn thủ công mỗi lần mô hình sẵn sàng triển khai, phụ thuộc nặng vào nhà khoa học dữ liệu. |
Có DevOps nhưng chưa có MLOps
Với việc tích hợp các thực hành tốt nhất của DevOps, đội dữ liệu vẫn bị tách biệt, dù có thể đã có kỹ sư dữ liệu chuyên trách. Công nghệ điện toán đám mây có thể được áp dụng nhưng chưa khai thác hết tiềm năng. Ở giai đoạn này, việc thu thập dữ liệu từ cơ sở dữ liệu và chuẩn bị cho học máy sẽ được tự động hóa trong các đường ống có thể tái sử dụng. Khi triển khai mô hình có thể cũng đã có các bài kiểm thử tích hợp. Nhà khoa học dữ liệu sẽ đội nhiều “mũ” và tham gia sâu vào kiểm thử mô hình sau triển khai.
|
Con người |
Nhà khoa học dữ liệu |
Không trao đổi với đội ngũ rộng hơn, làm việc độc lập. |
|
Kỹ sư dữ liệu |
Không trao đổi với đội ngũ rộng hơn, làm việc độc lập. |
|
|
Kỹ sư phần mềm |
Nhận mô hình từ nhà khoa học dữ liệu và bị tách biệt khỏi đội dữ liệu. |
|
|
Vòng đời ML |
Chuẩn bị dữ liệu |
Các đường ống dữ liệu tự động có sẵn và có thể chạy trên tài nguyên đám mây được quản lý. |
|
Huấn luyện mô hình |
Thí nghiệm không thể tái lập và không phải tất cả đều được theo dõi một cách nhất quán. |
|
|
Triển khai mô hình |
Mô hình thường được bàn giao thủ công kèm đầu vào và đầu ra. Có kiểm soát phiên bản và script chấm điểm vẫn được tạo thủ công, việc triển khai thường do nhà khoa học dữ liệu hoặc kỹ sư xử lý. |
|
|
Ứng dụng |
Tích hợp |
Phát hành được tự động hóa và có các bài kiểm thử tích hợp cơ bản nhưng phụ thuộc nhiều vào chuyên môn của nhà khoa học dữ liệu. |
Tự động hóa huấn luyện
Ở giai đoạn này, mức độ cộng tác trong đội dữ liệu tăng đáng kể. Nhà khoa học dữ liệu sẽ làm việc với kỹ sư để chuyển mã huấn luyện mô hình thành các script có thể lặp lại, tận dụng các đường ống dữ liệu tự động. Các thí nghiệm sẽ được theo dõi và kiểm soát phiên bản sẽ phổ biến hơn nhiều. Việc triển khai tự động hóa hơn, dù tệp mô hình vẫn được chuyển cho kỹ sư phần mềm.
|
Con người |
Nhà khoa học dữ liệu |
Nhà khoa học dữ liệu làm việc với kỹ sư dữ liệu để chuyển mã thí nghiệm thành các script có thể lặp lại. |
|
Kỹ sư dữ liệu |
||
|
Kỹ sư phần mềm |
Nhận mô hình từ nhà khoa học dữ liệu và bị tách biệt khỏi đội dữ liệu. |
|
|
Vòng đời ML |
Chuẩn bị dữ liệu |
Các đường ống dữ liệu tự động chạy trên tài nguyên đám mây được quản lý. |
|
Huấn luyện mô hình |
Các thí nghiệm được theo dõi và mã huấn luyện cũng như mô hình đều được kiểm soát phiên bản. |
|
|
Triển khai mô hình |
Mô hình vẫn được triển khai thủ công, tuy nhiên script chấm điểm được kiểm soát phiên bản và việc phát hành hiện do đội kỹ thuật phần mềm quản lý. |
|
|
Ứng dụng |
Tích hợp |
Phát hành được tự động hóa và có các bài kiểm thử tích hợp cơ bản nhưng phụ thuộc nhiều vào chuyên môn của nhà khoa học dữ liệu. |
Tự động hóa triển khai mô hình
Kỹ sư phần mềm hiện hợp tác chặt chẽ hơn nhiều với kỹ sư dữ liệu để triển khai mô hình, cũng như các đường ống huấn luyện và thu thập dữ liệu. Các thí nghiệm được theo dõi đầy đủ và có các bài kiểm thử đơn vị và tích hợp tự động cho mỗi lần phát hành mô hình và cho chính ứng dụng. Một số khu vực cũng có thể đã có CI/CD.
|
Con người |
Nhà khoa học dữ liệu |
Nhà khoa học dữ liệu làm việc với kỹ sư dữ liệu để chuyển mã thí nghiệm thành các script có thể lặp lại. |
|
Kỹ sư dữ liệu |
||
|
Kỹ sư phần mềm |
Làm việc với kỹ sư dữ liệu để tự động hóa tích hợp mô hình vào ứng dụng. |
|
|
Vòng đời ML |
Chuẩn bị dữ liệu |
Các đường ống dữ liệu tự động chạy trên tài nguyên đám mây được quản lý. |
|
Huấn luyện mô hình |
Các thí nghiệm được theo dõi và mã huấn luyện cũng như mô hình đều được kiểm soát phiên bản. |
|
|
Triển khai mô hình |
Mô hình hiện được triển khai tự động, script chấm điểm được kiểm soát phiên bản và phát hành do đường ống phân phối liên tục (CI/CD) quản lý |
|
|
Ứng dụng |
Tích hợp |
Tích hợp trong mã ứng dụng ít phụ thuộc vào nhà khoa học dữ liệu hơn, và có các bài kiểm thử đơn vị và tích hợp cho mỗi lần phát hành mô hình |
MLOps hoàn chỉnh với tái huấn luyện tự động
Ở giai đoạn trưởng thành cuối cùng, kỹ sư dữ liệu, nhà khoa học dữ liệu và kỹ sư phần mềm làm việc sát cánh để đảm bảo tự động hóa tối đa trong quá trình phát triển và triển khai. Hơn nữa, thí nghiệm cùng việc huấn luyện và tái huấn luyện mô hình được tự động dựa trên các chỉ số vận hành, mô hình được phát hành tự động và do đường ống CI/CD quản lý, và mô hình được kiểm thử trong mã ứng dụng.
|
Con người |
Nhà khoa học dữ liệu |
Nhà khoa học dữ liệu làm việc với kỹ sư dữ liệu để chuyển đổi các thí nghiệm thành script có thể lặp lại và làm việc với kỹ sư phần mềm để tự động hóa quy trình. Kỹ sư dữ liệu và kỹ sư phần mềm phối hợp để tự động hóa tích hợp mô hình vào ứng dụng và thu thập các chỉ số hiệu suất sau triển khai. |
|
Kỹ sư dữ liệu |
||
|
Kỹ sư phần mềm |
||
|
Vòng đời ML |
Chuẩn bị dữ liệu |
Các đường ống dữ liệu tự động chạy trên tài nguyên đám mây được quản lý. |
|
Huấn luyện mô hình |
Các thí nghiệm được theo dõi và mã huấn luyện cũng như mô hình đều được kiểm soát phiên bản, mô hình được tái huấn luyện tự động sau triển khai dựa trên các chỉ số hiệu suất. |
|
|
Triển khai mô hình |
Mô hình hiện được triển khai tự động, script chấm điểm được kiểm soát phiên bản và phát hành do đường ống phân phối liên tục (CI/CD) quản lý |
|
|
Ứng dụng |
Tích hợp |
Tích hợp trong mã ứng dụng ít phụ thuộc vào nhà khoa học dữ liệu hơn, và có các bài kiểm thử đơn vị và tích hợp cho mỗi lần phát hành mô hình |
Khác biệt giữa các mô hình MLOps phổ biến
Một điểm khác biệt đáng chú ý giữa mô hình trưởng thành MLOps này và mô hình của Google là cách triển khai các khái niệm CI/CD. Google cho rằng chúng thường nằm ở cấp độ trưởng thành cuối cùng, trong khi Microsoft cho rằng tái huấn luyện mới là giai đoạn cuối.
Trên thực tế, tái huấn luyện là một trong những động lực chính để áp dụng MLOps và có thể được tích hợp sớm hơn giai đoạn cuối. Tuy nhiên, tái huấn luyện mô hình có các điều kiện tiên quyết, như tự động hóa và hạ tầng vững chắc, cũng như các đường ống dữ liệu và huấn luyện mô hình chất lượng cao. Các khái niệm CI/CD sẽ tiếp tục được cải thiện cho đến các giai đoạn cuối của mức trưởng thành MLOps.
Các tổ chức có mức trưởng thành cao như Google và Microsoft thường có phần mềm thiết kế riêng chạy trên giải pháp đám mây của họ và tận dụng các công cụ cụ thể đến mức tối đa. Các kỹ sư phần mềm thường nói rằng công nghệ tại những công ty này “chỉ cần là chạy được”, với triển khai mô hình trơn tru và truy cập dữ liệu hiệu quả. Điều này là cần thiết vì họ có hàng trăm mô hình vận hành cho danh mục sản phẩm rất rộng.
Cách nâng cao mức trưởng thành MLOps
MLOps vẫn là một trong những lĩnh vực quan trọng nhất của khoa học dữ liệu, vì nhiều tổ chức vẫn chật vật đưa mô hình vào sản xuất. Các mô hình trưởng thành MLOps cung cấp khuôn khổ xuất sắc để hiểu đội ngũ dữ liệu hiện đang ở đâu về năng lực học máy và họ có thể phát triển như thế nào trong thời gian tới.
Để tìm hiểu thêm về MLOps, hãy xem các tài nguyên sau: