용어집

Docker

Docker로 AI/ML 워크플로우를 간소화하세요! 컨테이너화의 이점, 모델 배포 팁, 재현 가능한 실험에 대해 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

Docker는 컨테이너를 사용하여 애플리케이션의 생성, 배포 및 관리를 간소화하도록 설계된 오픈 소스 플랫폼입니다. 컨테이너는 소프트웨어와 그 종속성을 패키징하여 개발, 테스트 및 프로덕션 환경 전반에서 일관성을 보장하는 가볍고 휴대 가능한 단위입니다. Docker는 워크플로를 간소화하고 재현성을 개선하기 위해 머신러닝(ML) 및 인공 지능(AI) 프로젝트에서 널리 사용됩니다.

Docker의 주요 기능

  • 컨테이너화: Docker를 사용하면 애플리케이션을 격리된 컨테이너에서 실행할 수 있으므로 기본 인프라에 관계없이 일관성을 보장할 수 있습니다. 컨테이너화와 ML에서의 역할에 대해 자세히 알아보세요.
  • 이동성: 컨테이너는 호환성 문제 없이 개발자의 노트북에서 클라우드 서버에 이르기까지 다양한 환경 간에 쉽게 이동할 수 있습니다.
  • 리소스 효율성: 가상 머신과 달리 Docker 컨테이너는 호스트 시스템의 운영 체제 커널을 공유하므로 더 가볍고 효율적입니다.
  • 확장성: Docker는 애플리케이션의 빠른 확장을 지원하며, 특히 머신 러닝 모델을 학습하고 배포하는 데 유용합니다.

AI와 ML의 관련성

AI와 ML에서 Docker는 모델 개발, 테스트 및 배포를 위한 신뢰할 수 있는 환경을 보장하는 데 중추적인 역할을 합니다. 컨테이너 내에 코드, 종속성 및 구성을 패키징함으로써 Docker는 "내 컴퓨터에서 작동한다"는 일반적인 문제를 해결합니다. 이는 팀 간에 협업하거나 서로 다른 플랫폼에 모델을 배포할 때 특히 중요합니다.

AI/ML의 예

  1. 모델 배포: Docker는 종종 머신 러닝 모델을 API로 배포하는 데 사용됩니다. 예를 들어, 학습된 Ultralytics YOLO 모델을 컨테이너화하여 실시간 객체 탐지 애플리케이션에 배포할 수 있습니다. Docker를 사용한 모델 배포 옵션을 살펴보세요.
  2. 재현 가능한 실험: 연구자는 실험을 일관되게 재현하는 데 필요한 모든 라이브러리, 프레임워크(예: PyTorch) 및 구성이 포함된 Docker 이미지를 공유할 수 있습니다. 자세한 단계는 Ultralytics YOLO Docker 빠른 시작 가이드에서 자세히 알아보세요.

Docker 작동 방식

Docker는 다음과 같이 구성된 클라이언트-서버 아키텍처를 사용합니다:

  • Docker 클라이언트: Docker와 상호 작용하는 데 사용되는 명령줄 인터페이스(CLI)입니다.
  • 도커 데몬: 컨테이너를 관리하는 백그라운드에서 실행되는 서비스입니다.
  • Docker 이미지: 컨테이너를 만드는 데 사용되는 사전 구성된 템플릿입니다. 이러한 이미지는 라이브러리, 도구 및 코드를 포함한 소프트웨어 환경을 정의합니다.
  • Docker Hub: Docker 이미지 공유 및 저장을 위한 클라우드 기반 리포지토리입니다.

실제 데모를 보려면 Ultralytics YOLO 모델에 대한 환경 설정을 설명하는 Ultralytics 도커 가이드에서 확인하세요.

실제 애플리케이션

1. AI 기반 헬스케어

Docker는 의료 영상에서 종양 탐지와 같은 작업을 위해 병원에 AI 모델을 배포하는 데 도움을 줍니다. 예를 들어, 컨테이너화된 Ultralytics YOLO 모델은 MRI 또는 CT 스캔에서 이상 징후를 식별하는 데 도움을 줄 수 있습니다. 의료 분야의 AI에 대해 자세히 알아보세요.

2. 스마트 농업

정밀 농업에서 Docker는 작물 모니터링이나 해충 탐지를 위한 AI 모델을 원활하게 배포할 수 있도록 지원합니다. 농부들은 컨테이너화된 애플리케이션을 사용하여 외딴 지역에서도 예측 분석을 실행할 수 있습니다. AI가 어떻게 농업 혁신을 지원하는지 알아보세요.

도커와 관련 기술 비교

Docker는 컨테이너화에 중점을 두는 반면, Kubernetes와 같은 다른 도구는 컨테이너 오케스트레이션을 관리합니다. 대규모 배포를 처리하고 여러 컨테이너에 워크로드를 분산하는 데 탁월한 Kubernetes는 Docker를 보완하는 역할을 합니다. Kubernetes와 그 애플리케이션에 대해 자세히 알아보세요.

머신 러닝 팀을 위한 혜택

  1. 간소화된 협업: 팀은 Docker 이미지를 공유하여 개발자, 연구원 및 프로덕션 엔지니어 간에 일관된 환경을 보장할 수 있습니다.
  2. CI/CD 파이프라인과의 통합: Docker는 지속적 통합/지속 배포(CI/CD) 도구와 원활하게 통합되어 머신 러닝 모델의 배포를 자동화합니다. 지속적 통합과 AI 워크플로우에서의 역할에 대해 알아보세요.
  3. 다양한 프레임워크 지원: Docker는 TensorFlow 및 PyTorch 과 같은 인기 있는 ML 프레임워크를 지원하므로 작업에 적합한 도구를 유연하게 선택할 수 있습니다.

AI/ML용 Docker 시작하기

AI/ML 프로젝트에서 Docker 사용을 시작하려면 Ultralytics Docker 빠른 시작 가이드를 참조하세요. 이 가이드는 최적화된 성능을 위해 설치, 컨테이너 생성 및 GPU 지원과 함께 Docker를 실행하는 방법을 다룹니다.

Docker가 Ultralytics 허브와 같은 Ultralytics 도구와 통합되는 방법에 대한 자세한 내용은 Ultralytics 허브 설명서를 참조하세요. 이 플랫폼은 데이터 세트 관리, 모델 학습, 대규모 AI 솔루션 배포를 간소화합니다.

AI 및 ML 실무자는 Docker를 활용하여 설정 복잡성을 줄이고, 협업을 강화하며, 다양한 환경에서 자신 있게 모델을 배포할 수 있습니다.

모두 보기