Samsung은 Hot Chips에서 프로세싱 인 메모리 작업을 공개했으며, 8월 29일 이른 시각에 나온 보도는 그 장단점을 모두 수치로 제시했다. 대역폭 수치는 이동했지만, 아키텍처적 비용은 그대로였다.

대역폭이 있는 곳

이 큰 배수는 메모리 장치 내부의 컴퓨트 유닛에 제공되는 대역폭과, 같은 장치가 외부 인터페이스를 통해 노출하는 대역폭을 비교한 것이다. 이것이 바로 메모리 안에 연산을 넣는 이유다. 넓은 내부 버스가 자원이었고, 그것은 원래부터 존재했다. 달라진 것은 이제 산술 유닛이 그 버스의 안쪽에 자리하게 됐다는 점이다. 호스트 프로세서에 추가로 제공되는 대역폭이 아니다.

호스트가 치르는 비용

이 방식이 작동하려면 PIM 피연산자를 담은 메모리를 캐시 불가 및 비추론적으로 매핑해야 한다. 캐시된 복사본은 인메모리 유닛이 이를 쓰는 순간 곧바로 오래된 값이 되고, 추론적 읽기는 아키텍처적으로는 실제로 일어나지 않은 계산을 유발할 수 있기 때문이다. 따라서 해당 영역에 접근하는 프로세서는 캐싱을 잃고, 하드웨어 프리페치를 잃으며, 해당 접근 주변에서 재정렬도 할 수 없다. 현대 코어를 빠르게 만드는 세 가지 메커니즘이, 바로 가속하려는 데이터에 대해 꺼지는 셈이다.

흔한 해석이 놓치는 점

보도는 이 내부 수치를 시스템 전체의 속도 향상처럼 다뤄 왔다. 마치 한 기계가 메모리 대역폭을 8배 얻는 것처럼 말이다. 그러나 사실은 그렇지 않다. 더 정확한 주장은 더 좁지만 여전히 흥미롭다. 대역폭에 묶여 있고 산술적으로 단순한 연산, 주로 LLM 디코드의 원소별 연산과 감소 연산에서는, 연산을 데이터 쪽으로 옮기면 외부 버스가 지배하던 왕복을 피할 수 있다. 반면 계산 집약적인 작업에는 PIM이 맞지 않으며, 비활성화된 캐시는 순수한 손실이다.

처리량을 맥락에서 보면

패키지당 외부로 노출되는 연산 성능은 INT8 TOPS가 몇 개 수준이며, 8개를 묶으면 한 자릿수 후반대에서 두 자릿수 초반의 TOPS에 이른다. 이는 주류 노트북 프로세서의 NPU와 비슷한 수준이다. 차별점은 원시 처리량이 아니라, 그 처리량이 이들 장치의 전체 메모리 용량에 붙어 있다는 점이다. 대형 모델 디코드가 실제로 가장 큰 부담을 느끼는 지점이 바로 여기에 있다.