시작은 전공과 아무 상관없는 주식 창이었다. AI 관련주가 오르는 날 에너지 관련주도 같이 오르고 있었다. AI와 에너지가 무슨 상관인지가 궁금했다.
- AI주와 에너지주가 같이 오름
- AI 연산의 전력 소비
- 핵심은 행렬곱
- 폰 노이만 병목 → 시스톨릭 배열
1. AI는 왜 전력을 많이 쓰나
찾아보니 AI 모델은 학습과 추론에서 막대한 전력을 쓴다. 한 연구는 LLM에 질문 하나를 보내는 데 약 3 Wh가 들고, 이는 일반 검색 한 번(약 0.3 Wh)의 열 배 정도라고 추정한다. 서비스가 전 세계로 퍼질수록 데이터센터 전력 수요가 늘고, 그게 에너지 산업에 직접 영향을 준다. 주가가 같이 움직인 이유가 이해됐다.
2. 그럼 그 연산은 뭘 하나
딥러닝은 입력 데이터와 가중치 행렬의 곱을 반복한다. 모델이 커지면 행렬 크기와 연산 횟수가 빠르게 늘어난다. 정사각행렬 기준 연산량은 n³에 비례해서, 한 변이 두 배가 되면 연산량은 여덟 배다. 그러니 AI 시스템의 성능과 전력 소비는 행렬곱을 얼마나 효율적으로 처리하느냐에 크게 좌우된다.
3. 컴퓨터가 그걸 처리하는 방식이 문제였다
현재 대부분의 컴퓨터가 쓰는 폰 노이만 구조는 CPU와 메모리가 하나의 통로를 공유한다. 행렬곱을 하면 같은 데이터를 메모리에서 반복해서 읽어야 하고, 그만큼 불필요한 에너지가 든다. 연산량 자체의 증가에 더해 이 구조적 비효율이 함께 작용한다.
구글이 자사 AI 칩(TPU)에 도입한 시스톨릭 배열은 이 문제를 데이터 재사용으로 푼다. 값을 메모리에서 매번 새로 가져오는 대신 처리 장치끼리 직접 주고받는다. 이론적으로는 메모리 접근이 줄고, 그러면 전력도 줄어든다.
4. 직접 만들어 보기로 했다
TPUTensor Processing Unit. 구글이 AI 연산을 위해 만든 전용 칩. 내부에 시스톨릭 배열을 사용한다.를 살 수는 없으니, 아두이노 나노 다섯 대로 축소판을 만들기로 했다. 네 대는 2×2 격자로, 한 대는 대조군으로 썼다. 같은 행렬곱을 두 구조로 돌려 처리 시간과 데이터 이동 횟수를 비교했다.
우리 팀은 네 명이었고, 실험을 설계하면서 변인을 이렇게 잡았다.
| 구분 | 변인 |
|---|---|
| 독립변인 | 처리 구조(단일 보드 / 2×2 격자), 행렬 내부 차원 K (2, 4, 6, 8) |
| 종속변인 | 처리 시간, 데이터 이동 횟수 |
| 통제변인 | 보드 기종, 클럭, 보드 간 통신 속도, 행렬 원소값 |
5. 결과는 우리 기대와 달랐다
데이터 이동 횟수는 격자가 25% 적어서 재사용 효과가 확인됐다. 하지만 처리 시간은 295~326배 느렸다. 이동 한 번의 비용이 격자에서 약 417배 비쌌기 때문이다. 아두이노 보드 사이의 핀 통신은 마이크로초 단위지만, 진짜 TPU는 수백×수백 개의 PE가 한 칩 안에 있어서 나노초 이하로 통신한다.
가설이 빗나간 게 실험의 실패는 아니었다. 시스톨릭 배열의 이점이 어떤 조건에서 성립하는지 확인하는 것이 목표였고, 우리는 그 조건이 깨졌을 때의 모습을 직접 봤다. 실제 가속기가 PE를 칩 안에 집적하는 이유를 책이 아니라 측정값으로 이해하게 됐다.
이 프로젝트에서 남은 것
이 프로젝트는 「2026 과학탐구 프로젝트」 결과 보고서로 정리했고, 논문 형태로 Zenodo에도 등재했다(DOI: 10.5281/zenodo.22038219).
- 논문: Von Neumann Bottleneck and Systolic Array Architecture: An Empirical Efficiency Comparison
- 이 글의 세부 내용은 시리즈로 나눠 정리했다: 대조군 설계, 다섯 보드 구성, 스큐 대기의 대가, 측정 구간 정의, 결과 해석.
주식 창을 보다가 시작한 궁금증이 이렇게까지 이어질 줄은 몰랐다. 전체 자료는 프로젝트 페이지에 있다.