View on GitHub

mlpipeline

Tổng quan về một hệ thống học máy

Trí tuệ nhân tạo đang là một trong những lĩnh vực đang được chú trọng phát triển và ứng dụng rất nhiều trong thời gian gần đây, trong mọi lĩnh vực từ nông nghiệp, công nghiệp đến dịch vụ, và nó đã mang lại nhiều lợi ích cho các doanh nghiệp nhằm giúp tối ưu hoá quy trình cũng như cắt giảm chi phí.

Để ứng dụng được các nghiên cứu về trí tuệ nhân tạo vào thực tế, các kỹ sư cần phải biết cách thiết kế và xây dựng một hệ thống học máy đảm bảo được các yêu cầu về kinh tế cũng như kĩ thuật, nhằm mang lại sản phẩm tối ưu nhất để ứng dụng cho các doanh nghiệp, tổ chức.

Quy trình của một hệ thống học máy

alt text

1. Xây dựng yêu cầu cho hệ thống

Để xây dựng một hệ thống học máy, trước tiên chúng ta cần phải phân tích yêu cầu của hệ thống.

2. Dữ liệu

Dữ liệu mà một thành phần quan trọng và tất nhiên không thể thiếu để xây dựng một hệ thống. Trong thực tế, phần lớn thời gian phát triển hệ thống học máy tập trung vào việc thu thập, phân tích, gán nhãn và làm sạch dữ liệu. Ngoài việc phân loại và thu thập dữ liệu cần có, chúng ta cũng cần phải quan tâm đến một số vấn đề như:

3. Xây dựng và tối ưu mô hình học máy

Khi tiếp cận với một bài toán học máy, chúng ta cần phải xem xét và phân loại bài toán này để sử dụng mô hình học máy phù hợp với bài toán. Chúng ta cần phải phân tích các thành phần hoặc các bước cần phải thực hiện để có thể giải quyết bài toán, liệu chúng ta chỉ cần sử dụng một thuật toán/mô hình hay cần phải kết hợp các thuật toán khác nhau.

4. Triển khai mô hình

Sau khi huấn luyện mô hình, chúng ta cần triển khai mô hình này vào thực tế. Có nhiều yêu cầu cũng như môi trường khác nhau mà chúng ta cần phải triển khai tuỳ thuộc vào bài toán như: triển khai trên mobile thông qua các ứng dụng, triển khai mô hình trên nền tảng đám mây và cung cấp API cho người dùng, triển khai trên các máy của khách hàng bằng cách gửi các docker image, hoặc chúng ta cũng có thể triển khai thông qua các extensions, SDK,…

Công cụ phát triển

Ở trong hình quy trình của một hệ thống học máy ở đầu trang, chúng ta có thể lựa chọn các thành phần phù hợp cho từng bước trong quy trình. Trong blog này, chúng ta sẽ sử dụng các thư viện mã nguồn mở có sẵn và được sử dụng nhiều trong thực tế.

  1. Lưu trữ dữ liệu: Amazon Simple Storage Service (S3)
  2. Gán nhãn dữ liệu: Label Studio
  3. Data and Model Versioning: Data Version Control (DVC)
  4. Xây dựng và huấn luyện mô hình: Pytorch
  5. Quản lý thí nghiệm và tối ưu siêu tham số: Cometml
  6. ML Workflows: Kubeflow
  7. Giao diện demo: Gradio
  8. Triển khai mô hình: Nuclio
  9. Xây dựng cơ sở hạ tầng: Terraform

    Tài liệu tham khảo

  10. Machine Learning Systems Design - Chip Huyen
  11. Full Stack Deep Learning

Bài tiếp theo: Phân tích yêu cầu bài toán

Về Trang chủ