Skip to content

5부. 맺음: 계산은 어디에 놓이는가

GPU는 여전히 거대한 정렬 계산의 가장 강력한 무대다. 수많은 숫자가 같은 규칙으로 움직이고, 데이터가 줄 맞춰 공급되며, 작업들이 서로 충돌하지 않을 때 GPU의 처리량은 압도적인 힘을 발휘한다. 오늘날 AI 학습의 거대한 행렬 계산이 이 조건과 잘 맞았기 때문에 GPU는 AI 인프라의 중심에 섰다.

우리는 그 강함이 성립하는 조건을 따라왔다. CPU와 GPU는 서로 다른 계산의 모양을 감당하기 위해 다른 설계 철학을 선택했다. CPU는 짧은 지연시간, 제어, 캐시를 통해 복잡한 흐름을 처리한다. GPU는 거대한 처리량을 통해 규칙적인 반복 계산을 밀어붙인다. 어느 쪽이 더 좋은 장치인지 묻기 전에, 어떤 계산이 어떤 실행 방식과 잘 맞는지 먼저 보아야 한다.

병목은 계산의 모양을 따라 움직인다

Section titled “병목은 계산의 모양을 따라 움직인다”

2부에서 본 직렬화는 병렬성의 첫 번째 조건을 보여주었다. 작업자가 아무리 많아도 같은 자원 앞에 몰리면 넓은 병렬성은 줄서기로 접힌다. 머릿수는 병렬성의 일부일 뿐이다. 서로 다른 곳으로 흩어질 수 있는 구조가 함께 필요하다.

3부에서 본 콜레싱은 데이터 이동의 조건을 보여주었다. 메모리 통로가 넓어도 데이터가 듬성듬성 놓이면 통로의 일부는 빈칸을 나르는 데 쓰인다. 같은 양의 숫자를 다루더라도, 데이터가 놓인 모양에 따라 실제로 움직여야 하는 양은 달라진다. 이때 병목은 계산기 수보다 데이터의 배치와 접근 패턴에서 또렷해진다.

이 두 장면은 하나의 결론으로 모인다. 병목은 칩 이름보다 계산의 흐름에 더 가깝게 붙어 있다. 계산이 어떤 모양으로 나뉘고, 데이터가 어떤 순서로 이동하며, 작업들이 어디에서 서로 기다리는지가 병목의 위치를 결정한다.

AXIOM은 이 결론을 계산 표현의 문제로 밀어붙인다. 하드웨어의 규모보다 계산이 하드웨어를 지나가는 길에 시선을 둔다. 두 값을 하나의 묶음으로 보고, 가까운 데이터를 재사용하며, 일부 반복을 직접 풀이에 가까운 형태로 정리하려는 시도다.

이 가능성은 아직 적용 조건을 따져야 하는 제안에 가깝다. 다만 질문의 방향은 분명하다. 계산의 묶음 단위가 바뀌면, 데이터의 위치와 재사용 방식도 바뀐다. 데이터의 위치와 재사용 방식이 바뀌면, CPU와 GPU가 맡기에 자연스러운 구간도 달라진다.

CPU의 귀환이라는 표현은 이 변화의 한 표면이다. 더 정확한 지도는 병목의 위치, 데이터의 모양, 계산의 배치를 함께 보는 데서 시작한다. 어떤 계산은 넓은 병렬성 위에 올려야 하고, 어떤 계산은 가까운 데이터와 짧은 지연시간 위에 놓아야 한다. 좋은 인프라는 이 둘을 구분하는 능력에서 나온다.

AXIOM 갈래는 계산을 어디에 놓을 것인가를 물었다. CPU와 GPU는 이 질문에 대한 서로 다른 실행 장소였다. 직렬화와 콜레싱은 계산이 그 장소와 어긋날 때 생기는 병목의 사례였다. AXIOM은 계산의 표현을 바꾸어 그 어긋남을 줄일 수 있는 가능성을 보여주었다.

앞서 본 FQNM 갈래는 한 층 더 아래에서 출발한다. 우리는 애초에 어떤 숫자를 계산하고 있는가. 두 갈래가 만나는 풍경은 맺음말에서 본다.