용어집

지속적 통합(CI)

지속적 통합이 어떻게 AI/ML 워크플로를 간소화하고, 협업을 강화하며, 코드 품질을 높이고, 배포 준비성을 보장하는지 알아보세요.

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

자세히 알아보기

지속적 통합(CI)은 여러 기여자의 코드 변경 사항을 하루에 여러 번 공유 리포지토리에 자동으로 통합하는 소프트웨어 개발 관행입니다. 이 프로세스를 통해 코드베이스가 최신 상태와 기능을 유지하면서 통합 문제를 신속하게 감지할 수 있습니다. 머신 러닝(ML)과 인공지능(AI)에서 CI는 모델 학습 파이프라인, 데이터 처리 워크플로 및 배포 메커니즘의 무결성을 유지하는 데 매우 중요합니다.

지속적 통합의 핵심 구성 요소

CI 워크플로에는 일반적으로 소프트웨어 및 AI/ML 개발을 간소화하기 위한 다음 구성 요소가 포함됩니다:

  • 버전 관리 시스템: Git과 같은 도구는 코드 변경 사항을 관리하는 데 필수적입니다. 이를 통해 여러 개발자가 수정 사항을 추적하면서 효과적으로 협업할 수 있습니다.
  • 자동화된 빌드 시스템: 코드가 변경될 때마다 자동화된 시스템이 소프트웨어를 컴파일하여 새 코드가 기존 코드베이스와 원활하게 통합되도록 합니다.
  • 자동화된 테스트: 통합 코드의 기능을 검증하기 위해 일련의 테스트가 자동으로 실행됩니다. AI에서는 데이터 전처리 스크립트 또는 모델 추론 파이프라인 테스트가 여기에 포함될 수 있습니다.
  • 지속적인 피드백: Jenkins 또는 GitHub Actions와 같은 CI 도구는 개발자에게 코드 품질, 오류 및 테스트 실패에 대한 즉각적인 피드백을 제공하여 문제를 신속하게 해결할 수 있도록 합니다.

AI 및 ML 프로젝트의 관련성

지속적 통합은 데이터 전처리 스크립트부터 모델 학습 파이프라인에 이르기까지 모든 구성 요소가 일관되게 작동하도록 함으로써 AI 및 ML 워크플로에서 중추적인 역할을 합니다. 데이터 과학자, 머신 러닝 엔지니어, 소프트웨어 개발자 간의 협업을 간소화하는 데 도움이 됩니다.

예를 들어 Ultralytics 허브와 같은 도구는 CI 기능을 AI 워크플로우에 통합하여 협업과 모델 관리를 간소화합니다. 이를 통해 Ultralytics YOLO 모델 또는 데이터 세트에 대한 모든 업데이트가 검증되고 프로덕션 준비 상태에 최적화됩니다.

AI/ML 지속적 통합의 이점

  1. 코드 품질 향상: 자동화된 테스트가 버그를 조기에 발견하여 AI 모델과 파이프라인을 견고하게 유지합니다.
  2. 간소화된 협업: 여러 기여자가 통합 충돌에 대한 걱정 없이 동시에 작업할 수 있습니다.
  3. 더 빠른 개발 주기: 지속적인 피드백 루프를 통해 문제를 식별하고 해결하는 데 필요한 시간을 단축할 수 있습니다.
  4. 배포 준비성 향상: CI는 모델과 소프트웨어를 항상 배포 가능한 상태로 유지하여 다운타임을 최소화합니다.

AI/ML에서 CI의 실제 적용 사례

  1. 모델 훈련 파이프라인: 머신러닝 프로젝트에서 CI는 새로운 데이터를 사용할 수 있게 될 때마다 모델의 재학습을 자동화하는 데 사용할 수 있습니다. 예를 들어, Ultralytics YOLO 모델은 COCO 또는 ImageNet과 같은 데이터 세트가 업데이트되면 재학습 워크플로를 트리거하여 CI의 이점을 활용할 수 있습니다.
  2. AI 기반 애플리케이션: 실시간 객체 감지 시스템과 같은 AI 솔루션을 배포하는 조직은 CI를 사용하여 업데이트된 모델의 테스트 및 배포를 자동화합니다. 예를 들어, CI를 다음과 통합하면 TensorRT 와 CI를 통합하면 고속 추론을 위해 YOLO 모델을 최적화할 수 있습니다.

AI/ML을 위한 CI 도구 및 프레임워크

AI/ML 워크플로에서 CI를 구현하는 데 일반적으로 여러 가지 도구가 사용됩니다:

CI와 관련 개념의 구분

CI는 코드 변경 사항의 통합을 간소화하지만, 다음과 구별됩니다:

  • 지속적 배포(CD): CI 검사를 통과한 후 코드를 프로덕션에 자동으로 배포합니다. 모델 배포 사례에 대해 자세히 알아보세요.
  • MLOps: 머신 러닝 모델의 수명 주기를 관리하기 위한 CI, CD 및 기타 관행을 포괄하는 광범위한 분야입니다. MLOps 개념을 살펴보세요.

결론

지속적 통합은 최신 소프트웨어 및 AI/ML 개발의 초석입니다. CI는 통합, 테스트 및 피드백을 자동화함으로써 협업, 코드 품질 및 배포 준비성을 향상시킵니다. Ultralytics 허브와 같은 CI 도구와 플랫폼을 활용하면 AI 솔루션이 견고하고 효율적이며 확장 가능한 상태를 유지할 수 있습니다.

모두 보기