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

MLOps Tooling: Các Công Cụ Hỗ Trợ Quản Lý Vòng Đời Mô Hình ML/ DL/ LLM

0 0 11

Người đăng: Phuc Phan

Theo Viblo Asia

Overview

  • MLOps là gì?: MLOps (Machine Learning Operations) là một tập hợp các thực hành kết hợp giữa DevOps (Development Operations) và học máy, nhằm mục đích tự động hóa và tối ưu hóa quy trình phát triển và triển khai mô hình học máy. MLOps giúp quản lý toàn bộ vòng đời của các mô hình học máy, từ giai đoạn phát triển, triển khai đến bảo trì, đảm bảo hiệu quả và tính liên tục của quá trình này.
  • Tầm Quan Trọng của MLOps Tooling: Các công cụ và phần mềm trong MLOps (gọi tắt là MLOps Tooling) đóng vai trò quan trọng trong việc hỗ trợ quản lý và tự động hóa các công đoạn khác nhau trong vòng đời của mô hình học máy. Nhờ vào MLOps Tooling, các nhóm phát triển có thể dễ dàng triển khai, giám sát, và bảo trì mô hình của mình một cách hiệu quả.
  • Một pipeline MLOps điển hình thường bao gồm các bước sau đây:

Tooling

CI/CD for Machine Learning

  • Công cụ thực hiện CI/CD cho Machine Learning.
    • Github Actions: Tự động hóa, tùy chỉnh và thực thi quy trình phát triển phần mềm ngay trong Repo code sử dụng GitHub Actions.
    • Clear ML: CI/CD Auto-Magical để hợp lý workflow ML.

Cron Job Monitoring

  • Công cụ giám sát cron jobs (recurring jobs)
    • Cronitor: Cho phép monitor bất kỳ cron-job hoặc scheduled task nào.

Data Catalog

  • Công cụ cho data cataloging
    • Apache Atlas: Cung cấp khả năng quản lý và quản lý siêu dữ liệu mở để xây dựng một data catalog.

Data Enrichment

  • Công cụ và thư viện để làm giàu dữ liệu (data enrichment)
    • Snorkel: Một hệ thống tạo dữ liệu training nhanh chóng thông qua phương pháp gọi là "weak supervision" (giám sát yếu).
    • Weak Supervision (Giám Sát Yếu): Thay vì sử dụng dữ liệu đã được gán nhãn thủ công và chính xác bởi con người (cách tiếp cận truyền thống và tốn nhiều thời gian), weak supervision sử dụng các nguồn dữ liệu khác nhau để gán nhãn cho dữ liệu. Các nguồn này có thể bao gồm:
      • Các quy tắc gán nhãn thủ công: Ví dụ, bạn có thể viết các quy tắc đơn giản để gán nhãn cho dữ liệu dựa trên một số đặc điểm nhất định.
      • Các mô hình học máy đã được huấn luyện: Sử dụng các mô hình hiện có để gán nhãn cho dữ liệu mới.
      • Dữ liệu công khai: Sử dụng dữ liệu từ các nguồn công khai hoặc từ các chuyên gia trong lĩnh vực.

Exploratory Data Analysis

Data Management

  • Công cụ thực hiện quản lý dữ liệu.
    • DVC: Quản lý và tạo các phiên bản (versioning) cho bộ dữ liệu và các mô hình ML.
    • Git LFS: Tiện ích mở rộng của Git để tạo ra các versioning cho các tệp lớn (large files).

Vector Databases

  • Công cụ lưu trữ VectorDB.
    • Milvus: một công cụ mã nguồn mở để tìm kiếm embedding vector tương đồng, được hỗ trợ bởi các thư viện như Faiss, NMSLIB và Annoy.
    • Pinecone: một công cụ mã nguồn mở để tìm kiếm embedding vector tương đồng được quản lý và phân tán, cung cấp SDK nhẹ để tích hợp dễ dàng vào các ứng dụng.
    • Qdrant: một công cụ mã nguồn mở cho tìm kiếm embedding vector tương đồng, với hỗ trợ các filter mở rộng.
    • Opensearch

Data Processing

  • Các công cụ liên quan đến xử lý dữ liệu (data processing) và data pipeline
    • Airflow: Nền tảng cho phép lập trình, lên lịch và giám sát các luồng công việc (workflows) một cách tự động và dễ dàng.
    • Hadoop: Một framework cho phép xử lý dữ liệu lớn phân tán trên các cụm máy tính, giúp quản lý và phân tích dữ liệu hiệu quả.
    • Spark: Công cụ phân tích dữ liệu hợp nhất, mạnh mẽ, giúp xử lý dữ liệu lớn với tốc độ cao và khả năng mở rộng lớn.

Data Validation

  • Các công cụ liên quan đến xác thực dữ liệu (data validation)
    • Cerberus: Thư viện Python nhẹ và có thể mở rộng, dùng để xác thực dữ liệu (data validation).
    • Cleanlab: Thư viện Python cho AI và ML, tập trung vào xử lý dữ liệu và nhãn không hoàn hảo, thường gặp trong thực tế.
    • Great Expectations: Framework xác thực dữ liệu bằng Python, cho phép kiểm tra dữ liệu của bạn dựa trên các tập dữ liệu khác.

Data Visualization

  • Công cụ trực quan hóa dữ liệu, báo cáo (report) và dashboards.
    • Tableau: Công cụ trực quan hóa dữ liệu mạnh mẽ và phát triển nhanh nhất được sử dụng trong business intelligence.

Drift Detection

  • Các công cụ và thư viện liên quan đến phát hiện phát hiện sự thay đổi trong phân phối dữ liệu đầu vào hoặc đầu ra theo thời gian. Mục tiêu là xác định khi nào mô hình bắt đầu hoạt động kém hiệu quả do sự thay đổi này, để có thể thực hiện các biện pháp cần thiết như huấn luyện lại mô hình hoặc điều chỉnh các tham số.
    • TorchDrift: Thư viện data và concept drift của Pytorch.

Feature Engineering

  • Các công cụ và thư viện liên quan đến feature engineering
    • Featuretools: Thư viện Python cho kỹ thuật auto feature engineering.

Feature Store

  • Các công cụ quản lý và cung cấp dữ liệu đặc trưng (features) cho các mô hình
    • Feast: Một Feature Store mã nguồn mở cung cấp giải pháp đầu-cuối (end-to-end) cho ML, giúp quản lý và cung cấp các dữ liệu đặc trưng một cách tự động và dễ dàng.

Hyperparameter Tuning

  • Các công cụ và thư viện để thực hiện điều chỉnh (tuning) hyperparameter.
    • Hyperopt: Thư viện Python cho tối ưu hóa hyperparameter phân tán và không đồng bộ, giúp tìm kiếm các siêu tham số tốt nhất cho mô hình ML.
    • Optuna: Framework mã nguồn mở cho tối ưu hóa siêu tham số, tự động hóa quá trình tìm kiếm siêu tham số cho các mô hình ML.

Model Lifecycle

  • Công cụ quản lý vòng đời mô hình (tracking experiments, parameters và metrics).
    • Aim: Một cách siêu dễ dàng để ghi lại, tìm kiếm và so sánh hàng ngàn lần chạy huấn luyện mô hình ML.
    • Mlflow: Nền tảng mã nguồn mở cho toàn bộ vòng đời của ML, từ quản lý thực nghiệm đến triển khai và theo dõi mô hình.
    • Neptune AI: Công cụ quản lý thực nghiệm nhẹ nhất, phù hợp với bất kỳ quy trình làm việc nào.
    • Weights and Biases: Công cụ trực quan hóa và theo dõi các thử nghiệm ML.

Model Serving

  • Công cụ để serving models trong môi trường production.
    • BentoML: Nền tảng mã nguồn mở để serving mô hình ML hiệu suất cao.
    • Cortex: Hạ tầng phục vụ mô hình ML.
    • KFServing: Define tài nguyên tùy chỉnh của Kubernetes để phục vụ các mô hình ML trên nhiều framework khác nhau.

Model Testing & Validation

  • Công cụ để testing và validate mô hình.
    • Deepchecks: Open-source package để xác thực các mô hình và dữ liệu ML. Nó cũng giúp phát hành ứng dụng LLM chất lượng cao nhanh chóng mà không ảnh hưởng đến việc kiểm tra, tránh bị cản trở bởi sự phức tạp và tính chủ quan của các tương tác LLM.

Simplification Tools

  • Các công cụ liên quan đến đơn giản hóa và tiêu chuẩn hóa ML.
    • Hydra: Một framework để cấu hình các ứng dụng phức tạp một cách dễ dàng.
    • Ludwig: Cho phép người dùng đào tạo và thử nghiệm các mô hình deep learning mà không cần viết code

Đọc thêm

  • Một số repo github lưu trữ tài liệu để bạn có thể tìm hiểu thêm về MLOps

Hy vọng, việc listing các công cụ sẽ giúp các bạn dễ dàng có cái nhìn tổng quan và biết cách để tìm hiểu, đi sâu hơn vào một framework phù hợp với nhu cầu của bạn đang cần.

Bình luận

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

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

Xây dựng pipeline học máy với FuseML

Vậy là chỉ 2, 3 tháng nữa là lại đến một mùa bảo vệ khóa luận/đồ án. Trên tình thần hỗ trợ các anh chị em bịa thêm một chương trong báo cáo của mình, bài viết này giới thiệu về giải pháp được cung cấp

0 0 20

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

Khoá học WanDB: Chương 2 - Theo dõi thí nghiệm với WanDB

Khoá học WanDB là một trong những khoá học nằm trong chuỗi các khoá học miễn phí của Sun* AI Research chia sẻ về các chủ đề nhỏ trong lĩnh vực AI. Khoá học này cung cấp các ví dụ cơ bản về WanDB cũng

0 0 17

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

Mờ Lờ Óp #3 - Hiện tượng Concept Drift và Data Drift

Mở đầu. Nghĩ đi anh.

0 0 18

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

Mờ Lờ Óp #2 - Quá trình Deployment

Mở bài. Như chúng ta đã biết Deploy là một bước không thể thiếu trong quá trình Đưa mô hình AI đến tay người dùng.

0 0 14

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

Mờ Lờ Óp #1 - Tổng quan về Mờ Lờ Óp

Mở đầu. Trong Kinh Thánh có một câu nói nổi tiếng rằng Đức tin mà không có việc làm là một ĐỨC TIN CHẾT.

0 0 18

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

[Điểm Tin AI Tuần Qua] Số thứ nhất: 20/11/2022 - 27/11/2022

Đến với số đầu tiên, chúng ta sẽ cùng điểm qua một số nội dung chính như sau:. 1, Các hoạt động đáng chú ý trong tuần:.

0 0 24