Hướng triển khai cho các project Machine Learning

Machine Learning

How to deliver Machine Learning projects.

Kĩ sư Học máy (Machine Learning Engineers) là một ngành mới xuất hiện cách đây không lâu. Một Kỹ sư Học Máy có kĩ năng về cả Học máy và Kĩ thuật phần mềm (Software Engineering). Một Kĩ sư Học máy là người có thể sử dụng các kĩ năng của mình để tìm ra các mô hình học máy có hiệu suất cao đem vào ứng dụng và cũng là người xử lý các vấn đề từ cơ sở hạ tầng phục vụ huấn luyện cho đến tạo ra mô hình áp dụng thực tế. Có kha khá nguồn tài liệu trên mạng để một Kỹ sư phần mềm hay bất cứ ai học về Học máy. Tuy nhiên, trong thực tế, một đội ngũ làm Học máy sẽ phải đối mặt với một vấn đề: Làm sao để có thể quản lý các tiến trình của dự án như các dự án phần mềm truyền thống ? Đó là ML Engineering Loop

ML Engineering Loop gồm 4 stages:

1. Analyze: Sử dụng các phương pháp chẩn đoán (diagnostics) khác nhau, bạn sẽ tìm ra được cái gì đã giới hạn hiệu suất (performance) của mô hình. Hiểu được bản chất vấn đề sẽ là tiền đề cho đề xuất những giải pháp ở bước sau.

2. Select an approach: Liệt kê ra càng nhiều ý tưởng càng tốt. Chọn ra cái nào đơn giản, dễ triển khai nhất. Nên nhớ cái gì dễ làm trước. Nếu đã có sẵn một giải pháp có vẻ ổn thì dùng nó luôn. Có thể các phương pháp tinh vi, phức tạp sẽ cho kết quả tốt hơn, tuy nhiên qua thực tế tác giả thấy rằng sự cải thiện qua nhiều chu trình sẽ cho ra kết quả không tồi, hơn là chỉ chăm chăm sử dụng một giải pháp state-of-the-art, tốn khá nhiều thời gian.

3. Implement: Mục tiêu của giai đoạn này là để nhanh chóng thử ý tưởng của bạn để có thể đo đạc, học từ đó và quay lại chu trình. Do vậy, bạn chỉ nên làm những thứ thực sự cần thiết. Tuy là nhanh nhưng bạn vẫn phải đảm bảo code của mình chính xác, hãy kiểm tra thường xuyên.

4. Measure: Theo dõi các kết quả cũng như các số liệu.
Nếu hiệu suất tăng, bạn đang đi đúng hướng. Bạn có thể làm sạch code và đảm bảo rằng thí nghiệm có thể thực hiện lại được bởi cách thành viên khác trong đội.
Ngược lại, khi hiệu suất không tăng đáng kể thậm chí có thể tệ hơn, bạn phải quyết định nên tiếp tục hay bỏ ý tưởng hiện tại đi. Bỏ đi khi mà mỗi chu trình trong ML Loop có chi phí rẻ: bạn không tốn quá nhiều công để làm code “hoàn hảo”, và một lần thử nữa cũng không quá lâu.

Nếu bạn muốn đọc chi tiết hơn: https://lego1st.github.io/…/how-to-deliver-machine-learning…
(Nếu ai có tò mò thì đây là cái mình đang học bấy lâu nay nhé :D, mình thấy bài này khá hay nên dịch lại)

Leave a Reply

Your email address will not be published. Required fields are marked *