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

FLOPs

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

부동 소수점 연산, 즉 플롭은 머신 러닝 모델의 계산 복잡성을 정량화하는 기본 지표로서 머신 러닝 모델, 특히 계산 복잡성을 정량화하는 기본 지표입니다. 이 측정은 더하기, 빼기, 곱하기와 같은 수학 연산의 총 수를 계산합니다, 덧셈, 뺄셈, 곱셈, 나눗셈과 같은 10진수를 포함하는 수학 연산의 총 수를 계산합니다. 신경망. FLOPs 수를 결정함으로써 엔지니어는 모델을 실행하는 데 필요한 처리 능력을 예측할 수 있으며, 이는 하드웨어 선택 및 최적화에 중요한 통계입니다. 파일 크기나 매개변수 수와는 구별되지만, FLOPs는 모델이 얼마나 "무거운"지에 대한 이론적 기준을 제공합니다. 모델이 얼마나 "무거운지", 즉 프로세서의 에너지 소비 및 실행 속도와 직접적인 상관관계가 있습니다. 프로세서 CPU 또는 GPU.

AI 개발에서 플롭의 중요성

효율적인 AI 개발을 위해서는 모델의 계산 비용을 이해하는 것이 필수적입니다. 필수적입니다. 낮은 FLOPs 수가 낮다는 것은 일반적으로 모델이 예측을 생성하는 데 필요한 계산 횟수가 적다는 것을 의미하며, 이는 리소스가 제한된 환경에서는 리소스가 제한된 환경에서 중요합니다.

  • 하드웨어 선택: FLOP을 알면 개발자는 모델을 특정 하드웨어의 성능에 맞출 수 있습니다. 특정 하드웨어의 기능에 모델을 맞출 수 있습니다. 또는 표준 임베디드 마이크로컨트롤러와 같은 특정 하드웨어의 성능에 모델을 맞출 수 있습니다.
  • 모델 효율성: 아키텍처를 비교할 때, 예를 들어 YOLO11 성능 메트릭, FLOPs 은 정확도와 함께 효율성을 측정할 수 있는 하드웨어에 구애받지 않는 방법을 제공합니다.
  • 에너지 소비: 배터리로 구동되는 디바이스에서 FLOP을 줄이면 프로세서가 프레임당 수행하는 작업량이 줄어들기 때문에 배터리 수명 연장으로 직결됩니다.

실제 애플리케이션

FLOP의 실질적인 영향은 모델이 연구 환경에서 지연 시간과 전력이 제한적인 프로덕션 환경으로 이동할 때 및 전력이 제한적인 프로덕션 환경으로 이동할 때 가장 두드러집니다.

  1. 스마트폰 물체 감지: 실시간 추론을 수행하는 모바일 애플리케이션의 경우 실시간 추론을 수행하는 모바일 애플리케이션의 경우, 디바이스는 배터리 소모 없이 비디오 프레임을 과열되거나 배터리를 소모하지 않고 즉시 처리해야 합니다. 개발자는 다음과 같은 경량 모델을 선택할 수 있습니다. 나노 버전 YOLO11 과 같은 경량 모델을 선택할 수 있는데, 그 이유는 낮은 플롭스 수 를 통해 다음과 같은 모바일 프로세서에서 원활한 성능을 보장하기 때문입니다. 퀄컴 스냅드래곤 또는 애플 실리콘.
  2. 자율 드론 항법: 정밀 농업에 사용되는 드론 정밀 농업에 사용되는 드론은 온보드 컴퓨터를 사용하여 장애물을 detect 지형을 매핑합니다. 이러한 장치에는 엄격한 무게 제한으로 인해 배터리 크기, 엔지니어는 필요한 물체 감지 기능을 유지하면서 비행 시간을 최대화하기 위해 낮은 FLOP을 최적화합니다. 물체 감지 기능을 유지합니다.

Python 플롭 계산하기

기본 제공 프로파일링 도구를 사용하여 Ultralytics 모델의 계산 복잡도를 확인할 수 있습니다. 다음 다음 스니펫은 모델을 로드하고 특정 입력 크기에 필요한 FLOP을 계산합니다.

from ultralytics import YOLO

# Load the YOLO11 nano model
model = YOLO("yolo11n.pt")

# Profile the model to see FLOPs, parameters, and speed
# The 'imgsz' argument defines the input resolution (e.g., 640x640)
model.profile(imgsz=640)

이 메서드는 매개 변수 수, 기울기 및 GFLOP(기가플롭, 또는 수십억 회 연산)을 포함한 요약 테이블을 출력하여 모델이 배포 제약 조건에 맞는지 평가하는 데 도움이 됩니다. 배포 제약 조건에 맞는지 평가하는 데 도움이 됩니다.

FLOPs vs. 관련 지표

FLOP은 모델 크기와 속도를 설명하는 다른 메트릭과 구별하는 것이 중요합니다. 성능의 다른 측면을 측정하기 때문입니다.

  • 파라미터와 플롭 비교: 모델 가중치 또는 모델 가중치 또는 매개변수는 모델을 저장하는 데 필요한 메모리(RAM)가 얼마나 필요한지를 정의합니다. 이와 대조적으로 FLOP은 모델을 실행하는 데 필요한 계산 작업을 측정합니다. A 모델은 저장 공간은 작지만 다음과 같이 매개 변수를 자주 재사용하는 경우 계산 비용이 많이 들 수 있습니다. 순환 신경망(RNN).
  • MAC과 FLOP: 하드웨어 사양은 종종 다음을 참조합니다. 곱하기-누적 연산(MAC). 하나의 MAC은 일반적으로 곱셈과 덧셈을 포함하며, 두 개의 부동소수점 연산으로 계산됩니다. 따라서 1기가맥은 대략 2기가플롭에 해당합니다.
  • 지연 시간 대 FLOP: FLOP은 이론적 노력을 나타내는 반면, 추론 지연 시간은 입력을 처리하는 데 걸리는 실제 시간( 밀리초)를 의미합니다. 지연 시간은 FLOP의 영향을 받을 뿐만 아니라 메모리 대역폭, 소프트웨어 최적화 라이브러리 TensorRT와 같은 소프트웨어 최적화 라이브러리, 하드웨어 아키텍처의 영향을 받습니다.

메트릭의 한계

FLOP은 유용한 기준선을 제공하지만 모델 성능의 모든 것을 알려주지는 않습니다. 다음 사항을 고려하지 않습니다. 메모리 액세스 비용(데이터를 프로세서로 이동하는 데 드는 에너지와 시간)은 고려하지 않습니다. 메모리 액세스 비용을 고려하지 않습니다. 또한, 작업 활성화 함수(예: ReLU)와 같은 연산 또는 정규화 레이어와 같은 연산은 FLOP 수가 적지만 여전히 시간을 소모합니다. 따라서 FLOP은 실제 벤치마킹과 함께 다음과 같은 대상 하드웨어에서 실제 벤치마킹과 함께 사용해야 합니다. 라즈베리 파이와 같은 대상 하드웨어에서 실제 벤치마킹과 함께 사용해야 정확한 성능.

Ultralytics 커뮤니티 가입

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

지금 참여하기