Khám phá cách Kubernetes tự động hóa việc triển khai và mở rộng quy mô các mô hình AI. Tìm hiểu cách điều phối. Ultralytics YOLO26 trên K8s dành cho thị giác máy tính hiệu năng cao.
Kubernetes, thường được gọi là K8s, là một nền tảng mã nguồn mở được thiết kế để tự động hóa việc triển khai, mở rộng quy mô và quản lý các ứng dụng được đóng gói trong container. Ban đầu được phát triển bởi Google Hiện nay, Kubernetes được duy trì bởi Cloud Native Computing Foundation (CNCF) và đã trở thành tiêu chuẩn để điều phối phần mềm trên đám mây. Trong bối cảnh Trí tuệ Nhân tạo (AI) và Học máy (ML) , nó đóng vai trò là lớp cơ sở hạ tầng quan trọng cho phép các nhóm kỹ thuật quản lý các quy trình làm việc phức tạp, từ huấn luyện phân tán đến suy luận sản xuất có tính khả dụng cao. Bằng cách trừu tượng hóa phần cứng bên dưới, Kubernetes đảm bảo các ứng dụng chạy đáng tin cậy và hiệu quả, bất kể chúng được lưu trữ tại chỗ hay thông qua các nhà cung cấp dịch vụ đám mây công cộng.
Về bản chất, Kubernetes hoạt động trên kiến trúc cụm, bao gồm một tập hợp các máy chủ gọi là node. Các node này chạy các tác vụ container hóa , trong khi một mặt phẳng điều khiển quản lý trạng thái tổng thể của cụm. Đơn vị triển khai nhỏ nhất trong Kubernetes là "Pod", bao gồm một hoặc nhiều container chia sẻ tài nguyên lưu trữ và mạng. Sự trừu tượng này rất quan trọng đối với các ứng dụng thị giác máy tính , vì nó cho phép các nhà phát triển đóng gói các phụ thuộc—chẳng hạn như các thành phần cụ thể. CUDA Các thư viện dành cho Bộ xử lý đồ họa (GPU) — được tích hợp vào một môi trường nhất quán. Các dịch vụ đám mây lớn như Amazon Elastic Kubernetes Service (EKS) , Azure Kubernetes Service (AKS) và Google Kubernetes Engine (GKE) cung cấp các phiên bản được quản lý của kiến trúc này, giúp đơn giản hóa gánh nặng bảo trì cho các nhóm khoa học dữ liệu.
Giá trị cốt lõi của Kubernetes trong vận hành máy học (MLOps) nằm ở khả năng xử lý khối lượng công việc động. Các mô hình AI thường yêu cầu sức mạnh tính toán khổng lồ trong quá trình huấn luyện và độ trễ suy luận thấp trong quá trình triển khai.
Kubernetes là xương sống cho nhiều triển khai trí tuệ nhân tạo quy mô lớn trong nhiều ngành công nghiệp khác nhau:
Một điểm gây nhầm lẫn phổ biến là mối quan hệ giữa Kubernetes và Docker . Chúng không phải là đối thủ cạnh tranh mà là các công nghệ bổ sung cho nhau. Docker là công cụ để tạo và chạy các container riêng lẻ (đóng gói ứng dụng), trong khi Kubernetes là công cụ để quản lý một nhóm các container đó trên nhiều máy. Bạn sử dụng Docker để xây dựng trọng số mô hình và mã của mình thành một image, sau đó sử dụng Kubernetes để xác định nơi, khi nào và bao nhiêu bản sao của image đó chạy trong môi trường sản xuất.
Để triển khai một mô hình trên Kubernetes, các nhà phát triển thường bắt đầu với một bước cụ thể. Python Đoạn mã này đóng vai trò là điểm khởi đầu cho container. Đoạn mã sau đây minh họa một tác vụ suy luận đơn giản sử dụng mô hình Ultralytics YOLO26 . Đoạn mã này sẽ chạy bên trong một pod, xử lý các yêu cầu đến.
from ultralytics import YOLO
# Load the lightweight YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference on an image source
# In a K8s pod, this would likely process API payloads
results = model("https://ultralytics.com/images/bus.jpg")
# Output the detection count for logging
print(f"Detected {len(results[0].boxes)} objects in the frame.")
Hệ sinh thái Kubernetes bao gồm vô số công cụ được thiết kế riêng cho khoa học dữ liệu. Kubeflow là một bộ công cụ phổ biến giúp đơn giản hóa, dễ dàng di chuyển và mở rộng quy mô việc triển khai các quy trình làm việc học máy trên Kubernetes. Để giám sát tình trạng cụm và các chỉ số ứng dụng, các kỹ sư thường dựa vào Prometheus . Để đơn giản hóa hơn nữa sự phức tạp của việc huấn luyện và triển khai mô hình trong các môi trường này, Nền tảng Ultralytics cung cấp một giao diện thống nhất tự động hóa việc quản lý tập dữ liệu và huấn luyện mô hình, cho phép người dùng xuất các mô hình sẵn sàng cho các cụm điện toán đám mây . Ngoài ra, các trình quản lý gói như Helm giúp quản lý các ứng dụng Kubernetes phức tạp thông qua các biểu đồ có thể tái sử dụng.