중국에서의 UE8M0 FP8 채택을 계기로, AI에서 짧아지는 부동소수점 형식의 역사와 목적, UE8M0의 연산 특성과 트로피컬/아틱 세미링과의 연결, 하드웨어·학습/추론에서의 의미를 짚고, Cambricon 주가 급등과 중국 생태계의 오픈소스 강점을 논한다. 서두에는 던위치 히스와 중세 홍수의 역사를 담았다.
2025년 8월 30일
이맘때는 히더(heather)와 고스(gorse)가 꽃을 피운다. 던위치 히스의 풍경. 한때 이곳에는 당시 런던에 맞먹는 규모의 항구가 있었지만, 1286년과 1287년의 폭풍으로 수백 채의 집이 휩쓸린 뒤 쇠퇴했고, 1362년 그로테 만드렌케 홍수로 파괴되었다. 이 홍수로 북해 일대에서 25,000명이 익사했다.
나는 케빈 쉬(Kevin Xu)의 글 The real Deepseek moment just arrived (중국에서 무슨 일이 벌어지는지 이해하려면 필독) 을 읽다가, Deepseek이 UE8M0 FP8을 채택했고 중국의 대표적 GPU 기업인 Cambricon이 이를 하드웨어로 지원하고 있다는 언급을 보았다.
나는 한동안 놀라울 정도로 작아져 온 AI 부동소수점 형식을 지켜보고 있었지만, 이건 내게도 새로운 형식이었다. AI 바깥에서는 이런 형식들이 대체로 생소하다. 내가 HPC(고성능 컴퓨팅)에서 일할 때는 모두가 64비트 부동소수점을 사랑했고, 32비트 부동소수점은 경시하곤 했다. 그들의 알고리즘이 수치적으로 안정적이지 않을 수 있었기 때문이다. Power와 Z 아키텍처는 128비트 부동소수점을 추가 지원했는데, 지수 15비트와 113비트 정밀도를 갖는다.
AI는 전송 목적(메모리 대역폭이 제한 요소이므로 더 작은 저장 형식이 유용)과 연산상의 이유로 더 짧은 부동소수점 형식을 밀어왔다. 두 개의 16비트 부동소수점 연산에 필요한 하드웨어 양은 32비트 한 번과 매우 비슷하기 때문이다. 실제로 대부분의 하드웨어를 재사용해 둘 다 수행하도록 만들 수 있다. 정수의 경우가 가장 이해하기 쉬운데, 둘로 쪼개기 위해 두 절반 사이의 자리올림(carry)을 끊으면 된다. 벡터 레지스터가 바로 이렇게 동작하며, 동일한 벡터 레지스터에서 8, 16, 32, 64비트 연산을 지원한다.
가장 먼저 널리 쓰이게 된 형식은 fp32를 절단(truncate)해 지수는 그대로 두고 정밀도만 줄인 것이었다. 이는 계산이 fp32로만 가능하더라도 전송 형식으로 쓰기 쉬웠다. 그냥 절단하거나 반올림하면 됐다. 하지만 16비트도 여전히 크다고 여겨져, fp8과 fp4 같은 형식이 등장했고, 중간 단계인 fp6도 있었다. 한동안은 1비트 숫자로 작업하기도 했다.
이 모든 경우에서, 고전적 부동소수점이 가수부의 정밀도가 중요한 것과 달리 지수부가 지배적이 되는 경향이 있다. 그리고 바로 거기에서 UE8M0가 등장한다. 이는 부호 없음(unsigned), 8비트 지수(exponent), 0비트 가수(mantissa)를 뜻한다. 즉 암시적 1의 가수만 있는 순수 지수 표현이다. 지수에는 오프셋(바이어스)을 둘 수 있는데, 오프셋이 없으면 2^0부터 2^255까지, 오프셋을 두면 보통 2^-127부터 2^128까지의 수를 나타낼 수 있다. 산술은 꽤 재미있어지는데, 곱셈은 지수의 덧셈이 된다. 이 형식에서는 곱하려면 그냥 지수들을 더하면 되며, 이는 값싼 int8 덧셈이다. 예를 들어 2^n + 2^n은 2^(n+1)이 되고, 2^n + 2^(n-1)은 반올림되어 2^(n+1)이 되지만 2^n + 2^(n-2)는 2^n으로 반올림된다. 이 연산은 거의 max()에 가깝고, 때로 1을 더하는 정도이므로, 곱셈과 덧셈은 각각 덧셈과 최댓값 연산에 거의 대응한다. 덧셈은 잠재적으로 손실이 클 수 있어 종종 더 높은 정밀도의 형식에서 연산한 뒤 변환하거나, 다른 기법을 쓰기도 한다.
상상할 수 있듯이, 이는 사실상 정수 하드웨어만 필요하므로 널리 지원되며 Nvidia에서도 사용 가능하다. 현재로서는 주로 추론이 아니라 학습용 형식이다. 부동소수점은 수학자들이 좋아하는 수 체계와는 좀 다른, 묘한 물건이지만 유용하다. 그리고 정밀도 트레이드오프가 다른 이런 종류의 수를 앞으로 얼마나 더 다양한 방식으로 활용하게 될지 궁금하다.
실은, 이런 구문은 꽤 오래전부터 있었다. 최소와 덧셈을 연산으로 갖는 세미링은 브라질에 살던 한 헝가리 출신 컴퓨터 과학자를 기려 열대 세미링(tropical semiring)이라고 불린다. 덧셈과 최댓값을 연산으로 쓰는 UE8M0 버전은 max tropical semiring, 또는 물론, 북극(아틱) 세미링이라고도 한다.
어쨌든 Cambricon의 주가는 30% 올랐다. 중국의 칩메이커들이 TSMC 대비 갖는 공정상의 열세를 부동소수점 형식으로 상쇄할 수 있다는 베팅 때문이다. 아마 시장을 움직일 적절한 촉매는 아니었을 것이다. 지금 중국이 생태계 전반에 확산시키고 있는 큰 강점은 오픈 소스다.