- vừa được xem lúc

MLOps Lifecycle - Vòng đời của một dự án AI

0 0 14

Người đăng: Ben

Theo Viblo Asia

Overviews

Việc triển khai ổn định trong thực tế tốn nhiều thời gian vì vậy việc nắm bắt được quá trình hoạt động của hệ thống là vô cùng quan trọng. Chúng ta cần xây dựng cho dự án một vòng đời để kiểm soát được rủi ro khi dự án đang hoạt động.

ML in Production:

Configure

Ở bước này chúng ta cùng nhau xác địch mục tiêu của dự án với bài toán học máy, khai thác dựa trên các yếu tố:

  • Mục tiêu (target): Ứng dụng ML để giải quyết vấn đề của dự án, các yêu cầu phù hợp.
  • Đánh giá rủi ro (cost of mistakes): Không có mô hình nào là cố độ chính xác tuyệt đối 100% cả, vì vậy chúng ta cần đánh giá sơ bộ về tính khả thi cũng như khả năng dự đoán của mô hình ML để ước tính được sai số của nó hay còn có tên gọi là cost of mistake.
  • Dữ liệu có sẵn hay không (data availability): Nếu chúng ta bắt đầu xây dựng mô hình ML mà không có dữ liệu sau đó tiến hành thu thập dữ liệu. Tốt nhất sẽ là dữ liệu của chúng ta phong phú và đa dạng, điều đó giúp cho mô hình hoạt động tốt hơn. Ví dụ: nếu bạn thực hiện phát hiện điểm bất thường mà không có dữ liệu được gắn nhãn, bạn có thể bắt đầu với nhiều loại thuật toán phân cụm không giám sát và đánh dấu các điểm không nằm trong bất kỳ cụm nào là điểm bất thường. Nhưng khi bạn thu thập phản ứng của người dùng đối với mô hình của mình, bạn sẽ có một tập dữ liệu được gắn nhãn. Sau đó, bạn có thể muốn thử xem mô hình phân loại được giám sát có hoạt động tốt hơn không.
  • Đánh giá số liệu (evaluation metrics): Chúng ta nên lựa chọn ngưỡng của các số liệu nhằm giúp mô hình hoạt động một cách tối ưu hơn, số liệu này cần phù hợp với dự án chúng ta đang thực hiện.

Data collection

Thu thập dữ liệu cần thiết từ các trang web và hoàn toàn có thể tự xây dựng bộ dữ liệu cho dự án của bán dựa vào các yêu cầu của dự án.

Data verification

Việc dữ liệu chúng ta thu tập được bị xấu hoặt bị sai là điều quá bình thường, vì vậy cần phải lọc bỏ những thành phần dữ liệu gây nhiễu đối với mô hình của ML, cần làm sạch nó, loại bỏ các dữ liệu trùng lặp, gắn nhãn một cách chính xác cho chúng .

Khi dữ liệu đã được làm sạch, chúng ta có thể chuyển đổi dữ liệu sao cho phù hợp với mô hình ML mà chúng ta đang hướng tới sử dụng. Thay đổi cấu trúc hay kích thước bla bla… để phù hợp thì ta cần thực hiện nó.

Thực hiện kiểm tra chất lượng dữ liệu lần cuối để tiến hành cho vào bước huấn luyện.

ML model coding

Sau khi đã có được dữ liệu hoàn chỉnh, hãy đưa dữ liệu vào mô hình rồi tiến hành huẩn luyện nhé.

Ta thực hiện train với nhiều chế độ, chạy thử nhiệm, so sánh hiệu suất của các mô hình, điều chỉnh các siêu tham số khác nhau sau đó lựa chọn mô hình tốt nhất.

Serving infrastructure

Cơ sở hạ tầng ML bao gồm các tài nguyên, quy trình và công cụ cần thiết để phát triển, vận hành và đào tạo các mô hình ML. Mọi giai đoạn trong quy trình làm việc của nó đều được hỗ trợ bởi co sở hạ tầng ML, nhờ đó ta dễ dàng quản lý các quy trình và vận hành mô hình một cách tốt nhất. Bởi vì các mô hình khác nhau giữa các dự án, nên việc triển khai cơ sở hạ tầng của mỗi dữ án là khác nhau.

Monitoring

Đánh giá mô hình với mục tiêu ban đầu đặt ra kết hợp với phân tích các phần thiết bị cơ sở hạ tầng ảnh hưởng đến hiệu suất của mô hình. Tiến hành điều chỉnh với phản hồi của khách hàng đề phụ hợp với bài toán.

Ở mọi giai đoạn, không phải lúc nào bạn cũng tiến tới giai đoạn tiếp theo. Khi phát hiện ra các vấn đề, bạn quay lại giai đoạn trước có liên quan để điều chỉnh chúng. Vì vậy, chúng ta hoàn toàn có thể linh động các bước hoạt động thực hiện khi gặp vấn đề hay sự cố nào đó.

Bạn liên tục theo dõi tình trạng của mô hình, lỗi, độ trễ, dự đoán, phân phối các đặc trưng của mô hình đầu vào, v.v. Trong trường hợp có sự cố phát sinh, tùy thuộc vào mức độ nghiêm trọng và chẩn đoán, bạn có thể khôi phục hệ thống về phiên bản cũ hơn, phát hành hotfix, kích hoạt đào tạo lại mô hình hoặc làm bất cứ điều gì khác cần thiết.

Các bước triển khai trong ML Production

Cần có thứ tự các hoạt động thực hiện để làm chủ hệ thống. Triển khai và bảo trì sẽ dễ dàng hơn nếu tuân thủ các bước dưới đấy:

  1. Scoping
  • Define project: Xác định project và các việc cần làm.
  1. Data
  • Define data và thiết lập baseline.
  • Label và organize data.
  1. Modeling
  • Chọn mô hình và train mô hình.
  • Thực hiện phân tích các lỗi gặp phải.
  1. Deployment
  • Deploy trong sản phẩm.
  • Theo dõi và maintain hệ thống.

Tổng kết

Trong bài viết này chúng ta đã nắm bắt được khá tổng quát lý thuyết của bài toán MLOps trong một dự án, về các bước thực hiện, tiến hành hệ thống. Đọc xong bài viết này, chắc hản các bạn đã có cái nhìn rõ hơn về MLOps rồi chứ, các bài viết tiếp theo sẽ đi sâu hơn và trực quan hơn nhé. Hãy cùng chờ đón những bài viết mới của mình.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các thuật toán cơ bản trong AI - Phân biệt Best First Search và Uniform Cost Search (UCS)

Nếu bạn từng đọc các thuật toán trong AI (Artificial Intelligence - Trí tuệ nhân tạo), rất có thể bạn từng nghe qua về các thuật toán tìm kiếm cơ bản: UCS (thuộc chiến lược tìm kiếm mù) và Best First Search (thuộc chiến lược tìm kiếm kinh nghiệm). Khác nhau rõ từ khâu phân loại rồi, thế nhưng hai th

0 0 169

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 157

- vừa được xem lúc

[ChatterBot] Thư viện chatbot hay ho dành cho Python| phần 3

Trong bài trước mình đã trình bày về Training data cho chatbot và tiền xử lý dữ liệu. Trong phần này sẽ trình bày với các bạn về logic adapter.

0 0 62

- vừa được xem lúc

[Deep Learning] Kỹ thuật Dropout (Bỏ học) trong Deep Learning

. Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.1. Dropout trong mạng Neural là gì.

0 0 68

- vừa được xem lúc

Kỹ thuật Dropout (Bỏ học) trong Deep Learning

Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.

0 1 81

- vừa được xem lúc

Blockchain dưới con mắt làng Vũ Đại 4.0

Mở bài. Hey nhô các bạn, lại là mình đây .

0 0 50