Những điểm chính
Các phiên bản theo yêu cầu (on-demand instances) cung cấp dung lượng ổn định cho các khối lượng công việc không được phép gián đoạn. Các phiên bản Spot (Spot instances) sử dụng dung lượng dự phòng được giảm giá, nhưng nhà cung cấp có thể thu hồi dung lượng đó.
Spot thường có giá mỗi giờ thấp hơn, nhưng chi phí thực tế phụ thuộc vào việc checkpointing (lưu trạng thái), tự động khởi động lại, lưu trữ liên tục, độ trễ hàng đợi và các thời hạn bị bỏ lỡ.
Sử dụng Spot cho các tác vụ huấn luyện có checkpoint, quét siêu tham số (hyperparameter sweeps), suy luận theo lô không trạng thái (stateless batch inference) và các công việc theo lô có thể thử lại. Sử dụng theo yêu cầu cho suy luận sản xuất, bản trình diễn, sổ ghi chép đang hoạt động và tinh chỉnh có thời hạn.
Thiết lập kết hợp thường là hiệu quả nhất.
Những điểm chính
Các phiên bản theo yêu cầu (on-demand instances) cung cấp dung lượng ổn định cho các khối lượng công việc không nên bị gián đoạn. Các phiên bản Spot (Spot instances) sử dụng dung lượng dự phòng được giảm giá, nhưng nhà cung cấp có thể thu hồi dung lượng đó.
Spot thường có giá mỗi giờ thấp hơn, nhưng chi phí thực tế phụ thuộc vào việc kiểm tra điểm dừng (checkpointing), tự động khởi động lại, lưu trữ liên tục, độ trễ hàng đợi và các thời hạn bị bỏ lỡ.
Sử dụng Spot cho việc đào tạo có kiểm tra điểm dừng, quét siêu tham số (hyperparameter sweeps), suy luận theo lô không trạng thái (stateless batch inference) và các công việc theo lô có thể thử lại. Sử dụng theo yêu cầu cho suy luận sản xuất, trình diễn, sổ ghi chép hoạt động và tinh chỉnh có thời hạn.
Một thiết lập kết hợp thường là giải pháp thực tế nhất: duy trì một nền tảng ổn định theo yêu cầu, sau đó thêm Spot cho các công việc linh hoạt, có thể thử lại.
Nếu rủi ro gián đoạn là yếu tố cản trở, hãy so sánh các tùy chọn GPU theo yêu cầu có chi phí thấp hơn trước khi cho rằng Spot là cách duy nhất để giảm chi tiêu.
Giới thiệu
Việc lựa chọn giữa các phiên bản theo yêu cầu và Spot có vẻ là một quyết định về giá cả, nhưng nó nhanh chóng trở thành một quyết định về độ tin cậy. Mức giá mỗi giờ thấp hơn vẫn có thể tốn kém hơn trong thực tế nếu nó làm gián đoạn một quá trình đào tạo dài, làm hỏng một bản trình diễn hoặc khiến một kỹ sư phải dọn dẹp thủ công.
Đối với các khối lượng công việc GPU, rủi ro cao hơn so với một công việc theo lô CPU thông thường. Vài giờ bị mất trên A100, H100 hoặc RTX 4090 có thể xóa bỏ khoản giảm giá nếu công việc không thể tiếp tục một cách suôn sẻ. Câu hỏi đúng không chỉ đơn giản là "cái nào có giá mỗi giờ thấp hơn?" Mà là "khối lượng công việc này có thể tồn tại sau gián đoạn mà không mất nhiều hơn những gì Spot tiết kiệm được không?"
Thử nghiệm thực tế rất đơn giản: so sánh giá Spot, chi phí gián đoạn, sự phù hợp của khối lượng công việc và các trường hợp mà theo yêu cầu chi phí thấp là con đường trung gian tốt hơn.
Theo yêu cầu so với Spot trong một câu
Các phiên bản theo yêu cầu là dung lượng tính toán ổn định mà bạn thuê khi cần truy cập có thể dự đoán được; các phiên bản Spot là dung lượng dự phòng được giảm giá có thể bị gián đoạn khi nhà cung cấp cần thu hồi.
Sự khác biệt đó thúc đẩy toàn bộ quyết định. Theo yêu cầu là về kiểm soát: bạn khởi động phiên bản, giữ cho nó chạy và trả mức giá niêm yết cho đến khi bạn dừng nó. Spot là về giá cả: bạn nhận được giảm giá vì nhà cung cấp có thể thu hồi dung lượng.
Đối với các nhóm AI, quy tắc nhanh rất đơn giản: chỉ sử dụng Spot khi công việc có thể kiểm tra điểm dừng, khởi động lại hoặc thử lại mà không gây thiệt hại cho doanh nghiệp. Nếu khối lượng công việc đang phục vụ người dùng, hỗ trợ một bản trình diễn trực tiếp, tổ chức một phiên sổ ghi chép tương tác hoặc chạy theo một thời hạn chặt chẽ, dung lượng ổn định thường quan trọng hơn mức giá danh nghĩa thấp nhất.
Spot không phải là một lựa chọn tồi. Đó là một lựa chọn chuyên biệt. Khi khối lượng công việc được thiết kế để chịu gián đoạn, Spot có thể giảm chi phí tính toán thực tế. Khi quy trình làm việc không được chuẩn bị, khoản giảm giá có thể biến thành tiến độ bị mất, nhiễu hoạt động và các cửa sổ giao hàng bị bỏ lỡ.
Cách thức hoạt động thực tế của giá Spot
Các nhà cung cấp dịch vụ đám mây sử dụng giá Spot để bán dung lượng dự phòng mà nếu không sẽ không được sử dụng. Vì dung lượng đó không được đảm bảo, nhà cung cấp có thể cung cấp nó dưới giá theo yêu cầu thông thường và thu hồi nó khi nhu cầu thay đổi.
Khoản giảm giá có thể rất lớn. AWS cho biết các phiên bản EC2 Spot có thể được giảm giá tới 90% so với giá theo yêu cầu. Google Cloud cho biết các máy ảo Spot có thể cung cấp mức giảm giá tới 91% cho nhiều loại máy, GPU, TPU và SSD cục bộ so với các máy ảo tiêu chuẩn theo yêu cầu.
Các nhà cung cấp chuyên biệt về GPU cũng cho thấy sự đánh đổi tương tự với các quy tắc riêng của họ. Trang giá GPU của Hyperstack liệt kê Spot VM H100 với giá 1,52 USD và A100 với giá 1,08 USD. Trang GPU Spot của Novita liệt kê RTX 4090 Spot từ 0,18 USD/giờ, giảm giá tới 50%, với bảo vệ 1 giờ và thông báo chấm dứt trước 1 giờ.
Những ví dụ trên hữu ích nhưng không phải là khẳng định vĩnh viễn. Giá giao ngay, khả năng cung cấp GPU, khu vực và các điều khoản gián đoạn có thể thay đổi. Hãy coi mỗi mức giá là có nguồn gốc và giới hạn thời gian, sau đó kiểm tra lại trang của nhà cung cấp hiện tại trước khi cam kết ngân sách.
Ý tưởng bền vững là cơ chế định giá: giá giao ngay rẻ hơn vì ít được đảm bảo hơn. Nếu khối lượng công việc của bạn có thể coi việc thu hồi dung lượng là một sự kiện bình thường, thì mức chiết khấu có thể đáng giá. Nếu không, mức giá theo giờ thấp hơn chỉ là một phần của chi phí.
Chi phí thực sự của việc gián đoạn
Gián đoạn giao ngay có thể quản lý được khi hệ thống được xây dựng cho mục đích đó. Nó trở nên đắt đỏ khi công việc giả định máy sẽ hoạt động liên tục.
AWS EC2 Spot cung cấp cảnh báo hai phút trước khi dừng hoặc chấm dứt một Spot Instance, và AWS lưu ý rằng các thông báo gián đoạn được phát ra trên cơ sở nỗ lực tốt nhất.
Google Cloud cho biết Compute Engine có thể ưu tiên các Spot VM bất cứ lúc nào; thời gian tắt máy mặc định là nỗ lực tốt nhất và tối đa 30 giây, trong khi thời gian thông báo ưu tiên 120 giây được liệt kê là Bản xem trước.
Trang Spot VM của Hyperstack cho biết Spot VM có giá thấp hơn nhưng không đảm bảo thời gian hoạt động và có thể bị chấm dứt bất cứ lúc nào mà không cần thông báo.
Những khoảng thời gian thông báo đó đủ cho các công việc được chuẩn bị kỹ lưỡng và không đủ cho những công việc dễ bị tổn thương. Một quá trình đào tạo với các điểm kiểm tra thường xuyên vào bộ nhớ bền vững có thể chỉ mất vài phút. Một sổ ghi chép với trạng thái chưa lưu có thể mất toàn bộ phiên làm việc. Một hàng đợi suy luận hàng loạt với các tác vụ bất biến có thể thử lại. Một điểm cuối sản xuất thời gian thực có thể biến một GPU giá rẻ thành một sự cố gây ảnh hưởng đến khách hàng.
Trước khi đề xuất giao ngay, hãy định giá đường dẫn gián đoạn:
Kiểm tra điểm: Công việc có thể lưu trạng thái mô hình, trạng thái bộ tối ưu hóa, nhật ký và đầu ra thường xuyên như thế nào?
Tự động khởi động lại: Bộ lập lịch có thể khởi chạy lại công việc mà không cần dọn dẹp thủ công không?
Bộ nhớ bền vững: Dữ liệu, trọng số, điểm kiểm tra và đầu ra có nằm ngoài phiên bản không?
Hành vi hàng đợi: Nếu dung lượng biến mất, công việc có chờ, thử lại hay thất bại một cách sạch sẽ không?
Giám sát: Ai hoặc cái gì nhận thấy các lần thử lại thất bại và các công việc bị kẹt?
Rủi ro thời hạn: Việc bỏ lỡ cửa sổ hoàn thành có tốn kém hơn mức chiết khấu tiết kiệm được không?
Đối với khối lượng công việc đào tạo, tín hiệu mạnh nhất là chất lượng điểm kiểm tra. Một điểm kiểm tra hữu ích không chỉ là một tệp mô hình đã lưu; nó phải bao gồm đủ trạng thái để tiếp tục mà không lặp lại một phân đoạn công việc dài. Đối với suy luận hàng loạt, điều tương tự là tính bất biến: trình chạy công việc phải biết đầu vào nào đã hoàn thành, đầu vào nào đã thất bại và đầu vào nào có thể được thử lại mà không tạo ra các đầu ra trùng lặp. Nếu không có các cơ chế đó, giao ngay sẽ trở thành một quy trình phục hồi thủ công.
Nguồn tin: Dev.to Machine Learning — Tác giả: RunC.AI Offical. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.