용어집

플롭

머신 러닝에서 플롭을 이해하세요! 모델 복잡성을 측정하고, 효율성에 영향을 미치며, 하드웨어 선택에 도움을 주는 방법을 알아보세요.

부동 소수점 연산은 머신 러닝(ML) 에서 모델의 계산 복잡성을 측정하는 데 사용되는 기본 지표입니다. 부동소수점 연산은 더하기, 빼기, 곱하기, 나누기 등 소수점이 포함된 숫자를 포함하는 모든 수학적 계산으로, 신경망에서 표준으로 사용되는 연산입니다. 이 용어는 기술적으로는 초당 연산을 의미할 수 있지만, 딥 러닝의 맥락에서는 일반적으로 모델의 단일 포워드 패스에 필요한 이러한 연산의 총 수를 정량화합니다. 이 메트릭은 추론 중에 모델이 얼마나 계산 집약적인지 추정할 수 있는 하드웨어에 구애받지 않는 방법을 제공합니다. 이 수치는 종종 너무 커서 수십억 번의 연산인 기가플롭(GFLOP) 또는 수조 번의 연산인 테라플롭(TFLOP)으로 표현되기도 합니다.

머신 러닝에서 플롭이 중요한 이유는 무엇인가요?

FLOP은 모델의 효율성을 나타내는 중요한 지표입니다. 일반적으로 FLOP 수가 낮을수록 모델 실행 속도가 빠르고 연산 능력이 덜 필요하다는 것을 의미합니다. 이는 엣지 AI나 모바일 디바이스와 같이 리소스가 제한된 애플리케이션에서 특히 중요합니다. 개발자는 FLOP을 분석하여 다음을 수행할 수 있습니다:

  • 모델 아키텍처 비교: 모델 비교 페이지에서 볼 수 있는 것과 같이 다양한 모델 중에서 선택할 때 FLOP은 정확도와 함께 계산 효율성을 평가할 수 있는 표준화된 방법을 제공합니다.
  • 배포 최적화: 라즈베리 파이 또는 NVIDIA Jetson과 같은 하드웨어에 모델을 배포하는 경우, 원하는 성능 수준을 달성하려면 적절한 플롭 수를 가진 모델을 선택하는 것이 필수적입니다.
  • 모델 설계 가이드: Ultralytics YOLO 시리즈와 같은 새로운 아키텍처를 개발하는 연구원들은 종종 FLOP을 최소화하는 것을 주요 설계 제약 조건으로 간주합니다. EfficientNet과 같은 모델에서 탐구되는 기술은 성능 저하 없이 계산 비용을 줄이는 데 중점을 둡니다.

실제 애플리케이션

FLOP은 AI 솔루션의 개발 및 배포에 매일 사용되는 실용적인 지표입니다.

  1. 모바일 비전 애플리케이션: 스마트폰 앱의 실시간 물체 감지 기능을 개발하는 개발자는 배터리 소모 없이 빠르게 실행할 수 있는 모델을 선택해야 합니다. 소형 Ultralytics YOLO11 변형과 같은 경량 모델의 FLOP을 다른 모델과 비교하여 디바이스의 CPU 또는 GPU에 속도와 정확도의 균형이 잘 맞는 모델을 선택할 수 있습니다.

  2. 자율주행 차량: 자율 주행에서 인식 모델은 매우 짧은 지연 시간으로 카메라 피드를 처리해야 합니다. 이러한 시스템을 설계하는 엔지니어는 다양한 모델의 FLOP을 분석하여 선택한 아키텍처가 차량의 특수 하드웨어에서 실행될 수 있는지 확인합니다. 더 낮은 FLOP으로 안전한 작동을 위한 엄격한 타이밍 요구 사항을 충족할 수 있다면 더 복잡한 모델 대신 YOLO11과 같은 모델을 선택할 수 있습니다.

플롭과 관련 지표

FLOP을 다른 일반적인 지표와 구별하는 것이 중요합니다:

  • 매개변수 대 FLOPs: 모델 가중치 (파라미터)의 수는 메모리 스토리지 측면에서 모델의 크기를 나타냅니다. 반면에 FLOP은 계산 작업을 측정합니다. 계산 집약적인 작업에서 매개변수가 여러 번 재사용되는 경우 모델의 매개변수 수는 적지만 FLOP 수는 많을 수 있습니다.
  • MAC과 FLOP: MAC 또는 곱하기-누적 연산은 신경망에서 흔히 사용되는 연산입니다. 하나의 MAC은 종종 두 개의 FLOP(곱셈과 덧셈)과 동등한 것으로 간주됩니다. 일부 연구 논문과 프레임워크에서는 MAC의 계산 비용을 FLOPs 값의 약 절반으로 보고하기도 합니다. 코드가 있는 논문과 같은 리소스에서 이러한 차이를 확인할 수 있습니다.
  • 지연 시간 대 FLOPs: 추론 지연 시간은 모델이 예측을 수행하는 데 걸리는 실제 월 클럭 시간입니다. FLOP은 좋은 이론적 추정치를 제공하지만, 실제 지연 시간은 메모리 대역폭, 하드웨어 병렬 처리, PyTorch와 같은 소프트웨어 라이브러리의 효율성 등 FLOP이 포착하지 못하는 요소의 영향을 받습니다.

제한 사항

유용하지만 FLOP에는 한계가 있습니다:

  • 메모리 액세스 비용을 고려하지 않아 상당한 병목 현상이 발생할 수 있습니다.
  • 이러한 방식은 작업에서 가능한 병렬 처리의 정도를 포착하지 못합니다.
  • 실제 성능은 하드웨어별 최적화와 기본 소프트웨어 라이브러리(cuDNN, Intel MKL)의 효율성에 따라 크게 달라집니다.
  • 특정 작업(예: ReLU와 같은 활성화 함수)은 FLOP 수가 적지만 여전히 지연 시간에 영향을 줄 수 있습니다.

따라서 모델 효율성을 전체적으로 파악하려면 다른 성능 메트릭, 매개변수 및 실제 벤치마크와 함께 FLOP을 고려해야 합니다. 개발 및 배포 중에 모델을 관리하고 다양한 성능 측면을 추적하는 데 도움이 되는 도구로는 Ultralytics HUB와 같은 도구가 있습니다.

울트라 애널리틱스 커뮤니티 가입

AI의 미래와 함께하세요. 글로벌 혁신가들과 연결, 협업, 성장하기

지금 가입하기
링크가 클립보드에 복사됨