Thuật ngữ

Người lái tàu

Đơ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 hiệu quả trên nhiều môi trường.

Docker là một nền tảng mạnh mẽ từ Docker, Inc. giúp đơn giản hóa việc phát triển, vận chuyển và chạy các ứng dụng bằng cách sử dụng container. Container đóng gói một ứng dụng với tất cả các thành phần cần thiết, chẳng hạn như thư viện, công cụ hệ thống, mã và môi trường thời gian chạy. Gói này đảm bảo ứng dụng chạy nhất quán trên các môi trường điện toán khác nhau, giảm thiểu sự khác biệt giữa các thiết lập phát triển, thử nghiệm và sản xuất. Đối với các chuyên gia làm việc trong lĩnh vực Học máy (ML)Trí tuệ nhân tạo (AI) , Docker cung cấp một phương pháp hợp lý để quản lý các phụ thuộc phần mềm phức tạp và triển khai các mô hình một cách đáng tin cậy và hiệu quả. Nó đạt được sự cô lập và khả năng di động này thông qua công nghệ container hóa , nhẹ hơn so với các máy ảo truyền thống.

Các khái niệm cốt lõi của Docker

Để hiểu về Docker, bạn cần nắm được một số thành phần cơ bản sau:

  • Dockerfile : Một tệp văn bản chứa hướng dẫn để xây dựng hình ảnh Docker. Tệp này chỉ định hệ điều hành cơ sở, các phụ thuộc, mã và lệnh cần thiết để thiết lập môi trường ứng dụng.
  • Docker Image : Mẫu chỉ đọc được tạo từ Dockerfile. Nó bao gồm mã ứng dụng, thư viện, phụ thuộc, công cụ và các tệp khác cần thiết để chạy ứng dụng. Hình ảnh được sử dụng để tạo vùng chứa.
  • Docker Container : Một phiên bản có thể chạy của hình ảnh Docker. Container là môi trường biệt lập nơi các ứng dụng thực thi. Chúng chia sẻ nhân của hệ thống lưu trữ nhưng chạy trong các không gian người dùng riêng biệt, đảm bảo tính nhất quán và biệt lập.
  • Docker Hub : Dịch vụ đăng ký dựa trên đám mây do Docker cung cấp để tìm và chia sẻ hình ảnh container. Dịch vụ này lưu trữ hàng nghìn hình ảnh công khai, bao gồm hình ảnh chính thức cho các phần mềm phổ biến như Python , PyTorchTensorFlow .

Bạn có thể tìm hiểu thêm về các đối tượng và khái niệm Docker này trong tài liệu chính thức.

Sự liên quan trong AI và Học máy

Các dự án AI và ML thường liên quan đến các môi trường phức tạp với nhiều phụ thuộc ( như PyTorch hoặc OpenCV ) và các phiên bản thư viện cụ thể. Việc quản lý các phụ thuộc này và đảm bảo các môi trường nhất quán trong các giai đoạn khác nhau (phát triển, thử nghiệm, triển khai) có thể là một thách thức lớn. Docker giải quyết hiệu quả các vấn đề này:

  • Khả năng tái tạo : Docker đảm bảo rằng môi trường được xác định trong Dockerfile là giống hệt nhau ở bất cứ nơi nào container chạy, tạo điều kiện thuận lợi cho nghiên cứu có thể tái tạo và hành vi mô hình đáng tin cậy.
  • Quản lý sự phụ thuộc : Phân lập các sự phụ thuộc của dự án trong vùng chứa, ngăn ngừa xung đột giữa các dự án khác nhau hoặc với các thư viện của hệ thống lưu trữ.
  • Hợp tác đơn giản : Các nhóm có thể chia sẻ hình ảnh Docker, đảm bảo mọi người làm việc trong cùng một môi trường, bất kể thiết lập máy cục bộ của họ. Điều này phù hợp với các nguyên tắc MLOps .
  • Triển khai hiệu quả : Docker container đơn giản hóa việc triển khai mô hình bằng cách đóng gói mô hình, các phụ thuộc và mã phục vụ thành một đơn vị di động duy nhất. Điều này tạo điều kiện triển khai đến nhiều mục tiêu khác nhau, bao gồm nền tảng đám mâythiết bị biên .
  • Khả năng mở rộng : Container nhẹ và khởi động nhanh, lý tưởng để mở rộng ứng dụng AI theo nhu cầu, thường được quản lý bởi các công cụ điều phối. Điều này hỗ trợ nhu cầu mở rộng tính toán .

Ứng dụng thực tế trong AI/ML

Tiện ích của Docker được thể hiện rõ trong nhiều tình huống AI/ML khác nhau:

  1. Triển khai mô hình phát hiện đối tượng : Một nhóm phát triển mô hình phát hiện đối tượng bằng Ultralytics YOLO để theo dõi động vật hoang dã trong khu bảo tồn. Họ sử dụng Docker để đóng gói mô hình YOLO11 đã được đào tạo, các tập lệnh suy luận và các thư viện cần thiết ( như OpenCV ). Ứng dụng được chứa trong container này sau đó có thể được triển khai nhất quán trên nhiều thiết bị biên khác nhau được đặt tại hiện trường, đảm bảo hiệu suất đáng tin cậy bất chấp sự khác biệt về phần cứng. Ultralytics cung cấp hướng dẫn Khởi động nhanh Docker để tạo điều kiện thuận lợi cho quá trình này.
  2. Phân tích hình ảnh y tế có thể mở rộng : Một công ty khởi nghiệp về chăm sóc sức khỏe xây dựng một công cụ AI để phân tích hình ảnh y tế , có thể là để phát hiện khối u . Mô hình học sâu và API của nó được đóng gói vào một container Docker. Điều này cho phép ứng dụng được triển khai như một phần của kiến trúc microservices , trong đó nhiều phiên bản container có thể tự động tăng hoặc giảm quy mô dựa trên số lượng yêu cầu phân tích, đảm bảo sử dụng tài nguyên hiệu quả và khả năng phản hồi.

So sánh với các thuật ngữ tương tự

Mặc dù Docker đóng vai trò trung tâm trong công nghệ container hóa, nhưng nó thường được sử dụng cùng với các công nghệ khác:

  • Container hóa : Đây là khái niệm chung về đóng gói phần mềm vào container. Docker là nền tảng phổ biến nhất cho container hóa, cung cấp các công cụ để xây dựng, vận chuyển và chạy container.
  • Kubernetes : Trong khi Docker quản lý các container riêng lẻ trên một máy chủ duy nhất, Kubernetes là một nền tảng điều phối container. Nó tự động triển khai, mở rộng quy mô và quản lý các ứng dụng được chứa trong container trên các cụm máy. Hãy nghĩ về Docker như việc tạo ra các container vận chuyển và Kubernetes như hệ thống quản lý các tàu và cảng. Bạn có thể tìm hiểu thêm trên trang web chính thức của Kubernetes .
  • Máy ảo (VM) : VM cung cấp khả năng cô lập bằng cách mô phỏng toàn bộ hệ thống phần cứng, bao gồm cả hệ điều hành khách. Container, được Docker quản lý, ảo hóa hệ điều hành, chia sẻ hạt nhân máy chủ. Điều này làm cho container nhẹ hơn, nhanh hơn và tiết kiệm tài nguyên hơn nhiều so với VM, mặc dù VM cung cấp khả năng cô lập mạnh hơn.

Bằng cách tận dụng Docker, các chuyên gia AI và Computer Vision (CV) có thể cải thiện đáng kể hiệu quả quy trình làm việc, sự cộng tác và độ tin cậy của các mô hình được triển khai. Để có cái nhìn tổng quan về mục đích của Docker, các tài nguyên như giải thích Docker của OpenSource.com cung cấp các phần giới thiệu dễ hiểu. Các công cụ như Ultralytics HUB thường tích hợp với các công nghệ container để hợp lý hóa vòng đời ML từ đầu đến cuối, từ đào tạo đến triển khai .

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, cộng tác và phát triển với những nhà đổi mới toàn cầu

Tham gia ngay
Liên kết đã được sao chép vào clipboard