본문 바로가기

Studies/AI for Hardware3

Computing-in-Memory (2): Trade-offs & Limitations ※ Computing-in-Memory 분야의 고질적인 문제점과 그에 따른 한계에 대해 다소 보수적인 측면에서 바라본, 지극히 개인적인 의견이 쓰여있음을 미리 알립니다. ※ What made trade-offs? Computing-in-Memory (1) 포스팅에서 해당 개념은 기존의 von Neumann 구조의 느린 속도, 비효율적인 에너지 소모 등을 개선하기 위해 제안되었다는 설명을 했었다. 아직까지 자세한 회로 구조를 다룬 게 아니기 때문에, 언뜻 앞선 설명을 들으면 인메모리 컴퓨팅이 AI 가속기 분야에서 만능열쇠와 같다는 인상을 받을 수도 있다. 하지만, 진짜 만능열쇠가 되기 위해서는 아직 넘어야 할 산이 굉장히 많다. 그중 가장 많이 논의되고 있는 것이 Computing-in-Memory (이하.. 2023. 1. 18.
Computing-in-Memory (1) : Backgrounds Motivations for Computing-in-Memory 우리가 기계를 이용해서 컴퓨팅을 할 수 있게 된 역사는 그리 길지 않다. 흔히 처음으로 개발된 컴퓨터라고 불리는 ENIAC의 등장도 1946년이니, 겨우 70여 년을 조금 넘었다. 이 70여 년의 컴퓨팅 역사에서 거의 모든 때에 주로 쓰인 연산 장치는 von Neumann 구조 [1] 기반의 프로세서였다. 인간이 하기 어려운 연산을 처리하는 기능에서 각종 명령어들을 통해 사용자 친화적인 애플리케이션을 구동하는 기능까지, 프로세서(CPU)는 전반적으로 모든 작업이 가능했다. 그리고 CPU의 발전은 발열을 줄이고, 클럭 주파수를 높이거나 코어 및 스레드의 개수를 늘리는 방향으로 이루어졌다. 하지만 무어의 법칙을 쫓는 데에 한계에 다다르면서 CP.. 2022. 1. 3.
Binarized-Neural-Network-based CIM Accelerator's Baseline Algorithm (Demo) Backgrounds 수많은 ML/DL Accelerator가 기본적으로 이용하는 뉴럴 네트워크의 구조로 binarized neural network가 쓰이는 이유는, 낮은 bit-precision을 사용한다는 특징 때문이다. 기존의 CPU/GPU 등은 보통 full-precision의 데이터들을 연산에 사용했고 그 결과, 정확도는 우리가 흔히 일컫는 software baseline의 높은 정확도를 가질 수 있었지만 다소 긴 latency와 높은 에너지 소모라는 단점을 피할 수 없었다. 하지만 binarized neural network은 binary 형태의 데이터들을 연산에 사용해 latency와 에너지 문제에서 혁신적인 개선을 가져왔고, 정확도 측면에서도 용인될만한 수준의 loss가 있다는 것이 증명.. 2021. 3. 19.