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

지속적 통합(CI)

지속적 통합으로 AI/ML 워크플로우를 개선하세요. 테스트를 자동화하고 코드 품질을 개선하며 모델 개발을 간소화하십시오.

지속적 통합(CI)은 개발자가 코드 변경 사항을 공유된 중앙 리포지토리에 코드 변경 사항을 공유 중앙 리포지토리에 병합하는 기본적인 소프트웨어 개발 관행입니다. CI는 대규모 업데이트를 주기적으로 통합하기보다는 자동화된 빌드 및 테스트 시퀀스를 트리거하는 소규모의 정기적인 커밋을 권장합니다. 역동적인 분야에서 인공 지능(AI)머신러닝(ML)의 역동적인 분야에서 이러한 관행은 초석입니다. 머신 러닝 운영(MLOps). 코드, 데이터 또는 하이퍼파라미터에 대한 변경이 하이퍼파라미터를 변경해도 기존 시스템을 손상시키거나 모델 성능을 저하시키지 않도록 합니다.

머신러닝에서 CI의 핵심 원칙

CI의 주요 목표는 오류를 가능한 한 빨리 detect 것인데, 이를 흔히 '실패를 빨리"라는 개념입니다. 이 프로세스는 Git과 같은 버전 관리 시스템에 크게 의존합니다. 코드베이스를 관리합니다. 개발자가 변경 사항을 푸시하면 CI 서버(예 GitHub Actions, GitLab CI 또는 Jenkins와 같은 CI 서버가 자동으로 새로운 환경으로 전환합니다.

ML 프로젝트의 경우 이 환경에서는 종종 다음과 같은 컨테이너화 도구를 개발, 테스트 및 프로덕션 전반에서 일관성을 보장하기 위해 Docker와 같은 컨테이너화 도구를 사용합니다. CI 파이프라인은 일련의 검사를 실행합니다:

  • 코드 품질: 린터 및 정적 분석을 실행하여 코딩 표준을 유지합니다.
  • 단위 테스트: 개별 함수와 클래스가 예상대로 작동하는지 확인합니다.
  • 데이터 유효성 검사: 보장 학습 데이터가 예상 스키마 및 품질 표준을 준수하는지 확인합니다.
  • 모델 평가: 학습된 모델을 검증 데이터 세트에 대해 실행하여 검증 데이터 세트에 대해 학습된 모델을 실행하여 정확도가 정의된 임계값 아래로 떨어지지 않았는지 확인합니다.

성능 검사 구현

ML을 위한 CI의 중요한 측면은 코드가 오류 없이 실행되지만 모델의 인텔리전스가 저하되는 것을 방지하는 것입니다. 이는 모델 테스트를 모델 테스트를 CI 워크플로에 직접 통합하면 됩니다.

다음 Python 스니펫은 CI 스크립트가 어떻게 YOLO11 모델을 로드하고 해당 성능 메트릭이 특정 표준을 충족하는지 확인하는 방법을 보여줍니다. 특정 표준을 충족하는지 확인하는 방법을 보여줍니다.

from ultralytics import YOLO

# Load the model to be tested (e.g., a newly trained artifact)
model = YOLO("yolo11n.pt")

# Run validation on a standard dataset (e.g., coco8.yaml for quick CI checks)
results = model.val(data="coco8.yaml")

# Extract the mAP50-95 metric
map_score = results.box.map

# Assert performance meets the minimum requirement for the pipeline to pass
print(f"Current mAP: {map_score}")
if map_score < 0.30:
    raise ValueError("Model performance regression detected! mAP is too low.")

실제 애플리케이션

지속적 통합의 적용은 신뢰성이 타협할 수 없는 산업에서 필수적입니다.

  • 자율 주행: 자율 주행 차량의 개발에서는 자율 주행 차량 개발에서 가장 중요한 것은 안전입니다. 엔지니어는 CI 파이프라인을 사용하여 수천 개의 객체 감지 모델에 대한 수천 개의 시나리오에 대해 물체 감지 모델을 시나리오를 자동으로 테스트합니다. 코드 변경으로 인해 평균 평균 정밀도(mAP) 가 떨어지면 시스템은 업데이트를 차단하여 잠재적으로 위험한 소프트웨어가 차량에 도달하는 것을 방지합니다.
  • 의료 진단: 대상 의료 분야의 AI, 특히 다음과 같은 작업 종양 탐지 일관성이 핵심입니다. CI 파이프라인은 이미지 전처리 알고리즘의 업데이트가 실수로 입력 데이터를 변경하는 입력 데이터를 실수로 변경하지 않도록 진단 모델을 혼동하지 않도록 합니다. 의료 이미지의 '골든 세트'에 대해 회귀 테스트를 실행하여 다음과 같이 임상적 정확성을 유지합니다. 임상적 정확성이 유지되도록 보장합니다.

지속적 통합과 지속적 배포(CD) 비교

CI/CD로 함께 언급되는 경우가 많지만, 지속적 통합을 다음과 구별하는 것이 중요합니다. 지속적 배포.

  • 지속적 통합(CI)은 개발 주기에 중점을 둡니다. 새 코드가 가 기존 코드베이스와 올바르게 통합되고 모든 자동화된 테스트를 통과하는지 확인합니다. 검증된 아티팩트(예: 도커 이미지 또는 모델 파일)를 생성합니다. (예: 도커 이미지 또는 모델 파일)를 생성합니다.
  • 지속적 배포(CD)는 릴리스 주기에 중점을 둡니다. CI에서 생성된 아티팩트를 가져와서 CI에서 생성된 아티팩트를 가져와 클라우드 서버나 에지 디바이스와 같은 프로덕션 환경에 자동으로 배포합니다.

이 두 가지를 함께 사용하면 간소화된 파이프라인을 형성하여 간소화된 파이프라인을 형성하여 팀이 더 빠르게 반복 작업을 수행할 수 있습니다. 높은 수준의 품질과 보안을 유지하면서 더 빠르게 반복할 수 있습니다.

Ultralytics 커뮤니티 가입

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

지금 참여하기