MLOps: DevOps trong thế giới Machine Learning

Vào năm 2018, khái niệm MLOps đã xuất hiện trong giới chuyên môn và tại các hội nghị chuyên đề dành riêng cho AI, khái niệm này nhanh chóng chiếm ưu thế trong ngành và hiện đang phát triển theo hướng độc lập. Trong tương lai, MLOps có thể trở thành một trong những lĩnh vực phổ biến nhất trong CNTT. Nó là gì và dùng để làm gì, hãy cùng tìm hiểu dưới đây nhé.

MLOps: DevOps trong thế giới Machine Learning

MLOps là gì

MLOps (kết hợp các công nghệ, quy trình và phương pháp tiếp cận máy học để triển khai các mô hình đã phát triển vào quy trình kinh doanh) là một cách hợp tác mới giữa các đại diện doanh nghiệp, nhà khoa học, nhà toán học, chuyên gia máy học và kỹ sư CNTT khi tạo ra hệ thống trí tuệ nhân tạo.

Nói cách khác, đó là một cách biến các phương pháp và công nghệ máy học thành một công cụ hữu ích để giải quyết các vấn đề kinh doanh. 

Cần phải hiểu rằng chuỗi năng suất bắt đầu từ lâu trước khi phát triển mô hình. Bước đầu tiên là xác định một vấn đề kinh doanh, một giả thuyết về giá trị có thể rút ra từ dữ liệu và ý tưởng kinh doanh để áp dụng nó. 

Khái niệm MLOps nảy sinh tương tự như khái niệm DevOps liên quan đến các mô hình và công nghệ học máy. DevOps là một cách tiếp cận để phát triển phần mềm cho phép bạn tăng tốc độ thực hiện các thay đổi riêng lẻ trong khi vẫn duy trì tính linh hoạt và độ tin cậy bằng cách sử dụng một số phương pháp, bao gồm phát triển liên tục, phân chia chức năng thành một số dịch vụ vi mô độc lập, thử nghiệm tự động và triển khai riêng lẻ. thay đổi, theo dõi sức khỏe toàn cầu, hệ thống phản ứng nhanh đối với các lỗi được phát hiện, v.v. 

DevOps đã xác định vòng đời của phần mềm và cộng đồng đã nảy ra ý tưởng áp dụng phương pháp tương tự cho dữ liệu lớn. DataOps là một nỗ lực nhằm điều chỉnh và mở rộng phương pháp có tính đến các tính năng lưu trữ, truyền và xử lý lượng lớn dữ liệu trong các nền tảng đa dạng và có khả năng tương tác.
  
Với sự ra đời của một lượng lớn mô hình học máy quan trọng được triển khai trong quy trình kinh doanh của doanh nghiệp, người ta nhận thấy sự tương đồng mạnh mẽ giữa vòng đời của các mô hình học máy toán học và vòng đời phần mềm. Điểm khác biệt duy nhất là các thuật toán mô hình được tạo bằng các công cụ và phương pháp học máy. Do đó, nảy sinh ý tưởng một cách tự nhiên là áp dụng và điều chỉnh các phương pháp tiếp cận đã biết để phát triển phần mềm cho các mô hình học máy. Do đó, có thể phân biệt các giai đoạn chính sau trong vòng đời của mô hình học máy:

  • xác định ý tưởng kinh doanh;
  • đào tạo mô hình;
  • thử nghiệm và triển khai mô hình vào quy trình nghiệp vụ;
  • hoạt động của mô hình.

Khi trong quá trình vận hành có nhu cầu thay đổi hoặc đào tạo lại mô hình trên dữ liệu mới, chu trình sẽ bắt đầu lại - mô hình được tinh chỉnh, thử nghiệm và phiên bản mới được triển khai.

Rút lui. Tại sao đào tạo lại mà không đào tạo lại? Thuật ngữ “đào tạo lại mô hình” có một nghĩa kép: đối với các chuyên gia, nó có nghĩa là một khiếm khuyết của mô hình, khi mô hình dự đoán tốt, thực sự lặp lại tham số dự đoán trên tập huấn luyện nhưng hoạt động kém hơn nhiều trên mẫu dữ liệu bên ngoài. Đương nhiên, mô hình như vậy là một khiếm khuyết, vì khiếm khuyết này không cho phép sử dụng nó.

Trong vòng đời này, việc sử dụng các công cụ DevOps: kiểm tra, triển khai và giám sát tự động, thiết kế các tính toán mô hình dưới dạng các dịch vụ vi mô riêng biệt có vẻ hợp lý. Nhưng cũng có một số tính năng ngăn việc sử dụng trực tiếp các công cụ này mà không có ràng buộc ML bổ sung.

MLOps: DevOps trong thế giới Machine Learning

Làm thế nào để làm cho mô hình hoạt động và có lợi nhuận

Để làm ví dụ trong đó chúng tôi sẽ chứng minh việc sử dụng phương pháp tiếp cận MLOps, chúng tôi sẽ thực hiện nhiệm vụ cơ bản là robot hóa tính năng hỗ trợ trò chuyện cho sản phẩm ngân hàng (hoặc bất kỳ sản phẩm nào khác). Thông thường, quy trình công việc hỗ trợ trò chuyện trông như thế này: khách hàng nhập tin nhắn kèm câu hỏi trong cuộc trò chuyện và nhận được phản hồi từ chuyên gia trong cây hội thoại được xác định trước. Nhiệm vụ tự động hóa một cuộc trò chuyện như vậy thường được giải quyết bằng cách sử dụng các bộ quy tắc được xác định một cách chuyên nghiệp, rất tốn công sức để phát triển và duy trì. Hiệu quả của việc tự động hóa như vậy, tùy thuộc vào mức độ phức tạp của nhiệm vụ, có thể là 20–30%. Đương nhiên, nảy sinh ý tưởng rằng sẽ có lợi hơn khi triển khai mô-đun trí tuệ nhân tạo - một mô hình được phát triển bằng cách sử dụng máy học, trong đó:

  • có thể xử lý số lượng yêu cầu lớn hơn mà không cần sự tham gia của nhà điều hành (tùy thuộc vào chủ đề, trong một số trường hợp, hiệu suất có thể đạt tới 70–80%);
  • thích ứng tốt hơn với cách diễn đạt không chuẩn trong cuộc đối thoại - có thể xác định ý định, mong muốn thực sự của người dùng dựa trên một yêu cầu không được xây dựng rõ ràng;
  • biết cách xác định khi nào câu trả lời của mô hình là phù hợp và khi có nghi ngờ về “nhận thức” về câu trả lời này và bạn cần đặt thêm câu hỏi làm rõ hoặc chuyển sang người điều hành;
  • có thể được đào tạo bổ sung một cách tự động (thay vì một nhóm nhà phát triển liên tục điều chỉnh và sửa các tập lệnh phản hồi, mô hình này được đào tạo bổ sung bởi chuyên gia Khoa học dữ liệu bằng cách sử dụng các thư viện máy học thích hợp). 

MLOps: DevOps trong thế giới Machine Learning

Làm thế nào để một mô hình tiên tiến như vậy hoạt động được? 

Giống như việc giải quyết bất kỳ vấn đề nào khác, trước khi phát triển một mô-đun như vậy, cần xác định quy trình nghiệp vụ và mô tả chính thức nhiệm vụ cụ thể mà chúng ta sẽ giải quyết bằng phương pháp học máy. Tại thời điểm này, quá trình vận hành, được ký hiệu bằng từ viết tắt Ops, bắt đầu. 

Bước tiếp theo là Nhà khoa học dữ liệu, phối hợp với Kỹ sư dữ liệu, kiểm tra tính sẵn có và đầy đủ của dữ liệu cũng như giả thuyết kinh doanh về khả năng tồn tại của ý tưởng kinh doanh, phát triển mô hình nguyên mẫu và kiểm tra tính hiệu quả thực tế của nó. Chỉ sau khi được doanh nghiệp xác nhận thì quá trình chuyển đổi từ phát triển mô hình sang tích hợp nó vào các hệ thống thực hiện một quy trình kinh doanh cụ thể mới có thể bắt đầu. Lập kế hoạch triển khai từ đầu đến cuối, sự hiểu biết sâu sắc ở từng giai đoạn về cách sử dụng mô hình và hiệu quả kinh tế mà nó mang lại, là điểm cơ bản trong quá trình đưa các phương pháp tiếp cận MLOps vào bối cảnh công nghệ của công ty.

Với sự phát triển của công nghệ AI, số lượng và sự đa dạng của các vấn đề có thể được giải quyết bằng học máy đang tăng lên theo cấp số nhân. Mỗi quy trình kinh doanh như vậy là một khoản tiết kiệm cho công ty do tự động hóa lao động của hàng loạt nhân viên (trung tâm cuộc gọi, kiểm tra và phân loại tài liệu, v.v.), đó là việc mở rộng cơ sở khách hàng bằng cách bổ sung thêm các chức năng mới hấp dẫn và tiện lợi, nó đang tiết kiệm tiền do sử dụng tối ưu và phân phối lại các nguồn lực, v.v. Suy cho cùng, bất kỳ quy trình nào cũng tập trung vào việc tạo ra giá trị và do đó phải mang lại hiệu quả kinh tế nhất định. Ở đây, điều rất quan trọng là phải hình thành rõ ràng ý tưởng kinh doanh và tính toán lợi nhuận dự kiến ​​​​từ việc triển khai mô hình trong cơ cấu tạo ra giá trị tổng thể của công ty. Có những tình huống khi việc triển khai một mô hình không tự chứng minh được và thời gian dành cho các chuyên gia học máy đắt hơn nhiều so với nơi làm việc của người vận hành thực hiện nhiệm vụ này. Đó là lý do tại sao cần cố gắng xác định những trường hợp như vậy trong giai đoạn đầu tạo ra hệ thống AI.

Do đó, các mô hình chỉ bắt đầu tạo ra lợi nhuận khi vấn đề kinh doanh đã được hình thành chính xác trong quy trình MLOps, các ưu tiên đã được đặt ra và quy trình đưa mô hình vào hệ thống đã được hình thành trong giai đoạn phát triển ban đầu.

Quá trình mới - thách thức mới

Là câu trả lời toàn diện cho câu hỏi kinh doanh cơ bản về cách áp dụng các mô hình ML để giải quyết vấn đề, vấn đề chung về niềm tin vào AI là một trong những thách thức chính trong quá trình phát triển và triển khai các phương pháp tiếp cận MLOps. Ban đầu, các doanh nghiệp nghi ngờ về việc đưa máy học vào các quy trình - rất khó để dựa vào các mô hình ở những nơi mà trước đây thường có con người làm việc. Đối với doanh nghiệp, các chương trình dường như là một “hộp đen”, mức độ liên quan của nó vẫn cần được chứng minh. Ngoài ra, trong lĩnh vực ngân hàng, kinh doanh của các nhà khai thác viễn thông và các lĩnh vực khác đều có những yêu cầu khắt khe từ cơ quan quản lý nhà nước. Tất cả các hệ thống và thuật toán được triển khai trong quy trình ngân hàng đều phải được kiểm toán. Để giải quyết vấn đề này, nhằm chứng minh cho doanh nghiệp và cơ quan quản lý tính hợp lệ và đúng đắn của các phản ứng trí tuệ nhân tạo, các công cụ giám sát đang được giới thiệu cùng với mô hình. Ngoài ra, còn có quy trình xác nhận độc lập, bắt buộc đối với các mô hình quản lý, đáp ứng yêu cầu của Ngân hàng Trung ương. Một nhóm chuyên gia độc lập kiểm tra kết quả thu được từ mô hình có tính đến dữ liệu đầu vào.

Thử thách thứ hai là đánh giá và tính đến các rủi ro của mô hình khi triển khai mô hình học máy. Ngay cả khi một người không thể trả lời câu hỏi một cách chắc chắn XNUMX% rằng chiếc váy đó là màu trắng hay xanh, thì trí tuệ nhân tạo cũng có quyền mắc sai lầm. Cũng cần lưu ý rằng dữ liệu có thể thay đổi theo thời gian và các mô hình cần được đào tạo lại để tạo ra kết quả đủ chính xác. Để đảm bảo quy trình kinh doanh không bị ảnh hưởng, cần quản lý rủi ro của mô hình và theo dõi hiệu suất của mô hình, thường xuyên đào tạo lại mô hình về dữ liệu mới.

MLOps: DevOps trong thế giới Machine Learning

Nhưng sau giai đoạn nghi ngờ đầu tiên, tác động ngược lại bắt đầu xuất hiện. Càng nhiều mô hình được triển khai thành công vào các quy trình thì nhu cầu sử dụng trí tuệ nhân tạo của doanh nghiệp càng tăng lên - các vấn đề mới ngày càng được phát hiện có thể được giải quyết bằng phương pháp học máy. Mỗi nhiệm vụ kích hoạt toàn bộ quá trình đòi hỏi những năng lực nhất định:

  • kỹ sư dữ liệu chuẩn bị và xử lý dữ liệu;
  • các nhà khoa học dữ liệu sử dụng các công cụ học máy và phát triển mô hình;
  • CNTT triển khai mô hình vào hệ thống;
  • Kỹ sư ML xác định cách tích hợp chính xác mô hình này vào quy trình và sử dụng công cụ CNTT nào, tùy thuộc vào yêu cầu đối với chế độ ứng dụng của mô hình, có tính đến luồng yêu cầu, thời gian phản hồi, v.v. 
  • Một kiến ​​trúc sư ML thiết kế cách triển khai thực tế một sản phẩm phần mềm trong hệ thống công nghiệp.

Toàn bộ chu trình đòi hỏi một số lượng lớn các chuyên gia có trình độ cao. Tại một thời điểm nhất định trong quá trình phát triển và mức độ thâm nhập của mô hình ML vào quy trình kinh doanh, hóa ra việc mở rộng tuyến tính số lượng chuyên gia tương ứng với mức độ tăng số lượng nhiệm vụ sẽ trở nên tốn kém và không hiệu quả. Do đó, câu hỏi đặt ra là tự động hóa quy trình MLOps - xác định một số loại vấn đề học máy tiêu chuẩn, phát triển các quy trình xử lý dữ liệu tiêu chuẩn và đào tạo bổ sung các mô hình. Trong một bức tranh lý tưởng, việc giải quyết những vấn đề như vậy đòi hỏi các chuyên gia có năng lực như nhau ở điểm giao thoa giữa Dữ liệu lớn, Khoa học dữ liệu, DevOps và CNTT. Do đó, vấn đề lớn nhất trong ngành Khoa học dữ liệu và thách thức lớn nhất trong việc tổ chức các quy trình MLOps là thị trường đào tạo hiện tại thiếu năng lực như vậy. Các chuyên gia đáp ứng được những yêu cầu này hiện rất hiếm trên thị trường lao động và có giá trị như vàng.

Về vấn đề năng lực

Về lý thuyết, tất cả các nhiệm vụ MLOps có thể được giải quyết bằng các công cụ DevOps cổ điển mà không cần dùng đến phần mở rộng chuyên biệt của mô hình vai trò. Sau đó, như chúng tôi đã lưu ý ở trên, một nhà khoa học dữ liệu không chỉ phải là nhà toán học và phân tích dữ liệu mà còn phải là chuyên gia về toàn bộ quy trình - anh ta chịu trách nhiệm phát triển kiến ​​trúc, lập trình mô hình bằng nhiều ngôn ngữ tùy thuộc vào kiến ​​trúc, chuẩn bị một trung tâm dữ liệu và triển khai ứng dụng đó. Tuy nhiên, việc tạo ra khung công nghệ được triển khai trong quy trình MLOps end-to-end tiêu tốn tới 80% chi phí nhân công, đồng nghĩa với việc một nhà toán học có trình độ, là Nhà khoa học dữ liệu chất lượng sẽ chỉ dành 20% thời gian cho chuyên môn của mình. . Do đó, việc phân định vai trò của các chuyên gia tham gia vào quá trình triển khai các mô hình học máy trở nên quan trọng. 

Việc phân định vai trò chi tiết đến mức nào tùy thuộc vào quy mô của doanh nghiệp. Đó là một điều khi một công ty khởi nghiệp có một chuyên gia, một nhân viên chăm chỉ trong lĩnh vực dự trữ năng lượng, là kỹ sư, kiến ​​​​trúc sư và DevOps của chính anh ta. Đó là một vấn đề hoàn toàn khác khi trong một doanh nghiệp lớn, tất cả các quy trình phát triển mô hình đều tập trung vào một số chuyên gia Khoa học dữ liệu cấp cao, trong khi một lập trình viên hoặc chuyên gia cơ sở dữ liệu - một năng lực phổ biến hơn và ít tốn kém hơn trên thị trường lao động - có thể đảm nhận trong hầu hết các công việc.

Do đó, tốc độ và chất lượng của các mô hình được phát triển, năng suất của nhóm và vi khí hậu trong đó phụ thuộc trực tiếp vào ranh giới nằm ở đâu trong việc lựa chọn các chuyên gia hỗ trợ quá trình MLOps và cách tổ chức quá trình vận hành các mô hình đã phát triển .

Những gì nhóm của chúng tôi đã làm

Gần đây chúng tôi đã bắt đầu xây dựng cấu trúc năng lực và các quy trình MLOps. Tuy nhiên, các dự án của chúng tôi về quản lý vòng đời mô hình và sử dụng mô hình làm dịch vụ đều đang ở giai đoạn thử nghiệm MVP.

Chúng tôi cũng xác định cơ cấu năng lực tối ưu cho một doanh nghiệp lớn và cơ cấu tổ chức tương tác giữa tất cả những người tham gia vào quy trình. Các nhóm Agile được tổ chức để giải quyết các vấn đề cho toàn bộ khách hàng doanh nghiệp và một quá trình tương tác với các nhóm dự án để tạo ra nền tảng và cơ sở hạ tầng, vốn là nền tảng của tòa nhà MLOps đang được xây dựng, đã được thiết lập.

Câu hỏi cho tương lai

MLOps là một lĩnh vực đang phát triển đang thiếu hụt năng lực và sẽ có được động lực trong tương lai. Trong thời gian chờ đợi, tốt nhất bạn nên xây dựng dựa trên các phương pháp thực hành và phát triển DevOps. Mục tiêu chính của MLOps là sử dụng các mô hình ML hiệu quả hơn để giải quyết các vấn đề kinh doanh. Nhưng điều này đặt ra nhiều câu hỏi:

  • Làm thế nào để giảm thời gian đưa mô hình vào sản xuất?
  • Làm thế nào để giảm bớt xích mích quan liêu giữa các nhóm có năng lực khác nhau và tăng cường sự tập trung vào hợp tác?
  • Làm thế nào để theo dõi mô hình, quản lý phiên bản và tổ chức giám sát hiệu quả?
  • Làm cách nào để tạo vòng đời thực sự tuần hoàn cho mô hình ML hiện đại?
  • Làm thế nào để chuẩn hóa quy trình machine learning?

Câu trả lời cho những câu hỏi này sẽ quyết định phần lớn tốc độ MLOps sẽ phát huy hết tiềm năng của nó.

Nguồn: www.habr.com

Thêm một lời nhận xét