녹색 확인
링크가 클립보드에 복사됨

로그 Ultralytics YOLO MLflow 통합을 사용하여 실험하기

MLflow 통합 및 로깅을 통해 컴퓨터 비전 애플리케이션을 위한 뛰어난 추적을 가능하게 하여 Ultralytics YOLO 실험을 향상시킬 수 있는 방법을 살펴보세요.

컴퓨터 비전 프로젝트를 퍼즐이라고 생각할 수 있습니다. 기본적으로 데이터 세트 수집, 모델 훈련, 배포 등 퍼즐 조각을 맞춰 기계가 시각적 데이터를 이해하도록 가르칩니다. 모든 것이 맞으면 이미지와 비디오를 효과적으로 분석하고 이해할 수 있는 시스템이 완성됩니다.

하지만 실제 퍼즐과 마찬가지로 컴퓨터 비전 프로젝트의 모든 부분이 간단하지는 않습니다. 실험 추적(설정, 구성 및 데이터 기록 유지) 및 로깅(결과 및 성능 메트릭 캡처)과 같은 작업에는 많은 시간과 노력이 필요할 수 있습니다. 이러한 단계는 컴퓨터 비전 모델을 개선하고 개선하는 데 핵심적인 역할을 하지만 때로는 병목 현상처럼 느껴질 수 있습니다.

바로 여기에서 Ultralytics YOLO 모델과 MLflow와의 통합이 중요한 역할을 합니다. 다음과 같은 모델은 Ultralytics YOLO11 와 같은 모델은 객체 감지, 인스턴스 분할, 이미지 분류 등 광범위한 컴퓨터 비전 작업을 지원합니다. 이러한 기능을 통해 흥미로운 컴퓨터 비전 애플리케이션을 만들 수 있습니다. MLflow 통합과 같은 통합에 의존할 수 있는 옵션이 있으면 비전 엔지니어는 세부 사항에 얽매이지 않고 모델 자체에 집중할 수 있습니다. 

특히 MLflow 통합은 트레이닝 프로세스 전반에 걸쳐 다양한 메트릭, 파라미터 및 아티팩트를 기록하여 프로세스를 간소화합니다. 이 문서에서는 MLflow 통합의 작동 방식과 이점, 그리고 이를 사용하여 Ultralytics YOLO 워크플로를 간소화하는 방법에 대해 살펴봅니다.

MLflow란 무엇인가요?

MLflow는 전체 머신 러닝 수명 주기를 간소화하고 관리하도록 설계된 오픈 소스 플랫폼(데이터브릭스에서 개발)입니다. 머신 러닝 모델을 개발, 배포 및 유지 관리하는 프로세스를 포괄합니다. 

MLflow에는 다음과 같은 주요 구성 요소가 포함되어 있습니다:

  • 실험 추적: 이 구성 요소는 각 모델 트레이닝 실행에 대한 모델 설정, 결과 및 파일과 같은 중요한 세부 정보를 기록하는 데 중점을 둡니다. 모델을 비교하고, 변경 사항이 성능에 어떤 영향을 미치는지 확인하고, 가장 적합한 모델을 찾는 데 도움이 됩니다.
  • 모델 레지스트리: 모델을 위한 저장 시스템과 같은 것으로, 다양한 버전을 추적하고 테스트, 스테이징, 프로덕션과 같은 단계별로 정리할 수 있습니다.
  • 프로젝트 패키징: MLflow를 사용하면 코드, 설정 및 필수 도구를 포함한 머신 러닝 프로젝트를 쉽게 번들로 묶어 여러 팀과 환경에서 일관되게 공유하고 사용할 수 있습니다.
  • 모델 배포: MLflow는 학습된 모델을 워크스테이션이나 AWS, Azure 등의 클라우드 플랫폼에 빠르게 배포하여 실제 사용할 수 있도록 준비할 수 있는 도구를 제공합니다.
그림 1. MLflow의 구성 요소.

MLflow의 구성 요소는 머신 러닝 프로세스를 보다 쉽고 효율적으로 관리할 수 있게 해줍니다. 이 통합을 통해 Ultralytics 에서는 MLflow의 실험 추적 기능을 사용하여 YOLO 모델을 학습하는 동안 매개변수, 메트릭 및 아티팩트를 기록할 수 있습니다. 이를 통해 다양한 YOLO 모델 버전을 간편하게 추적하고 비교할 수 있습니다.

MLflow 통합으로 교육 간소화

이제 MLflow가 무엇인지 살펴보았으니 MLflow 통합의 세부 사항과 제공하는 기능에 대해 자세히 알아보겠습니다. 

MLflow 통합은 컴퓨터 비전 실험의 중요한 측면을 자동으로 추적하고 기록하여 훈련 프로세스를 보다 효율적이고 체계적으로 만들 수 있도록 설계되었습니다. 메트릭, 매개변수, 아티팩트라는 세 가지 주요 유형의 로깅을 지원합니다.

각 로깅 유형에 대해 자세히 살펴보세요:

  • 메트릭 로깅: 메트릭은 학습 중 모델의 성능을 측정하는 정량적 값입니다. 예를 들어 정확도, 정밀도, 리콜 또는 손실과 같은 메트릭은 각 에포크(데이터 세트의 전체 통과)가 끝날 때마다 추적됩니다. 
  • 매개변수 로깅: 매개변수는 학습 속도, 배치 크기(한 학습 단계에서 처리되는 샘플 수), 에포크 수 등 모델 학습을 시작하기 전에 정의하는 설정입니다. 이러한 매개변수는 모델의 동작과 성능에 큰 영향을 미칩니다.
  • 아티팩트 로깅: 아티팩트란 학습 중에 생성되는 출력물 또는 파일을 말합니다. 여기에는 모델 가중치(학습 중에 모델이 학습하는 숫자 값), 구성 파일(학습 설정이 저장된 파일) 및 기타 관련 데이터와 같은 필수 파일이 포함됩니다. 
그림 2. MLflow 통합의 주요 로깅 기능. 작성자 이미지.

MLflow 통합의 작동 방식

MLflow 통합을 활성화하는 단계별 지침은 Ultralytics 문서를 참조하세요. 통합을 설정하면 위에서 설명한 대로 트레이닝 실험의 주요 세부 정보를 자동으로 추적하고 기록합니다. 따라서 수동으로 추적할 필요가 없으며 모델을 개선하는 데 집중할 수 있습니다.

MLflow를 통합하면 모든 훈련 실행이 한곳에 저장되므로 결과를 비교하고 다양한 구성을 더 쉽게 평가할 수 있습니다. 기록된 결과를 비교하여 가장 성과가 좋은 구성을 파악하고 이러한 인사이트를 사용하여 모델을 개선할 수 있습니다. 이렇게 하면 워크플로우가 더욱 효율적이고, 잘 문서화되며, 재현 가능해집니다.

특히 각 트레이닝 세션은 여러 실행을 위한 컨테이너 역할을 하는 실험으로 구성됩니다. 실험 내에서 관련된 모든 실행을 보고, 성능을 나란히 비교하고, 다양한 구성에 걸쳐 추세를 분석할 수 있습니다. 

예를 들어 Ultralytics YOLOv8 을 사용하여 다양한 학습 속도 또는 배치 크기를 테스트하는 경우, 아래와 같이 모든 관련 실행이 동일한 실험 아래에 그룹화되어 쉽게 비교 및 분석할 수 있습니다.

그림 3. MLflow 통합을 사용하여 실험을 볼 수 있습니다.

한편, 개별 실행 수준에서 MLflow는 특정 훈련 세션에 대한 자세한 인사이트를 제공합니다. 기간별 정확도, 손실, 정밀도 등의 메트릭을 확인하고, 사용된 학습 매개변수(예: 배치 크기 및 학습 속도)를 확인하고, 모델 가중치 및 구성 파일과 같은 생성된 아티팩트에 액세스할 수 있습니다. 이러한 세부 정보는 체계적인 형식으로 저장되므로 실행을 다시 방문하거나 재현하는 것이 간편합니다.

MLflow 통합 선택: 뛰어난 이유

Ultralytics 설명서를 살펴보고 사용 가능한 연동 기능을 살펴보면서 다음과 같은 질문을 하게 될 것입니다: MLflow 통합의 차별점은 무엇이며, 내 워크플로에 이 통합을 선택해야 하는 이유는 무엇인가요?

메트릭을 추적하고 결과를 시각화하기 위한 도구도 제공하는 TensorBoard와 같은 통합 기능의 경우, MLflow 통합을 돋보이게 하는 고유한 특성을 이해하는 것이 중요합니다. 

MLflow가 YOLO 프로젝트에 이상적인 선택이 될 수 있는 이유는 다음과 같습니다:

  • 사용자 친화적인 인터페이스: MLflow 대시보드를 사용하면 실험을 쉽게 보고, 실행을 비교하고, 결과를 분석할 수 있어 가장 성능이 좋은 구성을 빠르게 파악할 수 있습니다.
  • 사용자 지정 메트릭 로깅: 비전 엔지니어는 표준 메트릭 외에도 사용자 지정 메트릭을 기록하여 프로젝트 요구 사항에 맞는 심층적인 분석을 수행할 수 있습니다.
  • 다국어 워크플로우 지원: MLflow는 Python, R, Java를 비롯한 여러 프로그래밍 언어와 호환되므로 다양한 머신 러닝 파이프라인에 쉽게 통합할 수 있습니다.

YOLO11 및 MLflow 통합의 실제 적용 사례

MLflow 통합을 사용할 수 있는 경우에 대해 보다 포괄적으로 이해하기 위해 의료 분야의 AI 애플리케이션 ( YOLO11 )을 학습시켜 엑스레이 또는 CT 스캔 이미지에서 종양을 감지해야 하는 경우를 예로 들어 보겠습니다. 

이러한 시나리오에서 데이터 세트는 주석이 달린 의료 이미지로 구성됩니다. 최적의 정확도를 달성하기 위해 학습 속도, 배치 크기, 이미지 전처리 기법을 조정하는 등 다양한 구성을 실험해야 합니다. 의료 분야에서는 정확도와 신뢰성이 매우 중요하기 때문에 각 실험을 수동으로 추적하는 것은 금방 관리가 불가능해질 수 있습니다.

그림 4. Ultralytics YOLO11 을 사용하여 종양 감지하기.

MLflow 통합은 모든 실험의 매개변수, 지표 및 아티팩트를 자동으로 기록하여 이 문제를 해결합니다. 예를 들어 학습 속도를 수정하거나 새로운 증강 전략을 적용하는 경우 MLflow는 이러한 변경 사항을 성능 메트릭과 함께 기록합니다. 또한 MLflow는 학습된 모델 가중치와 구성을 저장하여 성공적인 모델을 쉽게 재현하고 배포할 수 있도록 합니다. 

이는 MLflow 통합이 비전 AI 애플리케이션에서 실험 관리를 개선하는 방법의 한 예에 불과합니다. 다른 컴퓨터 비전 애플리케이션에도 동일한 기능이 적용됩니다:

  • 자율주행: YOLO11 는 보행자, 차량, 교통 표지판을 실시간으로 감지하고 분류하여 자율주행 시스템의 안전성과 효율성을 개선하는 데 사용할 수 있습니다.
  • 리테일 분석: 객체 감지 모델은 비디오 피드를 통해 매장 내 활동을 분석하여 고객 행동을 모니터링하고, 제품 배치를 추적하며, 재고를 최적화할 수 있습니다.
  • 보안 및 감시: 보안 강화를 위해 민감한 영역에서 이상 징후를 감지하거나 실시간 활동을 모니터링하도록 모델을 학습시킬 수 있습니다.

MLflow 통합의 이점

MLflow와 YOLO 모델을 통합하면 머신 러닝 실험을 더 쉽고 효율적으로 관리할 수 있습니다. 주요 작업을 자동화하고 모든 것을 체계적으로 관리함으로써 모델 구축과 개선에 집중할 수 있습니다. 주요 이점을 살펴보세요:

  • 대규모 프로젝트를 위한 확장성: 이 플랫폼은 여러 실험과 모델을 효율적으로 처리하므로 대규모 팀과 복잡한 워크플로에 적합합니다.
  • 자세한 실험 기록: 플랫폼은 실험의 전체 기록을 유지하므로 과거 실행을 다시 방문하고, 이전 구성을 분석하고, 이전 결과에서 학습할 수 있습니다.
  • 옵션 비활성화 및 재설정: 필요하지 않은 경우 MLflow 로깅을 쉽게 비활성화할 수 있으며, 설정을 기본값으로 재설정할 수 있어 다양한 워크플로 요구사항에 유연하게 대처할 수 있습니다.

주요 요점

MLflow 통합을 통해 Ultralytics YOLO 실험을 더 쉽고 효율적으로 관리하고 최적화할 수 있습니다. 매개변수, 메트릭 및 아티팩트와 같은 주요 세부 정보를 자동으로 추적하여 프로세스를 간소화하고 수동 실험 관리의 번거로움을 없앱니다. 

종양 감지, 자율 주행 시스템 개선, 리테일 분석 개선과 같은 의료 솔루션 개발이든, 이 통합은 모든 것을 체계적이고 재현 가능하게 유지하는 데 도움이 됩니다. 직관적인 인터페이스와 유연성을 갖춘 MLflow를 통해 개발자는 더 나은 모델을 구축하고 비전 AI 애플리케이션의 혁신을 주도하는 데 집중할 수 있습니다.

커뮤니티에 가입하고 GitHub 리포지토리를 확인하여 AI에 대해 알아보세요. 또한 솔루션 페이지에서 제조업에서의 컴퓨터 비전 또는 자율 주행 자동차에서의 AI 적용 사례를 더 자세히 살펴볼 수 있습니다.

Facebook 로고트위터 로고LinkedIn 로고복사 링크 기호

이 카테고리에서 자세히 보기

인공지능의 미래
를 함께 만들어 갑시다!

머신 러닝의 미래와 함께하는 여정 시작하기