torchmetrics: 분산 학습 및 평가를 위한 확장 가능한 PyTorch 메트릭 라이브러리

torchmetrics: 분산 학습 및 평가를 위한 확장 가능한 PyTorch 메트릭 라이브러리

해결하고자 하는 문제

TorchMetrics는 PyTorch 애플리케이션을 위한 머신러닝 메트릭을 계산하는 표준화된 방법을 제공합니다. 여러 배치와 분산 디바이스(예: 다수의 GPU 또는 노드)에서 메트릭을 누적하고 동기화하는 데 일반적으로 필요한 보일러플레이트 코드를 없애며, 결과가 재현 가능하고 확장 가능하도록 보장합니다.

작동 방식

이 라이브러리는 메트릭을 계산하는 두 가지 주요 방식을 제공합니다:

  • 모듈 기반 메트릭: PyTorch 모듈처럼 동작하며 내부 상태를 유지해 배치 간 데이터를 자동으로 추적·누적합니다. 여러 디바이스 간 동기화를 자동으로 처리하여 CPU, 단일 GPU, 다중 GPU 환경과 호환됩니다.
  • 함수형 메트릭: 텐서를 입력으로 받아 즉시 메트릭 값을 반환하는 간단한 파이썬 함수이며, 상태를 유지하지 않습니다.

사용자는 torchmetrics.Metric을 서브클래싱하고 메트릭이 상태를 어떻게 업데이트하고 최종 결과를 계산할지 정의함으로써 커스텀 메트릭을 만들 수도 있습니다.

대상 사용자

다양한 도메인(오디오, 텍스트, 이미지 등)에서 모델 성능을 추적해야 하는 PyTorch 개발자 및 머신러닝 엔지니어, 그리고 대규모 분산 학습을 수행하는 사람들을 위해 설계되었습니다.

주요 특징

  • 광범위한 라이브러리: 분류, 회귀, 세그멘테이션, 오디오, 텍스트, 멀티모달 데이터를 포괄하는 100개 이상의 내장 메트릭을 포함합니다.
  • 분산 지원: 다중 디바이스 학습을 위한 자동 동기화 및 누적 기능이 내장되어 있습니다.
  • 커스터마이징 가능: 기본 클래스를 서브클래싱하여 커스텀 메트릭을 구현하기 위한 쉬운 API를 제공합니다.
  • 시각화: 시간에 따른 메트릭 진행 상황을 시각화할 수 있는 통합 플롯 지원이 포함됩니다.

요약

100개가 넘는 PyTorch 메트릭 구현 모음으로, 분산 디바이스 간 누적 및 동기화를 자동화하여 ML 파이프라인의 보일러플레이트 코드를 줄여줍니다.

제목

torchmetrics: 분산 학습 및 평가를 위한 확장 가능한 PyTorch 메트릭 라이브러리

Sources