Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Continuous Integration (CI)

지속적 통합(CI)은 코드 변경 사항을 자주 병합하고 각각을 자동으로 테스트하는 방식이며, ML 파이프라인에는 데이터 검사와 모델 품질 게이트가 추가됩니다.

지속적 통합(CI)은 모든 개발자의 변경사항을 공유 메인 브랜치에 자주, 최소 하루에 한 번 병합하고 각 변경사항을 자동으로 빌드 및 테스트하는 관행입니다. 이를 통해 릴리스 시점이 아니라 몇 분 이내에 통합 문제를 발견할 수 있습니다. Grady Booch가 1991년에 이 용어를 제안했고, Kent Beck은 1990년대 후반 익스트림 프로그래밍의 핵심 실천법으로 자리 잡게 했습니다. Martin Fowler의 글 지속적 통합은 오늘날에도 대부분의 팀이 따르는 워크플로를 설명합니다. 머신러닝(ML)에서는 변경사항으로 인해 모든 단위 테스트가 통과해도 모델 정확도가 낮아질 수 있으므로 데이터, 학습 코드, 모델 동작도 CI에서 확인합니다.

CI 파이프라인 작동 방식#

개발자가 브랜치에 푸시하거나 풀 리퀘스트를 열면 GitHub Actions, GitLab CI/CD, Jenkins와 같은 CI 서비스가 새 러너를 시작하고 코드를 체크아웃한 뒤 종속성을 설치하고 여러 작업으로 이루어진 파이프라인을 실행합니다. 작업에는 린터와 타입 검사기, 단위 테스트, 통합 테스트, 패키지 또는 컨테이너 이미지 빌드가 포함됩니다. 각 작업의 상태는 풀 리퀘스트에 보고되며, 브랜치 보호 규칙을 통해 필수 검사가 모두 통과해야 병합할 수 있도록 설정할 수 있습니다. 파이프라인은 다양한 운영체제와 Python 버전의 조합으로 동일한 테스트를 반복하는 경우가 많으며, 병합 후에는 메인 브랜치에서 전체 테스트를 다시 실행합니다. 속도도 중요한 실천 요소입니다. Beck의 익스트림 프로그래밍은 전체 시스템을 빌드하고 모든 테스트를 실행하는 데 10분이 걸리도록 목표를 설정했습니다. 빌드가 느릴수록 실행 횟수가 줄어들기 때문입니다.

머신러닝을 위한 CI#

ML 프로젝트에는 자체 검사가 추가됩니다. 데이터 테스트는 새 학습 데이터가 예상 스키마에 맞는지, 모든 라벨 파일을 파싱할 수 있는지, 이미지가 학습 분할과 검증 분할에 중복으로 포함되지 않았는지를 확인합니다. 이미지가 양쪽에 있으면 데이터 누수가 발생합니다. 스모크 테스트에서는 작은 데이터세트로 에포크 하나를 학습해 형태 오류와 충돌을 몇 분 안에 찾아냅니다. 모델 출력을 비교하는 테스트는 GPU 커널과 데이터 로딩 순서에 따라 부동소수점 결과가 실행마다 달라질 수 있으므로 난수 시드를 고정하고 작은 수치 오차를 허용합니다. 품질 게이트는 고정된 검증 세트에서 모델을 평가하고 평균 정밀도(mAP)와 같은 지표가 기준값 아래로 떨어지면 빌드에 실패하도록 합니다. 내보내기 테스트는 ONNX 또는 TensorRT 버전의 모델이 원본처럼 로드되고 점수를 산출하는지 확인합니다. 전체 학습은 느리고 GPU 러너 비용은 높으므로, 팀은 보통 모든 풀 리퀘스트에서 빠른 검사를 실행하고 전체 재학습과 모델 배포는 예약 실행이나 메인 브랜치 실행에 맡깁니다. DVC와 같은 버전 관리 도구를 사용하면 각 작업이 필요한 정확한 데이터세트 버전을 가져올 수 있습니다.

Ultralytics YOLO의 벤치마크 모드는 이러한 품질 게이트 역할을 합니다. verbose을 0.216과 같은 실수로 설정하면 내보내기에 실패하거나 내보낸 형식 중 하나라도 mAP50-95가 해당 기준값을 초과하지 못할 때 오류가 발생합니다. Ultralytics 저장소 자체 CI는 이 기능을 사용해 Linux, macOS, ARM 러너에서 YOLO26 내보내기를 테스트합니다. 다음은 단위 테스트와 품질 게이트를 결합한 최소한의 GitHub Actions 워크플로입니다:

name: CI
on:
  pull_request:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-python@v6
        with:
          python-version: "3.13"
      - run: pip install ultralytics pytest
      - run: pytest tests/
      # Fail if the ONNX export breaks or its mAP50-95 is not above the 0.216 floor
      - run: yolo benchmark model=yolo26n.pt format=onnx imgsz=160 verbose=0.216

모든 풀 리퀘스트와 main에 대한 모든 푸시는 새 Ubuntu 러너에서 작업을 실행합니다. 단위 테스트가 실패하거나 작은 COCO8 데이터세트에서 ONNX 모델 점수가 기준값 이하이면 변경사항을 병합하기 전에 검사가 실패 상태로 표시됩니다.

CI와 CD, MLOps 및 지속적 학습 비교#

  • 지속적 전달(CD): CI를 통과한 빌드를 릴리스 가능한 상태로 유지하며, 스테이징 환경에 자동으로 배포하는 경우가 많습니다. 지속적 배포는 한 단계 더 나아가 통과한 모든 변경사항을 프로덕션에 배포합니다.
  • MLOps: ML 수명 주기 전반에 걸쳐 CI와 CD를 데이터 버전 관리, 모델 배포, 모니터링, 재학습과 결합하는 더 넓은 분야입니다.
  • 지속적 학습(CT): 새 데이터가 들어오거나 모니터링에서 드리프트가 감지될 때 모델을 자동으로 재학습하고 재배포합니다. Google의 MLOps 성숙도 단계에서는 자동 재학습을 1단계, 학습 파이프라인 자체의 자동 CI/CD를 2단계로 구분합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요