Lập kế hoạch cho dự án học máy

Việc lập kế hoạch cho các dự án học máy khác với việc lập kế hoạch cho các dự án kỹ thuật phần mềm thông thường. Các dự án học máy thường không tuyến tính và có mức độ không chắc chắn khác nhau. Các mô hình này đòi hỏi một phương pháp lặp lại và tư duy thử nghiệm.

Mức độ không chắc chắn của dự án

Việc lập kế hoạch ở giai đoạn đầu có thể khó khăn vì phương pháp tốt nhất thường không rõ ràng khi bắt đầu một dự án. Sự không chắc chắn vốn có này khiến việc ước tính tiến trình trở nên khó khăn.

Một cuộc thi gần đây trên Kaggle minh hoạ sự không chắc chắn của các dự án học máy. Trong vài tuần đầu tiên của cuộc thi, 350 đội đã tham gia. Các đội đứng đầu đã có thể tăng chất lượng dự đoán điểm chuẩn từ 35% lên 65%. Trong hai tuần tiếp theo, số lượng nhóm làm việc về vấn đề này đã tăng từ 350 lên 1.400. Tuy nhiên, mô hình tốt nhất chỉ đạt được chất lượng dự đoán là 68%.

Hình 3 minh hoạ sự không chắc chắn trong quá trình phát triển học máy bằng cách cho thấy mức độ nỗ lực tăng lên đáng kể nhưng chất lượng mô hình chỉ tăng lên ở mức tối thiểu.

Hình ảnh cho thấy số lượng nhóm tăng từ 350 lên 1.400 trong vòng hai tuần, nhưng chất lượng mô hình chỉ cải thiện 3%.

Hình 3. Trong khoảng thời gian hai tuần, số lượng nhóm làm việc về vấn đề này tăng gấp 4 lần, nhưng chất lượng của mô hình vẫn gần như không thay đổi, cho thấy khó khăn trong việc ước tính nỗ lực của một giải pháp học máy.

Nói cách khác, hơn một nghìn nhóm – mỗi nhóm thử nghiệm với nhiều loại chuyển đổi dữ liệu, cấu trúc và tham số siêu dữ liệu – chỉ đạt được kết quả tạo ra một mô hình có chất lượng dự đoán là 68%.

Một ví dụ trong ngành minh hoạ tính phi tuyến tính của các dự án học máy, trong đó đầu ra không tỷ lệ với đầu vào. Hai nhóm đã mất vài tháng để huấn luyện một mô hình đạt chất lượng dự đoán là 90%. Tuy nhiên, một số nhóm đã mất hơn 5 năm để chuẩn bị mô hình sẵn sàng cho hoạt động sản xuất với chất lượng dự đoán là 99,9%.

Những ví dụ này cho thấy rằng học máy sẵn sàng cho hoạt động sản xuất là một quy trình khám phá, đòi hỏi cả tư duy khoa học và kỹ thuật.

Phương pháp thử nghiệm

Trong hầu hết các trường hợp, quá trình phát triển ML giống như thực hiện các thử nghiệm hơn là thực hành kỹ thuật phần mềm truyền thống. Máy học yêu cầu kiểm thử nhiều tính năng, thử nhiều cấu trúc và điều chỉnh các tham số siêu dữ liệu vừa phải. Theo định nghĩa, các thử nghiệm không được đảm bảo sẽ thành công. Do đó, tốt nhất bạn nên lập kế hoạch sử dụng khung thử nghiệm.

Hãy xem xét một kế hoạch kỹ thuật phần mềm thông thường để biết kế hoạch này khác với kế hoạch dự án học máy như thế nào.

Lập kế hoạch cho dự án kỹ thuật phần mềm

Trong một kế hoạch kỹ thuật phần mềm thông thường, bạn xác định các yêu cầu, phác thảo các thành phần, ước tính mức độ nỗ lực và lên lịch công việc. Có một lộ trình rõ ràng dẫn đến giải pháp. Ví dụ: các kỹ sư thường biết chắc chắn những nhiệm vụ cần hoàn thành để xây dựng một ứng dụng đáp ứng thông số kỹ thuật thiết kế.

Khi dự đoán thời gian cần thiết để hoàn thành một nhiệm vụ, họ có thể ước tính công việc dựa trên các dự án tương tự. Mặc dù các thách thức luôn xảy ra (chẳng hạn như các phần phụ thuộc không xác định hoặc các yêu cầu thay đổi) khiến việc ước tính đôi khi trở nên khó khăn, nhưng thường thì bạn sẽ tìm thấy một lộ trình rõ ràng để giải quyết vấn đề.

Ngược lại, các dự án học máy thường không có một lộ trình rõ ràng để đạt được thành công.

Lập kế hoạch cho dự án học máy

Đối với hầu hết các dự án học máy, bạn sẽ tìm thấy giải pháp tốt nhất bằng cách thử nghiệm nhiều phương pháp trong một quy trình thử và sai. Thông thường, bạn sẽ không biết giải pháp tối ưu cho vấn đề của mình trước khi cố gắng giải quyết vấn đề đó. Ví dụ: cấu trúc của giải pháp tối ưu có thể là một mô hình tuyến tính đơn giản, hoặc một mạng nơron, hoặc có thể là một cây quyết định. Bạn chỉ có thể khám phá giải pháp tốt nhất bằng cách thử từng phương pháp.

Sự mơ hồ này khiến việc lập kế hoạch trở nên khó khăn. Như đã thảo luận trước đó, rất khó để dự đoán mức độ nỗ lực cần thiết cho một dự án học máy. Chỉ khi cố gắng giải quyết vấn đề, bạn mới có thể hiểu rõ hơn về lượng thời gian và tài nguyên mà một giải pháp có thể cần đến.

Sau đây là các chiến lược được đề xuất để lập kế hoạch công việc về học máy:

  • Đặt thời gian cho công việc. Đặt khung thời gian rõ ràng để hoàn thành công việc hoặc thử một giải pháp cụ thể. Ví dụ: bạn có thể dành ra hai tuần để xác định xem bạn có thể truy cập vào loại dữ liệu phù hợp hay không. Nếu có thể lấy dữ liệu, bạn có thể dành thêm hai tuần để xem liệu một mô hình đơn giản có cho thấy giải pháp học máy là khả thi hay không. Nếu một mô hình đơn giản không thành công, bạn có thể dành thêm hai tuần để thử một mạng nơron. Vào cuối mỗi khung thời gian, bạn sẽ có thêm thông tin để xác định xem có nên tiếp tục áp dụng tài nguyên cho vấn đề này hay không.

  • Thu hẹp phạm vi yêu cầu của dự án. Nếu một giải pháp học máy có vẻ hứa hẹn nhưng không phải là một tính năng quan trọng đối với sản phẩm hoặc dịch vụ của bạn, hãy thu hẹp phạm vi yêu cầu của giải pháp đó. Ví dụ: khi lập kế hoạch cho công việc của quý tiếp theo, bạn có thể lên kế hoạch thử một giải pháp rất đơn giản. Sau đó, trong các quý tiếp theo, bạn có thể lên kế hoạch cải thiện giải pháp theo phương pháp lặp lại. Việc triển khai giải pháp học máy bằng cách cải tiến dần theo một khoảng thời gian dài hơn là cách nhiều nhóm đã tìm ra các giải pháp học máy hiệu quả.

  • Dự án của thực tập sinh hoặc nhân viên mới. Việc hướng dẫn và chỉ dẫn một thực tập sinh hoặc nhân viên mới thử nghiệm một giải pháp học máy có thể là một cách hay để bắt đầu khám phá một không gian mới với kết quả chưa xác định. Sau khi dự án kết thúc, bạn sẽ hiểu rõ hơn về nỗ lực cần có để triển khai giải pháp học máy và các phương pháp có thể hứa hẹn để theo đuổi, hoặc liệu có nên đặt tài nguyên vào nơi khác hay không.

Với bất kỳ chiến lược nào, bạn cũng nên thất bại nhanh. Trước tiên, hãy thử các phương pháp có chi phí thấp nhất nhưng có thể mang lại lợi ích cao nhất. Nếu phương pháp này hiệu quả, bạn đã tìm được một giải pháp tốt. Nếu không, bạn sẽ không lãng phí nhiều thời gian và tài nguyên.

Khi có kinh nghiệm và được tiếp xúc với việc chạy thử nghiệm, các nhóm sẽ có thể ước tính tốt hơn về nỗ lực mà một thử nghiệm có thể đòi hỏi, giúp việc lập kế hoạch trở nên dễ dự đoán hơn. Tuy nhiên, kết quả của một thử nghiệm hầu như luôn không xác định được, vì vậy, không thể ước tính trước số lượng thử nghiệm cần thiết để tìm ra giải pháp tốt nhất.

Việc lập kế hoạch theo phương pháp thử nghiệm sẽ giúp nhóm của bạn gặt hái được thành công. Khi một phương pháp dẫn đến ngõ cụt, thay vì nản lòng, các thành viên trong nhóm hiểu rằng đó là một phần của quá trình tìm giải pháp học máy. Quan trọng hơn, bằng cách thảo luận về sự không chắc chắn vốn có trong quá trình phát triển công nghệ học máy với các bên liên quan, bạn có thể đặt ra những kỳ vọng thực tế hơn.

Kiểm tra mức độ hiểu biết

Lợi ích của việc lập kế hoạch phát triển công nghệ học máy bằng tư duy thử nghiệm là gì? Hãy chọn mọi câu trả lời phù hợp.
Để xác định và quản lý các rủi ro tiềm ẩn.
Để giảm thời gian và tài nguyên dành cho các phương pháp không thành công.
Thông báo cho các bên liên quan về sự không chắc chắn vốn có trong quá trình phát triển công nghệ học máy.
Để xác định phương pháp tốt nhất và giải quyết vấn đề trước.
Ban đầu, bạn sẽ không biết phương pháp nào là tốt nhất.

Lưu ý

Việc học cách lập kế hoạch nhiều phương pháp học máy theo xác suất sẽ mất nhiều thời gian và kinh nghiệm. Kế hoạch dự án của bạn có thể cần được cập nhật thường xuyên. Hãy coi đó là một tài liệu động không ngừng phát triển khi nhóm của bạn thử nghiệm nhiều phương pháp. Bằng cách tập trung vào các ý tưởng chính sau đây, bạn sẽ tăng cơ hội thành công:

  • Ước tính chi phí và cơ hội thành công cho từng phương pháp.
  • Thử một danh mục các phương pháp.
  • Xác định bài học rút ra và cố gắng cải thiện hệ thống từng chút một.
  • Lên kế hoạch cho các lỗi.

Đôi khi, một phương pháp tiếp cận sớm sẽ dẫn đến một bước đột phá. Người khác có thể phát hiện lỗi trong quy trình tạo dữ liệu hoặc phân tách quy trình xác thực-huấn luyện. Khi lập kế hoạch tốt và có tài liệu đầy đủ, bạn sẽ có nhiều khả năng tìm thấy một mô hình giải quyết vấn đề kinh doanh của mình sớm hơn dự kiến.