AI: 네트워크 구조 – FLOPs

ㅁ 네트워크 구조

ㅇ 정의:
연산량을 측정하는 지표로, 모델이 수행하는 부동소수점 연산(Floating Point Operations)의 총 개수를 의미함. 주로 딥러닝 모델의 복잡도와 연산 효율성을 평가하는 데 사용됨.

ㅇ 특징:
– 모델 구조와 입력 크기에 따라 달라짐
– FLOPs가 낮을수록 일반적으로 연산 속도가 빠르고 경량화에 유리함
– 하드웨어 성능과 직접적으로 비례하지 않을 수 있음 (메모리 대역폭, 병렬 처리 효율 등 영향)

ㅇ 적합한 경우:
– 모델 경량화 비교 지표로 사용
– 하드웨어 배포 전 연산 복잡도 사전 평가
– 모바일/임베디드 환경에서 성능 최적화 판단

ㅇ 시험 함정:
– FLOPs와 파라미터 수를 혼동하는 경우
– FLOPs가 낮아도 실제 추론 속도가 느릴 수 있음 (I/O 병목, 메모리 접근 지연 등)
– FLOPs 단위 표기(TFLOPs, GFLOPs 등) 변환 실수

ㅇ 시험 대비 “패턴 보기” 예시:
– O: “FLOPs는 모델이 수행하는 부동소수점 연산 횟수를 나타내는 지표이다.”
– X: “FLOPs는 모델의 총 파라미터 수를 의미한다.”
– O: “FLOPs가 낮을수록 일반적으로 연산 속도가 빠르다.”
– X: “FLOPs가 낮으면 항상 추론 속도가 빨라진다.”

ㅁ 추가 학습 내용

FLOPs는 주로 모델의 복잡도를 비교하는 지표로 사용되지만, 실제 성능을 평가할 때는 메모리 접근 패턴, 병렬화 가능성, 하드웨어 가속기 특성까지 함께 고려해야 한다. 시험에서는 FLOPs와 MACs의 차이를 물을 수 있다. FLOPs는 부동소수점 연산 횟수를 의미하며, MACs는 곱셈-덧셈 연산을 한 번으로 계산한다. 1 MAC은 2 FLOPs로 환산할 수 있다는 점이 중요하다. FLOPs 계산 시에는 입력 크기, 커널 크기, 채널 수, 레이어 수에 따라 값이 달라진다. 따라서 CNN, Transformer 등 구조별 FLOPs 계산 방식의 차이를 이해해야 한다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*