Quy trình làm việc trong một dự án Machine Learning
Quy trình làm việc trong một dự án Machine Learning
1. Định nghĩa bài toán
Trước khi đi vào chi tiết việc xây dựng một hệ thống AI, tốt hơn hết là bạn nên có một cái nhìn rõ ràng về các định nghĩa của hệ thống mình cần xây dựng. 3 công đoạn bạn cần thực hiện trong giai đoạn này bao gồm:
- Hiểu rõ tiến trình hiện tại: Hệ thống AI của bạn trong tương lai sẽ thay thế một tiến trình ở hiện tại. Vậy tiến trình đó được thực hiện như thế nào và đầu ra của nó là gì ? Việc hiểu rõ tiến trình hiện tại sẽ giúp bạn có những kiến thức về domain mà hệ thống AI của bạn sẽ được cài đặt.
- Định nghĩa đầu ra của hệ thống: Bạn muốn mô hình của mình dự đoán những thứ gì ? Hãy định nghĩa đầu ra của mô hình Machine Learning một cách chi tiết.
- Liệt kê các nguồn dữ liệu hữu ích: Bạn sở hữu những dữ liệu nào sẽ giúp ích cho quá trình dự đoán? Bắt đầu bằng cách liệt kê những nguồn dữ liệu mà tiến trình hiện tại đang sử dụng. Bạn có thể thực hiện điều này bằng cách tự hỏi mình rằng: 'Nếu tôi muốn đưa ra dự đoán về bài toán này thì tôi cần sử dụng những dữ liệu gì ?'.
Nếu bạn đã có kiến thức về tiến trình hiện tại, định nghĩa đầu ra của mô hình và xác định các tài nguyên cần sử dụng thì hãy bắt đầu thực hiện bước kế tiếp.
2. Xác định cách tiếp cận
Ngay cả khi bạn đã định nghĩa bài toán, vẫn là quá sớm để quyết định rằng mô hình của bạn sẽ hoạt động như thế nào và nó có thể thay thế tiến trình hiện tại hay không. Để bắt đầu xây dựng một mô hình Machine Learning có thể hoạt động tốt, ta bắt đầu các công đoạn sau đây:
- Nghiên cứu: Tìm hiểu tất cả các giải pháp hiện nay để giải quyết những bài toán tương tự - dù giải pháp đó có sử dụng Machine Learning hay không. Sau đó, kết hợp những kiến thức của mình với những kiến thức về tiến trình hiện tại để đưa ra giải pháp cho bài toán.
- Xây dựng tập dữ liệu: Thu thập và xây dựng một tập các dữ liệu của bài toán hiện tại với các cặp đầu vào - đầu ra được biểu diễn tường minh. Những dữ liệu này mô tả các trường hợp mà hệ thống của bạn cần giải quyết. Hệ thống Machine Learning của bạn cần phải học cách đưa ra dự đoán một cách chính xác.
- Thực nghiệm: Bắt đầu với cách tiếp cận có triển vọng nhất, xây dựng một hệ thống Machine Learning theo cách tiếp cận này và cải thiện dần dần cho đến khi bạn có một hệ thống đủ tốt.
3. Xây dựng một giải pháp tối ưu
Từ hệ thống bạn đã xây dựng, để có thể triển khai vào hoạt động trước tiên cần phải cải thiện nó thành một hệ thống ổn định và có khả năng mở rộng.
- Cải thiện độ chính xác: Để cải thiện hiệu năng của mô hình, bạn có thể thực hiện các bước: Sử dụng thêm dữ liệu, phân tích thêm các đặc tính của dữ liệu, điều chỉnh các tham số của mô hình, ..
- Khả năng mở rộng & Tính ổn định: Xây dựng một pipeline cho việc xử lý dữ liệu bằng cách tạo các scalable module; viết các unit test và integration test để kiểm tra các lỗi có thể xảy ra; xây dựng một module triển khai có tốc độ xử lý nhanh và ổn định.
- A/B Test: Sử dụng để tính toán độ hiệu quả của hệ thống Machine Learning so với tiến trình hiện tại.
- API: Bạn có thể đóng gói hệ thống Machine Learning của mình trong một API để có thể sử dụng như một dịch vụ Web và tương tác với các thành phần khác trong hệ thống.
- Viết tài liệu: Ngoài việc viết tài liệu cho các đoạn code, bạn nên viết một tài liệu hướng dẫn sử dụng giải thích về hệ thống của bạn.
4. Các Add-ons không bắt buộc
- Versioning: Sử dụng những công cụ quản lý phiên bản như git để quản lý các phiên bản khác nhau trong dự án của bạn.
- Automated retraining: Mô hình của bạn sẽ thường xuyên phải huấn luyện lại với những dữ liệu mới. Trong một vài trường hợp, việc xây dựng một cơ chế tự động huấn luyện lại mô hình sẽ tiện lợi hơn.
Nguồn: TowardDataScience The Machine Learning Workflow