용어집

컨테이너화

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

컨테이너화는 애플리케이션과 라이브러리, 프레임워크, 구성 파일과 같은 종속 요소를 컨테이너라는 하나의 독립된 단위로 패키징할 수 있는 가벼운 형태의 운영 체제 가상화입니다. 이를 통해 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 이동할 때 소프트웨어가 제대로 실행되지 않는 일반적인 문제를 해결할 수 있습니다. 머신 러닝(ML)의 맥락에서 컨테이너화는 복잡한 AI 모델과 그 복잡한 소프트웨어 스택을 이식성, 재현성, 확장성을 보장하여 최신 MLOps 사례의 핵심 구성 요소를 형성합니다.

가장 널리 사용되는 컨테이너화 기술은 컨테이너를 빌드, 전송 및 실행하는 표준화된 방법을 제공하는 Docker입니다. 각 컨테이너는 호스트 시스템의 OS 커널을 공유하지만 사용자 공간에서 격리된 프로세스로 실행됩니다. 오픈 컨테이너 이니셔티브(OCI)와 같은 조직에서 표준화한 이 접근 방식은 컨테이너를 기존 가상 머신보다 훨씬 더 리소스 효율적이고 빠르게 시작할 수 있게 해줍니다. 컨테이너화의 기본 사항에 대한 자세한 내용은 Red Hat의 컨테이너 설명과 같은 리소스에서 확인할 수 있습니다.

컨테이너화 대 관련 개념

컨테이너화와 유사한 기술의 차이점을 이해하는 것은 AI/ML 워크플로우에서 컨테이너화의 역할을 이해하는 데 핵심입니다.

  • 가상 머신(VM): 컨테이너와 VM은 모두 격리된 환경을 제공하지만, 서로 다른 수준에서 작동합니다. VM은 전체 게스트 운영 체제를 포함한 전체 하드웨어 스택을 에뮬레이션하므로 무겁고 시작 속도가 느립니다. 반면 컨테이너는 호스트 커널을 공유하면서 OS를 가상화합니다. 따라서 컨테이너는 훨씬 더 가볍고 빠르지만, VM은 더 높은 수준의 하드웨어 수준 격리를 제공할 수 있습니다.
  • Docker: 컨테이너화는 기본 개념입니다. Docker는 이 개념을 구현하는 가장 인기 있는 플랫폼으로, 개별 컨테이너를 생성하고 관리할 수 있는 도구를 제공합니다. 실용적인 시작을 위해, Ultralytics는 YOLO 모델을 실행하기 위한 Docker 빠른 시작 가이드를 제공합니다. 자세한 내용은 Docker의 공식 리소스에서 확인할 수도 있습니다.
  • 쿠버네티스: Docker는 호스트에서 단일 컨테이너를 관리하지만, Kubernetes는 컨테이너 오케스트레이션 플랫폼입니다. 이 플랫폼은 머신 클러스터에서 수천 개의 컨테이너를 배포, 확장 및 관리하는 작업을 자동화합니다. 일반적인 워크플로는 Docker로 컨테이너를 빌드한 다음 Kubernetes를 사용하여 대규모로 관리하는 것입니다. 더 자세히 알아보려면 공식 Kubernetes 설명서를 참조하세요.
  • 서버리스 컴퓨팅: 서버리스 컴퓨팅은 클라우드 공급자가 코드를 실행하는 데 필요한 인프라를 자동으로 관리하는 실행 모델입니다. 이는 서버와 컨테이너를 완전히 추상화합니다. 컨테이너화는 애플리케이션 환경에 대한 제어를 제공하지만, AWS Lambda와 같은 서버리스 플랫폼은 모든 인프라 관리를 숨겨서 사용 편의성을 우선시합니다.

AI/ML의 실제 애플리케이션

컨테이너화는 실험에서 프로덕션 모델 배포에 이르기까지 전체 AI/ML 라이프사이클에 걸쳐 널리 사용됩니다.

  1. 개체 감지 모델 배포: 객체 감지를 위해 훈련된 Ultralytics YOLO 모델을 Docker 컨테이너에 패키징할 수 있습니다. 이 컨테이너에는 모델 가중치, 추론 스크립트, PyTorchNVIDIA CUDA 라이브러리와 같은 필요한 모든 종속성이 포함됩니다. 이 독립형 유닛은 강력한 클라우드 GPU부터 리소스 제약이 있는 엣지 AI 디바이스에 이르기까지 다양한 플랫폼에 일관되게 배포할 수 있어 환경에 관계없이 모델이 예상대로 작동하도록 보장합니다.
  2. NLP 모델을 마이크로서비스로 제공하기: Hugging Face와 같은 플랫폼의 모델을 사용하여 자연어 처리(NLP) 애플리케이션을 개발하는 팀은 다양한 구성 요소(예: 텍스트 전처리, 모델 추론, API 엔드포인트)를 별도의 마이크로서비스로 컨테이너화할 수 있습니다. 이러한 컨테이너는 각 구성 요소를 독립적으로 확장하고 업데이트할 수 있도록 Kubernetes를 사용하여 관리할 수 있습니다. 이는 마이크로서비스 아키텍처의 원칙을 따르며 보다 탄력적인 시스템으로 이어집니다. Ultralytics HUB와 같은 플랫폼은 간소화된 모델 관리 및 배포를 위해 컨테이너화 원칙을 활용합니다.

컨테이너화는 일관되고 격리된 환경을 제공함으로써 특히 빠르게 진화하는 AI 및 컴퓨터 비전(CV) 분야에서 최신 소프트웨어 개발의 초석이 되었습니다. 이를 통해 개발자와 MLOps 엔지니어는 Google CloudAmazon Elastic Container Service와 같은 플랫폼에서 더욱 빠르고 효율적으로 안정적인 AI 애플리케이션을 빌드, 테스트 및 배포할 수 있습니다.

울트라 애널리틱스 커뮤니티 가입

AI의 미래와 함께하세요. 글로벌 혁신가들과 연결, 협업, 성장하기

지금 가입하기
링크가 클립보드에 복사됨