FLOPS란? AI 하드웨어의 연산 성능 숫자를 읽는 법
TL;DR
FLOPS는 컴퓨터가 1초에 처리하는 부동소수점 연산 수를 나타내는 성능 단위입니다. TFLOPS가 높으면 특정 숫자 형식의 계산 능력이 크다는 뜻이지만, 그 숫자만으로 AI 모델의 실제 학습·추론 속도를 확정할 수는 없습니다. 비교할 때는 FP32·FP16 같은 숫자 정밀도, 이론 최고치인지 실제 측정치인지, 메모리 대역폭과 소프트웨어 조건이 같은지 함께 봐야 합니다.
핵심 3줄 요약
- 핵심 1
FLOP은 한 번의 부동소수점 연산, FLOPS는 1초 동안 처리하는 연산 수를 가리킵니다. 1 TFLOPS는 초당 1조 번의 부동소수점 연산입니다. - 핵심 2
정밀도가 다르면 같은 TFLOPS 숫자도 바로 비교할 수 없습니다. FP32, TF32, FP16, BF16, FP8 성능은 각각 구분해 읽어야 합니다. - 핵심 3
높은 FLOPS가 곧 빠른 AI 제품을 뜻하지는 않습니다. 메모리, 모델 구조, 배치 크기, 프레임워크와 실제 지연 시간도 성능을 좌우합니다.
이 글에서 다룰 내용
- FLOPS의 한 문장 정의와 FLOP·TFLOPS의 차이
- 초당 연산 수를 이해하는 쉬운 예시
- 숫자 정밀도와 이론 최고치를 함께 읽는 법
- FLOPS, 처리량, 지연 시간, 메모리 대역폭의 차이
- AI 하드웨어와 클라우드 인스턴스 비교에 쓰는 방법
- FLOPS 수치를 볼 때 주의할 점
- 자주 묻는 질문과 공식 출처
FLOPS를 한 문장으로 정의하면 무엇인가요?
FLOPS는 Floating-Point Operations Per Second의 줄임말로, 컴퓨터가 1초에 수행하는 부동소수점 연산 수를 나타내는 계산 성능 단위입니다. 부동소수점은 소수점 위치를 움직여 매우 크거나 작은 값을 표현하는 숫자 방식입니다. AI 모델의 행렬 곱셈과 벡터 계산에는 이런 숫자 연산이 많이 쓰입니다.
FLOP과 FLOPS는 다음처럼 구분합니다.
- FLOP: 덧셈이나 곱셈 같은 부동소수점 연산 한 번 또는 연산량
- FLOPS: 1초에 처리한 부동소수점 연산 수
- GFLOPS: 초당 10억 번의 부동소수점 연산
- TFLOPS: 초당 1조 번의 부동소수점 연산
- PFLOPS: 초당 1,000조 번의 부동소수점 연산
NVIDIA의 성능 측정 문서는 곱셈과 덧셈을 한 명령으로 처리하는 FMA를 두 번의 연산으로 계산한다고 설명합니다. FLOPS 수치를 읽을 때는 제조사나 측정 도구가 어떤 연산을 어떻게 셌는지도 확인해야 합니다.
한 줄 정리: FLOPS는 AI가 얼마나 똑똑한지 재는 점수가 아니라, 하드웨어가 일정 시간에 처리할 수 있는 숫자 계산량을 나타내는 단위입니다.
쉬운 예시로 이해해 볼까요?
감자나라ai님이 로컬에서 이미지 생성 AI를 실행할 컴퓨터 두 대를 비교한다고 가정해 보겠습니다. A 컴퓨터의 GPU는 FP16 기준 100 TFLOPS, B 컴퓨터의 GPU는 같은 기준에서 80 TFLOPS라고 표시되어 있습니다.
이론상 A는 1초에 최대 100조 번, B는 최대 80조 번의 FP16 부동소수점 연산을 처리할 수 있다는 뜻입니다. 조건이 모두 같고 프로그램이 연산 장치를 충분히 활용한다면 A가 더 많은 계산을 수행할 가능성이 큽니다.
실제 이미지 생성 시간은 다를 수 있습니다. A의 메모리가 부족해 모델 일부를 시스템 메모리로 옮겨야 하거나, B의 소프트웨어 최적화가 더 잘되어 있으면 표시된 TFLOPS 순서와 실제 속도 순서가 달라질 수 있습니다. 모델이 메모리에서 데이터를 가져오는 데 시간을 많이 쓴다면 계산 장치가 남아도는 경우도 생깁니다.
쉬운 예시: FLOPS는 주방에서 1초에 할 수 있는 칼질 횟수와 비슷합니다. 재료가 늦게 도착하거나 조리 순서가 엉키면 칼질이 빨라도 음식은 늦게 나옵니다.
AI에서 FLOPS가 왜 중요한가요?
첫째, 하드웨어의 계산 능력을 비교할 출발점이 됩니다. GPU, AI 가속기와 서버 사양에는 FP32, FP16, BF16 같은 형식별 성능이 표시될 수 있습니다. 같은 숫자 형식과 같은 측정 기준이라면 연산 처리 능력의 규모를 가늠할 수 있습니다.
둘째, 모델 학습과 추론에 필요한 계산 자원을 추정하는 데 쓰입니다. 모델이 수행하는 연산량과 장치가 실제로 내는 처리 성능을 알면 작업 시간의 대략적인 범위를 계산할 수 있습니다. 다만 장치의 이론 최고 FLOPS를 그대로 나누면 실제 시간을 과도하게 낙관할 수 있습니다.
셋째, 숫자 정밀도에 따른 성능 차이를 이해하게 해 줍니다. 같은 장치도 FP32보다 FP16이나 BF16에서 더 높은 연산 성능을 낼 수 있습니다. 낮은 정밀도를 쓰면 계산량과 메모리 사용을 줄일 수 있지만, 모델 품질과 수치 안정성이 필요한 수준을 만족하는지 별도로 검증해야 합니다.
넷째, 광고 문구와 실제 운영 지표를 구분하는 데 도움을 줍니다. 제품 사양표의 최고 TFLOPS는 특정 연산, 정밀도와 이상적인 조건에서 나온 값일 수 있습니다. 사용자가 체감하는 답변 속도는 첫 토큰 지연 시간, 초당 토큰 수, 동시 사용자 수와 모델 품질에 더 직접적으로 드러납니다.
다섯째, 성능 병목을 찾을 때 기준점이 됩니다. 실제 측정 FLOPS가 이론 최고치보다 낮다고 해서 하드웨어가 고장 난 것은 아닙니다. 메모리 대역폭, 데이터 이동, 작은 배치, 연산 종류와 프로그램 최적화가 계산 장치 사용률을 제한할 수 있습니다.
핵심 인사이트: FLOPS는 계산 능력의 한 축입니다. AI 시스템을 고를 때는 같은 정밀도의 연산 성능과 실제 모델의 속도·품질·메모리 사용을 함께 비교해야 합니다.
숫자 정밀도는 왜 함께 봐야 하나요?
FP32
FP32는 32비트 부동소수점 형식입니다. 모델 학습, 과학 계산과 품질 검증에서 널리 쓰이지만 더 낮은 정밀도보다 메모리 사용량과 계산 부담이 클 수 있습니다.
TF32
TF32는 NVIDIA Tensor Core에서 행렬 계산을 빠르게 처리하기 위해 사용하는 형식입니다. 이름에 32가 들어가도 FP32와 표현 방식과 계산 경로가 같지 않으므로 TF32 TFLOPS와 FP32 TFLOPS를 같은 값처럼 비교하면 안 됩니다.
FP16과 BF16
FP16과 BF16은 16비트 부동소수점 형식입니다. AI 학습과 추론에서 속도와 메모리 효율을 높이는 데 자주 쓰입니다. 두 형식은 지수와 유효숫자에 배분하는 비트가 달라 표현 범위와 정밀도 특성이 다릅니다.
FP8과 그보다 낮은 정밀도
일부 최신 AI 가속기는 FP8이나 더 낮은 정밀도의 연산 성능도 따로 표시합니다. 숫자가 작을수록 무조건 좋은 것은 아닙니다. 해당 모델과 소프트웨어가 그 형식을 지원하는지, 필요한 품질을 유지하는지 확인해야 합니다.
INT8
INT8은 8비트 정수 형식이므로 엄밀히 말해 부동소수점 연산 성능인 FLOPS와 구분합니다. 제품 사양표에서 TOPS 또는 별도의 정수 연산 성능으로 표시될 수 있습니다.
실전 팁: 사양표의 가장 큰 숫자만 보지 말고 숫자 옆의 FP32, TF32, FP16, BF16, FP8, INT8 표기를 먼저 확인하세요. 같은 정밀도와 같은 희소성 조건에서 비교해야 의미가 있습니다.
헷갈리는 용어와 무엇이 다른가요?
FLOP과 FLOPS의 차이
FLOP은 부동소수점 연산 한 번 또는 전체 연산량을 나타냅니다. FLOPS는 그 연산을 1초에 몇 번 처리하는지 나타냅니다. 모델 한 번 실행에 필요한 100 GFLOP과 장치 성능 10 TFLOPS는 서로 다른 종류의 수치입니다.
FLOPS와 TOPS의 차이
FLOPS는 부동소수점 연산을 기준으로 합니다. TOPS는 보통 초당 1조 번의 연산이라는 더 넓은 표현이며 NPU나 정수 연산 성능 설명에 자주 등장합니다. TOPS는 연산 종류와 숫자 형식을 확인하지 않으면 장치끼리 직접 비교하기 어렵습니다.
FLOPS와 처리량의 차이
처리량은 일정 시간에 완료한 실제 작업 수입니다. AI 서비스에서는 초당 요청 수, 초당 토큰 수나 시간당 이미지 수로 표시할 수 있습니다. FLOPS가 높아도 소프트웨어와 메모리가 병목이면 실제 처리량은 기대보다 낮을 수 있습니다.
FLOPS와 지연 시간의 차이
지연 시간은 요청 하나가 완료되기까지 걸린 시간입니다. 대규모 배치로 장치를 채우면 전체 처리량은 좋아져도 개인 사용자의 대기 시간이 길어질 수 있습니다. 실시간 챗봇은 첫 토큰 지연 시간과 토큰 생성 속도를 따로 봅니다.
FLOPS와 메모리 대역폭의 차이
메모리 대역폭은 장치가 일정 시간에 데이터를 옮기는 능력입니다. 모델의 가중치와 중간 결과를 충분히 빠르게 공급하지 못하면 계산 장치의 FLOPS를 모두 활용할 수 없습니다. 대형 언어 모델 추론은 계산 성능뿐 아니라 메모리 용량과 대역폭의 영향을 크게 받을 수 있습니다.
비교 정리: FLOPS는 계산 처리 능력, 처리량은 완료한 작업의 양, 지연 시간은 작업 하나의 대기 시간, 메모리 대역폭은 계산에 필요한 데이터를 옮기는 속도입니다.
실전에서는 어떻게 사용하나요?
로컬 AI용 GPU를 고를 때
같은 정밀도에서 TFLOPS를 비교하되 메모리 용량, 대역폭, 지원 소프트웨어와 전력 사용량을 함께 봅니다. 모델이 메모리에 들어가지 않으면 높은 연산 성능을 충분히 활용하기 어렵습니다.
클라우드 AI 인스턴스를 비교할 때
가속기 한 개의 최고 FLOPS만 보지 말고 시간당 비용, 장치 수, 장치 사이의 통신, 제공되는 프레임워크와 실제 모델 벤치마크를 확인합니다. 같은 작업을 같은 품질 기준으로 완료하는 총비용이 더 중요한 경우가 많습니다.
모델 학습 계획을 세울 때
모델과 데이터의 예상 연산량, 장치의 실제 활용률, 통신과 저장 시간까지 넣어 학습 시간을 추정합니다. MLCommons의 MLPerf Training은 목표 품질에 도달하는 실제 시간을 측정하므로 하드웨어 사양 숫자와 다른 관점의 비교 자료가 됩니다.
생성형 AI 추론을 운영할 때
FLOPS와 함께 초당 토큰 수, 첫 토큰 지연 시간, 동시 요청 처리량, 메모리 사용량과 답변 품질을 기록합니다. MLPerf Inference도 모델·데이터·정확도 기준과 지연 시간 조건을 함께 두고 시스템 성능을 비교합니다.
성능 최적화 전후를 확인할 때
같은 장치와 작업에서 실제 달성 FLOPS를 측정하면 최적화 전후의 계산 장치 활용 변화를 볼 수 있습니다. 값이 낮다면 메모리 이동, 작은 작업 크기, 지원되지 않는 연산이나 코드 경로를 함께 점검합니다.
FLOPS 수치를 볼 때 무엇을 주의해야 하나요?
첫째, 이론 최고치와 실제 측정치를 섞지 않습니다. 사양표의 Peak FLOPS는 이상적인 조건의 최대치입니다. 실제 애플리케이션이 지속적으로 내는 성능은 더 낮을 수 있습니다.
둘째, 숫자 정밀도와 희소성 조건을 확인합니다. FP32 성능과 FP8 성능은 바로 비교할 수 없습니다. 구조적 희소성을 적용한 수치인지도 확인해야 합니다.
셋째, FLOPS가 모델 품질을 보장한다고 생각하지 않습니다. 더 많은 계산이 가능한 장치라도 모델, 데이터와 평가 방법이 나쁘면 좋은 답을 만들지 못합니다.
넷째, 하드웨어 한 부품의 숫자로 전체 시스템을 판단하지 않습니다. CPU, 메모리, 저장장치, 장치 간 통신, 드라이버와 프레임워크가 함께 작동해야 합니다.
다섯째, 서로 다른 제조사의 표를 비교할 때 측정 조건을 맞춥니다. 연산 종류, 정밀도, 클록, 전력 설정과 소프트웨어 버전이 다르면 숫자의 의미도 달라집니다.
여섯째, 자신의 모델과 사용 시나리오로 확인합니다. 챗봇, 이미지 생성, 학습과 배치 추론은 병목이 다릅니다. 공개 벤치마크를 참고하되 최종 선택 전에는 실제 작업으로 시험하는 편이 안전합니다.
주의: “몇 TFLOPS인가”는 첫 질문이지 최종 결론이 아닙니다. 같은 정밀도의 수치인지 확인한 뒤 실제 지연 시간, 처리량, 품질, 메모리와 비용까지 이어서 봐야 합니다.
자주 묻는 질문
Q1. FLOPS가 높으면 AI 답변도 더 정확한가요?
아닙니다. FLOPS는 계산 성능 단위입니다. 답변 정확도와 품질은 모델, 데이터, 프롬프트, 검색 근거와 평가 방법에 달려 있습니다. 높은 FLOPS는 같은 작업을 더 빠르게 처리할 가능성을 보여 줄 뿐입니다.
Q2. TFLOPS가 두 배면 AI 속도도 두 배인가요?
반드시 그렇지는 않습니다. 계산이 주된 병목이고 다른 조건이 같다면 속도가 좋아질 수 있습니다. 메모리 대역폭, 통신, 소프트웨어와 배치 크기가 병목이면 실제 향상 폭은 더 작을 수 있습니다.
Q3. FP16 TFLOPS와 FP32 TFLOPS를 비교해도 되나요?
같은 성능 지표로 바로 비교하면 안 됩니다. 숫자 표현 방식과 지원하는 계산 경로가 다릅니다. 장치끼리 비교할 때는 같은 정밀도와 같은 조건의 수치를 사용해야 합니다.
Q4. FLOPS와 모델의 FLOPs는 같은 뜻인가요?
관련은 있지만 단위가 다릅니다. 모델의 FLOPs는 보통 한 번의 실행이나 학습 단계에 필요한 전체 부동소수점 연산량을 나타냅니다. 장치의 FLOPS는 그 연산을 1초에 얼마나 처리하는지 나타냅니다.
Q5. AI용 컴퓨터를 살 때 FLOPS보다 먼저 볼 것은 무엇인가요?
실행하려는 모델이 메모리에 들어가는지 먼저 확인하는 편이 좋습니다. 그다음 같은 정밀도의 FLOPS, 메모리 대역폭, 소프트웨어 지원, 실제 벤치마크, 전력과 비용을 함께 비교합니다.
출처
마무리
FLOPS는 컴퓨터가 1초에 처리하는 부동소수점 연산 수를 나타냅니다. AI 하드웨어의 계산 능력을 비교하는 데 유용하지만 숫자 정밀도와 측정 조건이 같아야 의미가 있습니다. 이론 최고치만으로 실제 모델 속도까지 판단하지 말고 처리량, 지연 시간, 메모리, 소프트웨어와 품질을 함께 확인해야 합니다.
감자나라ai님이 AI용 GPU나 클라우드 가속기 사양을 본다면 가장 큰 TFLOPS 숫자보다 그 옆의 FP32·FP16·FP8 표기를 먼저 확인해 보세요. 이어서 같은 모델의 실제 벤치마크와 메모리 조건을 대조하면 사양표의 숫자를 운영 판단에 더 안전하게 쓸 수 있습니다.
