인메모리 컴퓨팅 구조 (In-Memory Computing Architecture)

전기전자공학
한 줄 정의: 데이터를 별도의 연산장치로 이동시키지 않고 메모리 소자 안에서 직접 연산을 수행하는 컴퓨팅 구조입니다.
지지된 보에 하중이 작용하는 모습
구조 부재에 하중이 가해지는 기본 개념을 나타냅니다.

쉽게 풀면

기존 컴퓨터는 데이터를 메모리에 저장해 두었다가 필요할 때마다 연산장치(CPU)로 옮겨와 계산을 한 뒤 다시 메모리에 저장하는 방식으로 동작합니다. 이 과정에서 데이터를 오가며 옮기는 데 시간과 전력이 많이 소모되는데, 이를 흔히 '메모리 병목'이라고 부릅니다. 인메모리 컴퓨팅은 요리 재료를 창고에서 매번 꺼내 오는 대신, 창고 안에서 바로 조리까지 끝내버리는 것과 비슷한 발상으로, 메모리 자체에서 계산을 처리해 데이터 이동을 줄이는 방식입니다.

왜 중요한가

인공지능 연산처럼 방대한 데이터를 반복적으로 다뤄야 하는 작업에서 메모리와 연산장치 사이의 데이터 이동은 큰 전력·시간 부담이 됩니다. 인메모리 컴퓨팅 구조는 이러한 병목을 줄여 에너지 효율과 처리 속도를 높일 수 있는 방안으로 반도체·컴퓨터 구조 분야에서 활발히 연구되고 있습니다.

논문에서는 이렇게 쓰입니다

"제안된 인메모리 컴퓨팅 구조는 행렬-벡터 곱셈 연산을 메모리 어레이 내에서 직접 수행함으로써 데이터 이동에 따른 지연을 크게 줄였다."

연산을 메모리 내부에서 수행해 지연시간을 줄인 결과를 설명하는 예문입니다.

"본 연구는 크로스바 멤리스터 어레이를 활용한 인메모리 컴퓨팅 구조를 신경망 추론에 적용하는 방법을 제안한다."

인메모리 컴퓨팅을 신경망 연산에 실제로 적용한 사례를 다루는 예문입니다.

조금 더 깊게 보면

인메모리 컴퓨팅은 흔히 저항변화메모리, 멤리스터, SRAM 등을 이용해 저장된 값과 입력 신호가 만나 물리적으로 연산 결과(주로 곱셈-누적 연산)를 만들어내는 방식으로 구현됩니다. 이런 방식은 특히 신경망의 행렬 연산처럼 반복적인 곱셈-덧셈 연산에 유리하다고 알려져 있습니다.

주의할 점

인메모리 연산은 소자 특성의 편차나 잡음에 민감할 수 있어, 일반적인 디지털 연산만큼의 정밀도를 항상 보장하지는 않는다는 점에 유의해야 합니다.

관련 용어