Tổng quan
Kubernetes là một hệ thống nguồn mở tự động lên lịch, thay đổi quy mô và khởi động lại các chương trình được chứa trong một cụm máy. Đối với học máy, nó cho phép các nhóm kết hợp các công việc đào tạo ngốn GPU và các máy chủ mô hình nhạy cảm với độ trễ vào phần cứng dùng chung mà không cần trông coi các máy chủ riêng lẻ.
Kubernetes cho Khối lượng công việc ML là một khối xây dựng kỹ thuật ảnh hưởng đến chất lượng mô hình, chi phí cơ sở hạ tầng, độ trễ và độ tin cậy trên quy mô lớn.
Lặn sâu
Ban đầu được xây dựng tại Google để chạy các dịch vụ web, Kubernetes coi cụm của bạn như một nhóm CPU, bộ nhớ và GPU lớn, sau đó quyết định máy nào chạy từng vùng chứa. Các nhóm ML dựa vào nó vì khối lượng công việc rất lớn và tốn kém: một quá trình đào tạo có thể cần tám GPU trong sáu giờ, sau đó không cần gì cả. Kubernetes lên lịch cho một nút có GPU miễn phí và khi công việc hoàn thành, nó sẽ giải phóng phần cứng. Nó cũng giữ cho các máy chủ suy luận hoạt động, khởi động lại các thùng chứa bị lỗi và phân bổ các bản sao trên các máy để có khả năng phục hồi. Các công cụ được xây dựng trên nền tảng, như Kubeflow, Ray và KServe, bổ sung các phần dành riêng cho ML như toán tử đào tạo phân tán, điều chỉnh siêu tham số và điểm cuối của mô hình tự động điều chỉnh quy mô, để các nhà khoa học dữ liệu làm việc với các bản tóm tắt cấp cao hơn thay vì YAML thô.
Hiểu biết kỹ thuật
Kubernetes chỉ định GPU thông qua các plugin thiết bị quảng cáo các tài nguyên như nvidia.com/gpu, mà bộ lập lịch khớp với các yêu cầu của nhóm. Các vết bẩn và dung sai khiến các công việc CPU rẻ tiền không bị ảnh hưởng bởi các nút GPU đắt tiền, trong khi các bộ chọn nút và quy tắc quan hệ ghim việc đào tạo vào phần cứng cụ thể. Để đào tạo nhiều GPU, người vận hành tạo một nhóm các nhóm khám phá lẫn nhau và chạy các khung như PyTorch DDP hoặc Horovod, trao đổi độ dốc qua mạng cụm bằng NCCL.
Làm chủ Kubernetes cho khối lượng công việc ML
Kubernetes là một hệ thống nguồn mở tự động lên lịch, thay đổi quy mô và khởi động lại các chương trình được chứa trong một cụm máy. Đối với học máy, nó cho phép các nhóm kết hợp các công việc đào tạo ngốn GPU và các máy chủ mô hình nhạy cảm với độ trễ vào phần cứng dùng chung mà không cần trông coi các máy chủ riêng lẻ. Kubernetes cho Khối lượng công việc ML là một khối xây dựng kỹ thuật ảnh hưởng đến chất lượng mô hình, chi phí cơ sở hạ tầng, độ trễ và độ tin cậy trên quy mô lớn. Để xây dựng sự hiểu biết sâu sắc, hãy coi Kubernetes cho Khối lượng công việc ML như một mô hình vận hành chứ không phải một tính năng duy nhất: xác định kết quả mong muốn, làm rõ các giả định và tách biệt những gì hệ thống có thể thực hiện một cách đáng tin cậy với những gì vẫn cần đến sự đánh giá của chuyên gia.
Trong thực tế, các nhóm mạnh sử dụng Kubernetes cho Khối lượng công việc ML sẽ tối ưu hóa các lựa chọn kiến trúc, dữ liệu và cơ sở hạ tầng theo độ tin cậy và chi phí. Họ ghi lại các tiêu chí thành công rõ ràng, kiểm tra dựa trên dữ liệu và quy trình làm việc thực tế, đồng thời lặp lại dựa trên các kiểu thất bại được quan sát thay vì chiến thắng điểm chuẩn một lần. Đây là nơi sự hiểu biết về mặt lý thuyết biến thành khả năng bền vững trên toàn bộ sản phẩm, chính sách và hoạt động.
Các quyết định về kiến trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm. Đồng thời, Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu lớn hơn của hệ thống. Cách tiếp cận linh hoạt nhất là kết hợp tốc độ thử nghiệm với kỷ luật quản trị: chạy thử nghiệm, thu thập bằng chứng, xuất bản nhật ký quyết định và liên tục cập nhật các biện pháp bảo vệ khi hành vi của mô hình, kỳ vọng của người dùng và các yêu cầu pháp lý phát triển.
Tác động chiến lược
Các quyết định về kiến trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.
Các quyết định về kiến trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.
Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.
Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.
Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.
Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.
Triển khai trong thế giới thực
Một phòng thí nghiệm nghiên cứu sử dụng Kubeflow Training Operator để khởi chạy công việc đào tạo phân tán PyTorch 32 GPU trên bốn nút, sau đó tự động giải phóng GPU khi nó hội tụ.
Một công ty thương mại điện tử đưa ra mô hình đề xuất của mình với KServe, mô hình này tự động tăng tỷ lệ các bản sao trong đợt giảm giá chớp nhoáng và rút lui qua đêm.
Một ngân hàng thực hiện các công việc chấm điểm hàng đêm dưới dạng Kubernetes CronJobs, sắp xếp chúng trên các nút CPU dự phòng để chúng không cạnh tranh với lưu lượng phân phát ban ngày.
Một công ty khởi nghiệp sử dụng Ray trên Kubernetes để chạy các lần quét siêu tham số song song, tạo ra hàng chục nhóm dùng thử trong thời gian ngắn trên các phiên bản tại chỗ để cắt giảm chi phí.
Các mẫu triển khai
Kubernetes cho khối lượng công việc ML trong thực tế
Một phòng thí nghiệm nghiên cứu sử dụng Kubeflow Training Operator để khởi chạy công việc đào tạo phân tán PyTorch 32 GPU trên bốn nút, sau đó tự động giải phóng GPU khi nó hội tụ.
Phòng thí nghiệm nghiên cứu sử dụng Kubeflow Training Operator để khởi chạy công việc đào tạo phân tán PyTorch 32 GPU trên bốn nút, sau đó tự động giải phóng GPU khi hội tụ. Các nhóm thường đạt được kết quả tốt hơn khi xác định trước ngưỡng chất lượng, duy trì lộ trình leo thang của con người cho các trường hợp biên và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.
Kubernetes cho khối lượng công việc ML trong thực tế
Một công ty thương mại điện tử đưa ra mô hình đề xuất của mình với KServe, mô hình này tự động tăng tỷ lệ các bản sao trong đợt giảm giá chớp nhoáng và rút lui qua đêm.
Một công ty thương mại điện tử cung cấp mô hình đề xuất của mình với KServe, mô hình này tự động tăng quy mô các bản sao trong đợt giảm giá chớp nhoáng và rút lui qua đêm. Các nhóm thường đạt được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.
Kubernetes cho khối lượng công việc ML trong thực tế
Một ngân hàng thực hiện các công việc chấm điểm hàng đêm dưới dạng Kubernetes CronJobs, sắp xếp chúng trên các nút CPU dự phòng để chúng không cạnh tranh với lưu lượng phân phát ban ngày.
Một ngân hàng thực hiện các công việc ghi điểm hàng loạt hàng đêm dưới dạng Kubernetes CronJobs, xếp hàng chúng trên các nút CPU dự phòng để chúng không cạnh tranh với lưu lượng phục vụ ban ngày. Các nhóm thường nhận được kết quả tốt hơn khi xác định trước ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.
Kubernetes cho khối lượng công việc ML trong thực tế
Một công ty khởi nghiệp sử dụng Ray trên Kubernetes để chạy các lần quét siêu tham số song song, tạo ra hàng chục nhóm dùng thử trong thời gian ngắn trên các phiên bản tại chỗ để cắt giảm chi phí.
Một công ty khởi nghiệp sử dụng Ray trên Kubernetes để chạy các lần quét siêu tham số song song, thực hiện hàng chục nhóm thử nghiệm ngắn hạn tại chỗ để cắt giảm chi phí. Các nhóm thường đạt được kết quả tốt hơn khi xác định trước ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp biên và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.
Rủi ro & lan can
Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.
Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.
Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.
Lộ trình thực hiện
Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.
Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
Điểm chuẩn trong điều kiện tải và dữ liệu thực tế. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.
Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.
Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.
Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.