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

FLOPs

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

FLOPs(Floating-Point Operations)는 머신 러닝(ML)에서 모델의 계산 복잡도를 측정하는 데 사용되는 기본적인 지표입니다. 부동 소수점 연산은 신경망에서 표준으로 사용되는 소수점이 있는 숫자를 포함하는 덧셈, 뺄셈, 곱셈 또는 나눗셈과 같은 모든 수학적 계산입니다. 이 용어는 초당 연산 수를 기술적으로 지칭할 수 있지만, 딥 러닝의 맥락에서 FLOPs는 일반적으로 모델의 단일 순방향 패스에 필요한 이러한 연산의 총 횟수를 정량화합니다. 이 지표는 추론 중에 모델이 얼마나 많은 계산을 필요로 하는지 추정할 수 있는 하드웨어에 구애받지 않는 방법을 제공합니다. 이 숫자는 종종 매우 커서 수십억 번의 연산인 GigaFLOPs(GFLOPs) 또는 수조 번의 연산인 TeraFLOPs(TFLOPs)로 표현됩니다.

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

FLOPs는 모델 효율성의 중요한 지표입니다. 일반적으로 FLOPs 수가 적을수록 모델 실행 속도가 빠르고 필요한 컴퓨팅 성능이 적다는 것을 의미합니다. 이는 엣지 AI 및 모바일 장치와 같이 리소스가 제한된 애플리케이션에서 특히 중요합니다. FLOPs를 분석함으로써 개발자는 다음을 수행할 수 있습니다.

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

실제 애플리케이션

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

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

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

FLOPs vs. 관련 지표

FLOPs를 다른 일반적인 지표와 구별하는 것이 중요합니다.

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

제한 사항

유용하지만 FLOP에는 다음과 같은 제한 사항이 있습니다.

  • 메모리 접근 비용을 고려하지 않는데, 이는 상당한 병목 현상이 될 수 있습니다.
  • 이러한 방식으로는 작업에서 가능한 병렬 처리 수준을 제대로 파악할 수 없습니다.
  • 실제 성능은 하드웨어별 최적화 및 기본 소프트웨어 라이브러리(cuDNN, Intel MKL)의 효율성에 크게 좌우됩니다.
  • 특정 연산(예: ReLU와 같은 활성화 함수)은 FLOP 수가 적지만 여전히 대기 시간에 영향을 줄 수 있습니다.

따라서 FLOP는 모델 효율성에 대한 완전한 그림을 위해 다른 성능 지표, 매개변수 및 실제 벤치마크와 함께 고려해야 합니다. Ultralytics HUB와 같은 도구는 개발 및 배포 중에 모델을 관리하고 다양한 성능 측면을 추적하는 데 도움이 될 수 있습니다.

Ultralytics 커뮤니티에 참여하세요

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

지금 참여하기
클립보드에 링크가 복사되었습니다.