Local hay Cloud: Khối lượng công việc phải xứng đáng với nó

Machine learning thường rất lộn xộn.

Bạn chạy một tác vụ trên máy của mình và nó thất bại. Bạn kiểm tra mã nguồn. Bạn kiểm tra dữ liệu. Bạn dành hàng giờ để gỡ lỗi một lỗi đơn giản trong quá trình tiền xử lý.

Đây là phần không mấy hào nhoáng của công việc. Đó là giai đoạn mà bạn thậm chí còn không biết liệu ý tưởng của mình có hoạt động hay không.

Nhiều người tranh luận về phần cứng cục bộ (local) so với tính toán đám mây (cloud compute). Họ nhìn vào các bảng tính và so sánh chi phí. Họ so sánh giá của một máy trạm (workstation) với giá thuê GPU theo giờ trên đám mây.

Đây là cách nhìn nhận sai lầm.

Cuộc tranh luận thực sự nằm ở sự không chắc chắn.

Giai đoạn đầu của công việc ML đầy rẫy những sự không chắc chắn. Bạn phải đối mặt với:

  • Các phụ thuộc (dependencies) bị lỗi
  • Sai hình dạng tensor (tensor shapes)
  • Nhu cầu định hình lại dữ liệu (data reshaping)
  • Lỗi môi trường

Nếu bạn sử dụng đám mây trong giai đoạn này, bạn đang trả tiền cho sự bối rối của chính mình. Mỗi sai lầm đều tốn tiền. Mỗi giờ bạn dành để gỡ lỗi một thông báo lỗi là một giờ bạn phải trả phí. Đám mây giống như một động cơ tăng tốc cho sự bối rối đó.

Phần cứng cục bộ phục vụ một mục đích khác. Đó là nơi mà sự không chắc chắn có chi phí thấp. Một máy trạm cho phép bạn thử nghiệm các mô hình nhỏ và xác thực các giả định mà không có đồng hồ tính tiền đang chạy. Nó cho phép bạn thất bại một cách riêng tư và miễn phí.

Đám mây trở nên hữu ích khi khối lượng công việc đã chín muồi.

Hãy sử dụng đám mây khi:

  • Container của bạn đã ổn định
  • Tập dữ liệu của bạn đã sẵn sàng
  • Mức độ sử dụng bộ nhớ (memory profile) có thể dự đoán được
  • Bạn cần quy mô cực lớn

Tính toán đám mây là để thực thi. Tính toán cục bộ là để khám phá.

Sự chuyên nghiệp không nằm ở việc sử dụng chiếc máy lớn nhất. Nó nằm ở việc biết khi nào công việc của bạn đã sẵn sàng để rời khỏi bàn làm việc.

Nếu bạn vẫn đang trong quá trình khám phá công việc đó là gì, hãy ở lại với máy cục bộ. Một khi bạn đã biết rõ công việc và cần hoàn thành nó nhanh hơn, hãy chuyển sang đám mây.

Đừng sử dụng đám mây để bao bọc một thử nghiệm mơ hồ trong một cơ sở hạ tầng đắt đỏ. Hãy đợi cho đến khi công việc đó xứng đáng với vị trí của nó.

Nguồn: https://dev.to/lareleem/local-or-not-the-workload-has-to-earn-the-cloud-2boe

Cộng đồng học tập tùy chọn: https://t.me/GyaanSetuAi