Yolo 비전 선전
선전
지금 참여하기
용어집

컨테이너화

AI/ML 프로젝트를 위한 컨테이너화의 힘을 알아보세요. 최첨단 도구를 사용하여 워크플로를 간소화하고 일관성을 보장하며 효율적으로 확장하세요.

컨테이너화는 애플리케이션의 코드를 모든 인프라에서 실행하는 데 필요한 모든 파일과 라이브러리 모든 인프라에서 실행하는 데 필요한 모든 파일 및 라이브러리와 함께 애플리케이션 코드를 묶는 소프트웨어 배포 프로세스입니다. 소프트웨어와 그 종속성을 하나의 경량 단위로 캡슐화함으로써 단위로 캡슐화함으로써 개발자는 특정 컴퓨팅 환경에 관계없이 애플리케이션이 일관되게 실행되도록 보장합니다. 일관되게 실행할 수 있습니다. 빠르게 진화하는 다음과 같은 분야에서 머신 러닝(ML) 분야에서 컨테이너화는 최신 머신 러닝 전략의 초석이 되었습니다. MLOps 전략의 초석이 되었습니다. 컨테이너화는 실행을 분리하여 실행 환경을 분리하여 악명 높은 "내 머신에서만 작동한다"는 문제를 해결하고 복잡한 컴퓨터 비전(CV) 워크플로우를 이동 가능하고, 재현 가능하며 쉽게 확장할 수 있습니다.

AI에서 컨테이너화의 역할

데이터 과학자 및 ML 엔지니어의 경우, 특정 버전의 Python, PyTorch, 및 CUDA 드라이버는 까다로울 수 있습니다. 컨테이너화는 변경 불가능한 환경을 생성하여 이 문제를 해결합니다.

  • 휴대성: 컨테이너형 YOLO11 모델 은 개발자의 로컬 노트북에서 고성능 온프레미스 서버 또는 퍼블릭 클라우드 인스턴스로 원활하게 이동할 수 있습니다. 인스턴스로 재구성할 필요 없이 원활하게 이동할 수 있습니다. 이러한 유연성은 하이브리드 클라우드 컴퓨팅 전략에 필수적입니다.
  • 효율성: 전체 하드웨어 스택과 운영 체제를 에뮬레이트하는 기존 가상 머신(VM)과 달리 운영체제를 에뮬레이트하는 기존 가상 머신(VM)과 달리 컨테이너는 호스트 시스템의 OS 커널을 공유합니다. 따라서 훨씬 더 가볍고 더 빠르게 시작할 수 있으며, 리소스 사용을 최적화하여 모델 서빙.
  • 확장성: 컨테이너는 쉽게 복제할 수 있습니다. 애플리케이션에 대한 트래픽이 급증하면 오케스트레이션 도구는 즉시 추가 컨테이너 인스턴스를 스핀업하여 부하를 처리할 수 있으므로 추론 대기 시간이 추론 지연 시간.

핵심 기술 및 개념

컨테이너화를 이해하려면 컨테이너 구축 및 관리 방식을 표준화하는 몇 가지 핵심 기술을 숙지해야 합니다. 표준화하는 몇 가지 주요 기술에 익숙해져야 합니다.

  • Docker: 가장 널리 채택된 플랫폼으로 컨테이너에서 애플리케이션을 개발, 배포 및 실행하는 데 가장 널리 채택된 플랫폼입니다. Ultralytics 포괄적인 개체 감지 모델을 효율적으로 배포하는 데 도움이 되는 개체 탐지 모델을 효율적으로 배포할 수 있도록 도와주는 포괄적인 Docker 빠른 시작 가이드를 제공합니다. Docker는 다음에서 정한 업계 표준을 준수합니다. 산업 표준을 준수하여 다양한 플랫폼 간의 플랫폼.
  • 쿠버네티스: 도커는 개별 컨테이너를 관리하지만 개별 컨테이너를 관리하는 반면, Kubernetes는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오케스트레이션 시스템입니다. 배포 및 관리를 자동화하는 오케스트레이션 시스템입니다. 주로 다음과 같은 대규모 클러스터를 관리하는 데 사용됩니다. GPU 리소스의 대규모 클러스터를 대규모 GPU 리소스 클러스터를 관리하는 데 자주 사용됩니다.
  • 컨테이너 레지스트리: 컨테이너 이미지가 저장되고 공유되는 리포지토리입니다. 인기 있는 예로는 Docker Hub와 다음을 호스팅하는 NVIDIA NGC 카탈로그가 있습니다. GPU AI 소프트웨어.

컨테이너화 대 가상 머신

컨테이너와 다음을 구분하는 것이 중요합니다. 가상 머신. 가상 머신은 하이퍼바이저를 통해 호스트 리소스에 가상으로 액세스할 수 있는 게스트 운영 체제를 실행하며 하이퍼바이저를 통해 호스트 리소스에 가상으로 액세스합니다. 이는 높은 수준의 격리되지만 상당한 오버헤드가 발생합니다. 이와 반대로 컨테이너는 운영 체제를 가상화하여 여러 개의 격리된 사용자 공간 인스턴스를 단일 커널에서 실행할 수 있습니다. 이러한 차이점 때문에 컨테이너는 마이크로서비스와 에지 서비스에서 선호되는 리소스가 제한된 마이크로서비스 및 에지 AI 애플리케이션을 위한 리소스가 제한되어 있습니다.

실제 애플리케이션

컨테이너화는 연구부터 생산에 이르기까지 AI 라이프사이클의 다양한 단계에 적용됩니다.

1. 재현 가능한 연구 환경

학술 및 산업 연구에서는 결과를 재현하는 것이 매우 중요합니다. 컨테이너 이미지에 정확한 환경을 정의함으로써 이미지에 정확한 환경을 정의함으로써 연구자들은 모델 트레이닝 실험을 누구든지 어디서나. 이렇게 하면 서로 다른 라이브러리 버전이나 시스템 구성으로 인해 발생하는 불일치를 제거할 수 있습니다. 예를 들어, 이미지 세분화 작업을 하는 이미지 세분화 작업을 하는 팀은 특정 데이터가 포함된 특정 데이터 세트 처리 도구와 모델 아키텍처가 포함된 Docker 이미지를 공유하여 일관된 결과를 보장할 수 있습니다.

2. 엣지에 배포

딥 러닝 모델을 다음과 같은 엣지 디바이스에 배포하려면 딥 러닝 모델을 배포하려면 고도로 최적화된 환경이 필요합니다. 개발자는 컨테이너를 통해 다음과 같은 모델을 패키징할 수 있습니다. YOLO11 와 같은 모델을 필요한 런타임 종속성만으로 패키징할 수 있습니다. 이 간소화된 패키지를 수천 개의 원격 장치에 배포하여 보안 카메라의 객체 감지 기능을 보안 카메라의 물체 감지 기능 또는 자율 로봇의 물체 감지 기능을 수동 개입 없이 무선으로 업데이트할 수 있습니다. 이에 대한 자세한 내용은 AWS 컨테이너 사용 사례에서 자세히 알아보세요.

예시: 컨테이너 지원 추론 스크립트

애플리케이션을 컨테이너화할 때는 일반적으로 진입점 역할을 하는 스크립트를 생성합니다. 다음 Python 코드는 간단한 추론 워크플로우를 보여 줍니다. ultralytics 패키지. 이 스크립트는 도커 컨테이너 내부에서 실행되는 용으로 설계된 도커 컨테이너 내부에서 실행되는 메인 프로세스일 수 있습니다. 실시간 추론.

from ultralytics import YOLO

# Load the YOLO11 model (ensure weights are present in the container)
model = YOLO("yolo11n.pt")

# Perform inference on an image URL
# In a container, this might process incoming video streams or API requests
results = model.predict(source="https://ultralytics.com/images/bus.jpg", save=True)

# Print detection results to verify operation
for result in results:
    print(f"Detected {len(result.boxes)} objects in the frame.")

이 스크립트는 종속성을 컨테이너 환경에서 처리할 때 코드 풋프린트를 얼마나 최소화할 수 있는지 효과적으로 보여줍니다. 컨테이너 환경에서 종속성을 처리할 때 코드 공간을 얼마나 최소화할 수 있는지 효과적으로 보여줍니다. 이미지에 포함된 모델 가중치를 활용하면, 컨테이너는 는 배포할 준비가 된 독립형 인텔리전스 단위가 됩니다. 컨테이너 기본 사항에 대한 자세한 내용은 Red Hat 컨테이너 설명서는 훌륭한 입문 자료를 제공합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기