Khám phá cách Docker cho phép triển khai AI có thể tái tạo. Tìm hiểu cách đóng gói. Ultralytics YOLO26 được đóng gói trong container để mở rộng quy mô liền mạch từ đám mây đến các thiết bị biên.
Docker là một nền tảng mã nguồn mở cho phép các nhà phát triển tự động hóa việc triển khai, mở rộng quy mô và quản lý ứng dụng bằng cách sử dụng công nghệ container hóa. Trong bối cảnh trí tuệ nhân tạo và máy học, Docker hoạt động như một đơn vị phần mềm tiêu chuẩn hóa, đóng gói mã và tất cả các thành phần phụ thuộc của nó—chẳng hạn như thư viện, công cụ hệ thống và cài đặt—để ứng dụng chạy nhanh chóng và đáng tin cậy từ môi trường điện toán này sang môi trường điện toán khác. Điều này loại bỏ vấn đề thường gặp "nó hoạt động trên máy của tôi", đảm bảo rằng một mạng nơ-ron được huấn luyện trên máy tính xách tay của nhà nghiên cứu hoạt động chính xác theo cùng một cách khi được triển khai trên máy chủ đám mây khổng lồ hoặc thiết bị biên.
Các hoạt động học máy hiện đại (MLOps) phụ thuộc rất nhiều vào khả năng tái tạo và tính di động. Một dự án AI thường liên quan đến một hệ thống phần mềm phức tạp, bao gồm các phiên bản cụ thể của... Python , CUDA Các trình điều khiển cho khả năng tăng tốc GPU và các khung học sâu như PyTorch hoặc TensorFlow . Việc quản lý thủ công những thứ này giữa các nhóm và cơ sở hạ tầng khác nhau rất dễ xảy ra lỗi.
Docker đơn giản hóa điều này bằng cách tạo ra các container nhẹ, độc lập. Không giống như các máy ảo (VM) truyền thống yêu cầu một hệ điều hành đầy đủ cho mỗi phiên bản, container chia sẻ nhân hệ điều hành của máy chủ nhưng chạy trong không gian người dùng biệt lập. Điều này làm cho chúng tiết kiệm tài nguyên hơn đáng kể và khởi động nhanh hơn, điều này rất quan trọng khi mở rộng quy mô cơ sở hạ tầng phục vụ mô hình hoặc chạy các tác vụ huấn luyện phân tán.
Docker hiện diện khắp mọi nơi trong vòng đời của trí tuệ nhân tạo, từ giai đoạn thử nghiệm ban đầu đến triển khai cuối cùng.
Việc phân biệt Docker với các công nghệ liên quan sẽ giúp hiểu rõ vai trò cụ thể của nó:
Ví dụ sau đây minh họa cách thức một Python Tập lệnh này có thể tìm kiếm bên trong một container Docker được thiết kế cho thị giác máy tính. Tập lệnh này sử dụng... ultralytics gói này dùng để tải mô hình và thực hiện suy luận. Môi trường container đảm bảo các phụ thuộc chính xác (như...) opencv-python và torch) đã có sẵn.
from ultralytics import YOLO
# Load the YOLO26 model (weights are typically included in the Docker image)
model = YOLO("yolo26n.pt")
# Perform inference on an image source
# In a containerized microservice, this might process incoming API requests
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Log the detection results
print(f"Detected {len(results[0].boxes)} objects in the image.")
Để bắt đầu sử dụng container, các nhà phát triển thường định nghĩa một... Dockerfile, là một tài liệu văn bản chứa tất cả các lệnh để lắp ráp một hình ảnh. Sau khi được tạo xong, những hình ảnh này có thể được lưu trữ trong các registry như
Docker Hub hoặc
NVIDIA Danh mục NGC, cung cấp GPU - Các container được tối ưu hóa.
Đối với những ai muốn đơn giản hóa quy trình đào tạo và triển khai mà không cần tự quản lý các Dockerfile, Nền tảng Ultralytics cung cấp các công cụ tích hợp giúp xử lý sự phức tạp của môi trường đám mây. Điều này cho phép người dùng tập trung vào việc cải thiện độ chính xác của mô hình thay vì cấu hình cơ sở hạ tầng. Hơn nữa, bạn có thể tham khảo Hướng dẫn nhanh về Docker của chúng tôi để tìm hiểu cách chạy. Ultralytics Các mô hình được đặt trong container ngay lập tức.