딥러닝과 과학 계산의 성능을 떠받치는 것은 GPU에 내장된 전용 행렬 곱셈 유닛이다. AMD는 이를 매트릭스 코어(Matrix Core), NVIDIA는 텐서 코어(Tensor Core)라고 부른다. 그런데 이 하드웨어들이 수행하는 저정밀 행렬 곱셈은 우리가 흔히 신뢰하는 IEEE 754 부동소수점 표준을 따르지 않는다. arXiv에 공개된 연구 'Accurate Models of AMD Matrix Cores'는 바로 이 지점을 파고든다. 표준을 벗어난 하드웨어가 실제로 어떤 수치 동작을 보이는지를 세 세대의 AMD GPU에서 정밀하게 규명하고, 그 동작을 비트 단위로 재현하는 소프트웨어 모델을 만들어냈다.
표준을 따르지 않는 행렬 곱셈기
연구가 지적하는 핵심 문제는 매트릭스 코어의 수치 특성이 제조사별로, 그리고 같은 제조사의 아키텍처별로 서로 다르다는 사실이다. 누산기(accumulator)의 비트 폭, 반올림 방식, 정규화 시점, 중간 계산 과정에서의 언더플로·오버플로 처리 로직, 서브노멀(subnormal) 수의 취급, 무한대나 NaN 같은 특수 입력의 처리 방식이 하드웨어마다 제각각이다. 문제는 이런 구현 세부사항이 문서로 공개되어 있지 않다는 점이다. 그 결과 같은 입력을 넣어도 기기가 다르면 작은 행렬 곱셈의 결과가 달라질 수 있고, 이 차이는 소프트웨어 수준의 제어로는 없앨 수 없다. 왜 결과가 어긋나는지 해석할 근거조차 부족한 상황인 것이다.
세 세대 아키텍처를 해부하다
연구진은 AMD의 세 가지 CDNA 아키텍처를 대상으로 삼았다. CDNA 1은 MI100, CDNA 2는 MI210·MI250, CDNA 3는 MI300A·MI300X GPU에 각각 대응한다. 이들이 지원하는 모든 입력 형식에 대해, 특정 수치 특성 하나를 겨냥하도록 설계된 테스트 벡터를 만들었다. 예컨대 어떤 벡터는 반올림 방식을 드러내고, 다른 벡터는 서브노멀 처리 여부를 판별하도록 구성된다. 중요한 것은 단순히 값을 넣어보는 데 그치지 않고, 각 벡터가 왜 그 특성을 특정할 수 있는지에 대한 유도 과정과 근거를 함께 제시했다는 점이다. 블랙박스에 가까운 하드웨어를 향해 목적이 분명한 질문을 던지고, 그 응답으로 내부 구조를 역추론하는 방식이다.
1천만 개 테스트로 검증한 비트 단위 재현
특성 분석을 토대로 연구진은 각 아키텍처에 대응하는 MATLAB 기반 소프트웨어 모델을 개발했다. 이 모델의 목표는 근사가 아니라 비트 단위 완전 일치다. 검증을 위해 무작위 입력 벡터 1천만 세트로 구성된 테스트 스위트를 돌려 실제 하드웨어 출력과 대조했다. 여기에는 이전에 개발된 반복 정밀화 기법이 적용됐다. 무작위 테스트를 수행하고, 모델과 하드웨어가 어긋나는 사례가 나오면 그에 맞춰 모델을 다듬는 과정을 모든 테스트 케이스가 일치할 때까지 루프로 반복하는 방식이다. 이렇게 완성된 모델은 문서화되지 않은 하드웨어 동작을 소프트웨어상에서 그대로 재현하는 참조 구현이 된다.
마지막으로 연구진은 이 모델의 활용 가능성을 보이기 위해 두 가지 수치 응용 사례에 적용했다. 이를 통해 AMD 매트릭스 코어와 NVIDIA 텐서 코어 사이의 애플리케이션 수준 정확도 차이를 정량화했다. 하드웨어를 직접 갖추지 않고도, 또 두 제조사의 칩을 나란히 놓지 않고도, 모델만으로 정밀도 차이를 실험적으로 비교할 수 있음을 보여준 것이다.
실무자에게 남는 함의와 한계
이 연구가 실무에 던지는 메시지는 분명하다. 서로 다른 GPU에서 얻은 저정밀 행렬 연산 결과가 완벽히 일치하기를 기대해서는 안 되며, 이 비재현성은 코드를 아무리 정교하게 짜도 제거할 수 없는 하드웨어 고유의 성질이다. 수치 재현성이 중요한 검증·인증 환경이나, 학습 결과를 여러 기기에서 대조해야 하는 상황이라면 이 차이를 사전에 인지하고 허용 오차 범위를 설계에 반영해야 한다. 반대로 정밀 모델이 존재한다는 것은, 하드웨어에 접근하지 않고도 특정 알고리즘이 각 아키텍처에서 어떻게 반올림되고 오차가 누적될지를 미리 시뮬레이션할 수 있다는 뜻이기도 하다.
다만 짚어둘 한계도 있다. 이 모델은 AMD의 CDNA 1~3 세대를 대상으로 하므로, 이후 세대나 다른 계열의 칩에는 같은 결과를 그대로 적용할 수 없고 새로운 특성 분석이 필요하다. 또한 개념 증명으로 제시된 두 응용 사례가 실제 대규모 워크로드 전반의 정확도 차이를 대표한다고 단정하기는 어렵다. 그럼에도 문서화되지 않은 가속기 내부를 체계적으로 규명하고 비트 단위로 재현 가능한 모델을 공개했다는 점에서, 이 작업은 저정밀 연산의 신뢰성을 다루려는 이들에게 실질적인 출발점을 제공한다.