“엑사플롭 마케팅의 함정” 고성능 컴퓨팅 성능 기준 FLOP의 이해
컨텐츠 정보
- 조회 497
본문
톱500 슈퍼컴퓨터 목록이 새로 발표되고, 솔루션 업체는 늘 하던 대로 자화자찬과 성능 자랑을 쏟아낸다. 플롭(FLOP, floating‑point operation) 이야기가 넘쳐나는 상황에서 혼란과 마케팅 표현을 걷어내 핵심만 정리해 본다.
플롭은 부동소수점 연산 1회를 뜻하며, 소수점이 있는 숫자를 대상으로 한 번의 산술 계산(덧셈, 뺄셈, 곱셈, 나눗셈)을 의미한다. 컴퓨팅 벤치마킹에서 정수보다 부동소수점을 쓰는 이유는 정수보다 측정 지표로서 정확도가 훨씬 높기 때문이다.
플롭 앞에는 1초 동안 수행하는 연산 횟수를 나타내는 접두어가 붙으며, 메가플롭(1초당 100만 회)부터 기가플롭(10억), 테라플롭(1조), 페타플롭(1천조), 그리고 최근에는 엑사플롭(100경)까지 확장됐다. 최근 몇 년 동안 업계가 엑사플롭 달성 경쟁에 매달린 이유는 마법 같은 성능 도약이나 대발견 때문이 아니라, 단지 자랑거리를 위한 것이었다.
컴퓨팅에서 부동소수점 정밀도는 FP4, 즉 4비트 부동소수점에서 시작해 FP64까지 두 배씩 커진다. 이론적으로 FP128도 있지만, 지표로는 사실상 쓰지 않는다. FP64는 IEEE 754 표준에 따른 64비트 배정밀도(double-precision) 부동소수점 형식으로도 불리며, 실수를 높은 정확도로 표현하기 위한 규격이다.
FP64는 정밀도가 높기 때문에 계산하는 데 가장 많은 시간이 필요하다. FP64 계산 시간은 FP32의 2배, FP16의 4배가 걸리지만, 계산 정확도는 FP32의 2배, FP16의 4배에 해당한다. 메모리 사용량도 같은 원리로 FP64가 FP32의 2배, FP16의 4배를 사용한다.
매년 6월과 11월에 집계·발표되는 톱500 슈퍼컴퓨터 목록은 슈퍼컴퓨터 성능을 FP64 기준으로 측정하며, 슈퍼컴퓨터에 가장 가혹한 스트레스 테스트로 통한다.
톱500 목록이 32비트나 16비트가 아니라 64비트로 측정되는 이유는 톱500 목록이 과학 컴퓨팅 애플리케이션의 대리 지표이며 과학 컴퓨팅 애플리케이션이 여전히 계산에서 64비트 정확도에 주로 의존하기 때문이다. HPC·슈퍼컴퓨팅 전문 시장조사업체 인터섹트 360의 CEO 애디슨 스넬은 “일부 영역에서 정밀도를 낮춰 속도를 더 낼 수 있지 않느냐는 지적도 있고 중요하지 않은 영역에서 과도한 계산을 하고 있지 않느냐는 질문도 나오지만, 과학 컴퓨팅에서는 64비트가 여전히 사실상 표준이다”라고 말했다.
스넬은 FP64가 과학 컴퓨팅의 거의 모든 분야에서 쓰인다고 말했다. 연구 영역에서는 유체가 포함돼 높은 정확도로 모델링해야 하는 기상 시뮬레이션이나 해양 모델링이 포함된다. 또한, 자동차 충돌 시뮬레이션, 항공기 날개 공력 분석, 석유 시추 지점을 찾기 위한 탄성파 분석, 신약 설계를 위한 분자 모델링 같은 폭넓은 상용 애플리케이션에도 적용된다. 이런 애플리케이션은 계산을 위해 높은 수준의 과학적 정밀도를 요구한다고 말했다.
그 다음 단계는 FP32, 즉 단정밀도 부동소수점이다. FP32는 생명과학 시뮬레이션과 금융 모델링에도 쓰이며, 모델 요구 수준이 그리 엄격하지 않아 FP32를 써도 되는 경우에 주로 사용된다.
FP16은 AI 추론에서 일상적으로 쓰이지만, AI 학습은 FP64에 전적으로 의존한다. 이유는 간단하다. 예를 들어 AI로 개나 고양이 이미지를 구분하도록 학습시킨다고 가정해 보자. 개나 고양이를 구성하는 특징을 인식하려면 FP64의 미세한 정밀도가 필요하다. 학습이 끝나면 작업은 패턴 매칭으로 바뀌며, 개 이미지인지 고양이 이미지인지 판단하는 데는 덜 부담스러운 FP16으로도 충분하다. 스넬은 언어 학습이나 인식에서도 비슷하게, 말할 때 단어 하나를 약간 틀리게 발음해도 AI는 대체로 의도를 파악한다고 설명했다.
16비트 정밀도에는 bfloat16이라는 두 번째 형태도 있다. bfloat는 구글의 텐서 프로세서용으로 처음 개발됐지만, 이후 인텔과 AMD, 엔비디아에 라이선스를 제공했다. bfloat는 유연한 가변 형식인 반면 FP16은 매번 동일한 16비트 형식이다. 스넬은 “기술적으로 복잡하지만 결론은 bfloat가 FP16보다 정밀도는 낮고 속도는 더 빠르기 때문에 주요 칩 업체가 모두 bfloat를 쓴다”라고 설명했다.
마지막으로 FP8과 FP4가 있다. FP8은 정밀도 요구가 낮은 추론 처리 연산에 사용한다. 또 다른 핵심 용도는 오류 허용도가 더 높은 신경망 학습이다. 연산 부담이 적은 작업을 수행하는 엣지 컴퓨팅에서도 쓰인다. FP8은 GPU에서만 쓰이며, 인텔과 AMD 프로세서에서는 쓰지 않는다.
페타플롭과 엑사플롭이 마케팅 용어가 되면서, 일부 하드웨어 업체는 벤치마크에서 어떤 부동소수점 정밀도를 사용하는지 성실하게 공개하지 않기도 한다. 스넬은 “엑사스케일 성능을 내세워 홍보한 뒤, 작은 글씨로 FP8 기준이라는 점을 적는 경우도 드물지 않다”라고 지적했다.
스넬은 “예전에는 누군가 엑사플롭 성능이라고 말하면 64비트 과학 컴퓨팅 기준의 엑사플롭을 의미한다고 확신할 수 있었지만, 지금은 그렇지 않다. 특히, AI 분야에서는 플롭 수치 뒤에서 무엇이 돌아가는지, 어떤 정밀도를 전제로 한 수치인지 확인해야 한다”라고 강조했다.
‘총합 AI 플롭’이라고 말하면서도 플롭의 기준이 무엇인지, 정밀도가 무엇인지 표준 정의가 전혀 없는 경우도 있다. 스넬은 “개별 컴퓨터를 섞어 놓고 한쪽은 한 방식으로, 다른 쪽은 다른 방식으로 측정해 합산하기 시작하면 의미가 없어진다. 이제는 정밀도가 무엇인지 반드시 물어봐야 하는 세상이 됐다”라고 덧붙였다.
dl-itworldkorea@foundryco.com
관련자료
-
링크
-
이전
-
다음





