Đơn giản hóa quy trình làm việc AI/ML với Docker! Tìm hiểu cách triển khai mô hình, đảm bảo khả năng tái tạo và mở rộng quy mô hiệu quả trên các môi trường.
Docker là một nền tảng mã nguồn mở tự động hóa việc triển khai, mở rộng quy mô và quản lý ứng dụng thông qua công nghệ container . Trong lĩnh vực trí tuệ nhân tạo (AI) đang phát triển nhanh chóng, Docker giải quyết một thách thức quan trọng được gọi là vấn đề "hoạt động trên máy của tôi". Bằng cách đóng gói một mô hình Học máy (ML) cùng với mã, thời gian chạy, công cụ hệ thống và thư viện của nó vào một đơn vị chuẩn hóa gọi là container, Docker đảm bảo phần mềm sẽ chạy hoàn toàn giống nhau bất kể môi trường điện toán. Tính nhất quán này rất quan trọng đối với các quy trình MLOps hiện đại, tạo điều kiện thuận lợi cho việc chuyển đổi mượt mà từ phát triển cục bộ sang cơ sở hạ tầng điện toán đám mây hoặc thiết bị biên.
Để hiểu về Docker, bạn cần phải quen thuộc với ba thành phần cơ bản xác định quy trình làm việc của nó.
Docker là công cụ không thể thiếu để triển khai các giải pháp thị giác máy tính (CV) mạnh mẽ.
Việc chạy suy luận trong vùng chứa Docker giúp đảm bảo môi trường của bạn luôn sạch sẽ và các phần phụ thuộc không xung đột với các gói cấp hệ thống khác. Dưới đây là một ví dụ đơn giản Python tập lệnh thường chạy bên trong vùng chứa Docker để thực hiện nhiệm vụ phân đoạn hoặc phát hiện hình ảnh .
from ultralytics import YOLO
# Load the YOLO11 model (downloads automatically if not present)
model = YOLO("yolo11n.pt")
# Perform object detection on an online image source
results = model("https://ultralytics.com/images/bus.jpg")
# Print the number of objects detected to verify inference
print(f"Detected {len(results[0].boxes)} objects in the image.")
Mặc dù cả hai công nghệ đều cô lập các ứng dụng nhưng chúng hoạt động khác nhau.
Docker và Kubernetes là những công cụ riêng biệt nhưng bổ sung cho nhau. Docker được sử dụng để tạo và chạy các container riêng lẻ. Tuy nhiên, khi quản lý hàng trăm container trên một cụm máy chủ để phục vụ mô hình , cần có một công cụ điều phối. Kubernetes điều phối việc lập lịch và thực thi các container Docker, đảm bảo tính khả dụng cao và khả năng mở rộng cho các tác nhân AI cấp doanh nghiệp. Bạn có thể tìm hiểu thêm về sự kết hợp này trong tài liệu Kubernetes .
Những phát triển trong tương lai Ultralytics hệ sinh thái, chẳng hạn như sắp tới Ultralytics Nền tảng này sẽ tận dụng các nguyên tắc chứa dữ liệu này để hợp lý hóa quy trình tìm nguồn dữ liệu, đào tạo và triển khai, đồng thời đơn giản hóa hơn nữa sự phức tạp của việc quản lý cơ sở hạ tầng.