큰 데이터에서 중요한 패턴 몇 개만 남기는 계산을 생각해 보자. 사진에서는 큰 윤곽을, 여러 센서의 기록에서는 함께 움직이는 신호를, 학습된 행렬에서는 큰 영향을 주는 방향을 찾는다. 특잇값 분해(Singular Value Decomposition, SVD)는 이런 일을 하는 기본 도구다. 이번 연구는 이 계산을 위해 데이터를 메모리 밖으로 계속 옮기는 대신, 저장된 전기적 상태로 행렬곱을 수행하고 그 결과를 반복 계산에 다시 사용하는 시스템을 만들었다.[1]
2026년 9월 20일 공개된 Nature Communications 정식 논문과 보충자료를 기준으로 한다. 아래 식 번호는 이 글의 번호이며, 원논문 식을 다시 쓴 부분과 이해를 위한 계산 예제를 구분했다.#1. SVD는 큰 행렬을 어떤 조각으로 나누는가
이미지를 숫자로 나타내면 각 칸의 밝기가 모인 행렬이 된다. 여러 사람의 근육 신호도 한 축에 측정 항목, 다른 축에 관측값을 놓으면 행렬로 정리할 수 있다. 모든 숫자를 그대로 다루는 대신, 데이터 전체를 설명하는 몇 가지 규칙적인 무늬를 찾을 수 있다면 저장과 계산을 줄일 여지가 생긴다. 이 글에서는 실수 행렬을 다루며, 먼저 계산 자체의 의미를 살펴본다.
SVD는 행렬을 서로 직교하는 왼쪽·오른쪽 방향과 그 방향의 크기로 분해한다. 논문의 기호는 다. 의 대각 원소가 특잇값이며 큰 값부터 읽는다. 좌표축을 돌려 데이터를 보았을 때 크게 늘어나는 방향부터 고른다고 생각하면 된다. 직교하는 방향을 쓰므로 같은 무늬를 이름만 바꾸어 여러 번 세는 일을 피할 수 있다.[1]
행렬 하나를 특잇값과 두 벡터의 곱으로 나눈다는 뜻은? 기호·연산·계산 과정 펼치기
가 이면 는 길이 , 는 길이 인 열벡터다. 는 두 벡터의 외적(outer product)으로, 각 행과 열에 곱셈을 펼쳐 무늬 하나를 만든다. 는 그 무늬를 얼마나 크게 더할지 정한다. 은 0이 아닌 특잇값의 개수다. 모든 조각을 더하면 원래 행렬로 돌아가고 앞쪽 일부만 더하면 저랭크 근사를 얻는다.
계산 예제로 대각 원소가 3과 1인 을 보자. 첫 조각은 , 두 번째는 이다. 두 조각을 더하면 원래 행렬이다. 하나만 남기면 작은 방향의 정보 1을 포기하지만 큰 방향 3은 보존한다. 이때 제곱합 기준으로 남긴 비중은 다. 이는 예제 행렬의 에너지 비중이지 논문의 압축률이나 실제 사진의 정확도가 아니다.
압축에서는 특잇값이 빨리 작아지는 데이터일수록 적은 조각으로 표현하기 쉽다. 반대로 작은 특잇값에도 중요한 신호가 들어 있으면 크기만으로 버릴 수 없다. SVD의 수학적 분해와, 어느 조각을 남길지 정하는 응용의 판단은 함께 필요하다.
이제 하드웨어 문제를 볼 수 있다. SVD가 유용한 이유는 조각을 찾은 뒤 데이터가 간단해지기 때문이다. 하지만 그 조각을 처음 찾는 과정에는 같은 행렬과 벡터를 곱하는 계산이 반복된다. 이번 논문이 줄이려는 비용은 이 반복에서 생기는 연산과 데이터 이동이다.[1]
#2. 멤리스터는 곱셈과 덧셈을 어디서 하는가
멤리스터(memristor)는 전기적 저항 상태를 조절해 정보를 저장하는 소자다. 여기서는 저항의 역수인 전도도(conductance)에 행렬의 값을 대응시킨다. 한 소자에 전압을 가하면 전류는 관계를 따른다. 전도도 와 전압 의 곱이 전류 로 나타나는 것이다. 여러 소자가 연결된 선에서는 전류가 합쳐진다. 이 두 성질을 이용하면 행렬–벡터 곱의 곱셈과 합산을 배열 안에서 수행할 수 있다.[1]
물론 수학의 음수나 큰 범위의 실수를 저항 하나에 그대로 적는 것은 아니다. 부호와 크기를 저장 가능한 범위로 바꾸고, 입력을 전압 펄스로 보내고, 출력 전류를 디지털 값으로 읽는 주변 회로가 필요하다. 따라서 메모리 내 연산(compute-in-memory, CIM)은 계산 장치가 사라졌다는 말보다 큰 행렬이 저장된 위치에서 많은 곱셈을 함께 처리한다는 설명이 정확하다.[1][2]
맨 위 Figure 2a에는 데이터 행렬 와 이미 구한 오른쪽 특이벡터(right singular vector, RSV)를 저장하는 의 두 경로가 있다. 파란 화살표는 현재 방향을 반복해서 갱신하는 계산, 붉은 화살표는 수렴한 새로운 RSV를 저장하는 단계다. 새로운 특이성분을 찾을 때 앞에서 찾은 방향이 계속 나타나지 않도록, 두 번째 경로가 제거할 성분을 계산한다.[1]
그림 아래 실제 칩 사진은 130 nm 공정의 1024×128 1T1R 배열을 보여준다. 1T1R은 트랜지스터 하나와 저항성 기억 소자 하나를 묶은 셀이다. 실험 플랫폼에는 멤리스터 보드, 전원 보드, FPGA 제어 보드가 연결된다. 논문 Methods는 정규화·뺄셈·수렴 판단 등 보조 연산을 FPGA와 CPU가 담당한다고 설명한다. 배열의 병렬 행렬곱과 디지털 제어가 협력해 SVD를 완성하는 구조다.[1][2]
#3. 반복하면 중요한 방향이 드러나는 이유
가장 큰 특잇값에 대응하는 오른쪽 벡터를 찾는 문제는 의 가장 큰 고유값 방향을 찾는 문제와 연결된다. 이 행렬의 고유값은 특잇값의 제곱이다. 어떤 벡터를 계속 곱하면 큰 고유값 방향의 성분이 상대적으로 더 빨리 커진다. 길이가 무한히 커지지 않도록 매번 정규화하면 방향의 변화에 집중할 수 있다. 이것이 거듭제곱법(power iteration)의 직관이다.[1]
곱하고 길이를 맞추는 반복은 어떻게 방향을 고를까? 기호·연산·계산 과정 펼치기
는 현재 추정한 방향이다. 먼저 를 계산하고, 그 결과에 를 곱한다. 괄호는 라는 큰 중간 행렬을 미리 만들지 않아도 두 번의 행렬–벡터 곱으로 계산할 수 있음을 보여준다. 아래 분모는 벡터의 유클리드 길이다. 모든 성분을 같은 양으로 나누므로 방향은 유지되고 길이만 1이 된다. 분모가 0인 경우는 따로 처리해야 한다.
예를 들어, 앞의 에서 두 성분이 같은 방향으로 시작하면, 한 번의 갱신 뒤 비율은 이 되고 정규화한 값은 다. 한 번 더 곱하면 비율은 이 된다. 작은 방향이 지워지는 것이 아니라 큰 방향에 비해 비중이 작아진다. 실제 소자의 오차가 없고 시작 벡터가 원하는 방향 성분을 가지며 가장 큰 고유값이 구분된다는 조건에서 이해한 계산이다.
수렴 속도에는 첫째와 둘째 고유값의 간격도 영향을 준다. 두 값이 비슷하면 한 방향만 빠르게 우세해지지 않는다. 따라서 반복 횟수를 줄였다는 결과를 볼 때에는 행렬 크기뿐 아니라 데이터의 특잇값 분포를 함께 읽어야 한다.
논문은 새로운 방향을 얻으면 로 특잇값의 제곱을 구하고, 로 대응하는 왼쪽 방향을 얻는다. 논문의 norm 표기는 벡터를 단위 길이로 만드는 연산이다. 실험 구현은 반복 상한도 설정한다. 수렴 판정이 있는 반복 알고리즘을 소자의 빠른 곱셈만으로 설명할 수 없는 이유가 여기에 있다.[1]
#4. 찾은 성분을 빼는 단계에서 오차가 커진다
첫 방향을 찾은 뒤 똑같은 계산을 다시 하면 첫 방향을 다시 찾기 쉽다. 이미 설명된 성분을 제거하는 디플레이션(deflation)이 필요한 이유다. 보통은 데이터에서 첫 저랭크 조각을 빼는 그림으로 이해하지만, 이 논문의 회로는 원본 데이터 행렬을 매번 새 잔차 행렬로 써 넣기보다 이미 찾은 RSV를 별도 배열에 저장해 반복 입력에서 그 성분을 제거한다.[1]
이미 찾은 방향은 왜 빼고, 칩에서는 무엇을 저장할까? 기호·연산·계산 과정 펼치기
원논문 Methods 식 (4)를 두 단계로 펼쳤다. 는 현재 반복 입력, 는 앞에서 구한 개 오른쪽 벡터를 모은 행렬이다. 는 현재 입력이 기존 방향들과 얼마나 겹치는지 구한다. 는 각 방향의 고유값 크기를 곱하고, 는 그 좌표를 원래 공간의 벡터로 되돌린다. 그래서 두 번째 줄은 이미 찾은 방향이 만드는 기여이며, 이를 빼면 다음 방향을 찾을 수 있다.
예제에서 이고 첫 방향을 정확히 찾았다면, 제거할 항의 행렬은 이다. 차이는 이다. 그런데 첫 특잇값 3을 2.9로 작게 추정하면 가 첫 방향에 남는다. 다음에 찾을 방향의 값 1과 비교할 만큼 큰 잔류 신호가 생긴다. 이 수치는 논문의 측정값이 아니라 오차 증폭을 보여 주는 계산이다.
처음 성분이 클수록 제거 오차가 작은 성분을 가리기 쉽다. 따라서 전체 배열을 무조건 고정밀로 바꾸기보다, 이 제거 경로의 정밀도를 특별히 보호하는 것이 논문의 선택이다.
이를 위한 선택적 표현 강화 구조(SREA)는 두 장치를 결합한다. DPM은 숫자의 큰 자리와 작은 자리를 다르게 저장하고, VPR은 제거 경로에 들어가는 벡터의 입력 정밀도와 공간적 중복을 강화한다. Figure 2d에서 이 두 개입이 각각 어디에 적용되는지 볼 수 있다.[1]
DPM을 이해하는 예로 8비트 수를 상위 2비트와 하위 6비트로 나누면 다. 상위 부분의 오차 1은 원래 수에서 64만큼의 오차가 되지만, 하위 부분의 오차 1은 1이다. 연구진은 상위 부분을 더 적은 전도도 수준으로 안정적으로 구분하고, 하위 부분은 더 많은 수준으로 세밀하게 표현한다. ‘상위 비트의 낮은 해상도’는 중요하지 않게 취급한다는 뜻이 아니라, 적은 상태를 더 잘 구분해 큰 자리의 오류를 막는다는 뜻이다.[1]
VPR은 특잇값 제곱으로 스케일된 RSV 입력에 더 많은 비트를 배정하고, 저장한 RSV를 여러 위치에 복제해 출력을 평균낸다. 독립적인 영평균 잡음이라면 네 복제의 평균은 표준편차를 절반으로 줄일 수 있다. 다만 공통 온도 변화나 같은 방향의 편향은 평균만으로 없어지지 않는다. 논문의 중복 배치 이점과 일반적인 잡음 평균화의 조건을 함께 이해해야 한다.[1][2]
#5. 실제 칩에서는 무엇이 개선됐나
IRIS 데이터 실험에서 연구진은 기준 MSVD와 DPM만 적용한 경우, VPR만 적용한 경우, 둘을 결합한 SREA를 비교했다. 이 구성은 어느 부분이 기여했는지 살피는 제거 실험(ablation)이다. 상위·하위 비트의 배분은 데이터와 실험에 따라 달라지므로 앞 절의 2+6 예시를 모든 표의 공통 설정으로 읽지 않는다.[1][2]
IRIS 실험의 SREA 설정에는 매핑, 표준 8비트보다 6비트를 높인 입력, 네 복제가 사용됐다. 논문은 특잇값 평균 정규화 오차의 개선을 DPM 약 8.0배, VPR 약 3.4배, 결합 SREA 최대 13배로 보고한다. 여기서 중요한 것은 오류 척도가 기준보다 작아졌다는 비율이다. 백분율 정확도가 100%를 넘어 13배가 됐다는 뜻으로 쓰지 않는다.[1]
Figure 4a는 영상 처리의 흐름이고 4b는 소프트웨어 SVD, 기준 MSVD, SREA를 적용한 MSVD의 결과를 비교한다. 연구진은 256×256 영상을 16×16 블록으로 나누고 각 블록의 16개 성분 중 앞쪽 네 개를 사용했다. 작은 블록의 실제 계산을 누적하여 영상 전체를 재구성한 실험이다. 이 결과에서 PSNR 31.0 dB와 SSIM 0.940은 동일한 처리의 소프트웨어 결과에 얼마나 가까운지를 나타낸다.[1]
PSNR은 차이가 작을수록 커지는 로그 척도이고, SSIM은 구조적 유사성을 평가한다. 둘을 함께 쓰면 단순한 오차 크기와 형태 보존을 서로 보완해 볼 수 있다. 다만 이 실험의 소프트웨어 참조는 처리하지 않은 깨끗한 원본과 다르다. 따라서 값을 그대로 다른 논문의 영상 잡음 제거 성능 순위에 넣으면 비교 대상이 바뀐다.
Figure 4c 이하에서는 COVID-19 입원 시계열을 성분별로 분해하고 재구성한다. 앞쪽 두 성분은 소프트웨어와의 상관계수 0.999, 세 번째는 0.995를 보고한다. 그래프의 가로축과 모양이 잘 맞는다는 사실은 기록된 시계열의 분해를 잘 근사했다는 증거다. 미래 입원자를 예측한 모델의 예측 정확도와는 다른 평가다.[1]
#6. 저장한 방향을 다시 사용하는 장점
신규 데이터가 들어올 때 매번 기존 행렬을 모두 다시 저장하고 처음부터 분해하면 갱신 비용이 커진다. 이 연구의 증분 MSVD(incremental MSVD)는 이미 계산한 특이성분을 활용하면서 새 데이터를 반영하는 경로도 다룬다. 웨어러블 센서처럼 사용자와 관측이 늘어나는 상황에서는 최초 계산뿐 아니라 추가 학습의 비용을 줄이는지가 중요해진다.[1]
논문은 근전도(EMG) 제스처 분류와 수면 단계 분류 사례를 통해 저차원 표현이 후속 학습으로 연결되는 방식을 평가한다. SVD가 분류기를 대신하는 것이 아니라, 후속 모델이 다룰 특징을 정리하는 단계에 들어간다. 분해 오차와 분류 정확도는 서로 다른 결과이므로 논문은 알고리즘 수렴과 최종 과제를 함께 살핀다.[1]
| 결과 | 무엇을 비교했나 | 증거의 범위 |
|---|---|---|
| 130 nm 1024×128 1T1R | 실제 배열과 FPGA·CPU 제어 | 소자·보드 기반 MSVD 실험 |
| IRIS 오차 최대 13배 개선 | SREA 유무 | 해당 정규화 오차 척도 |
| PSNR 31.0 dB / SSIM 0.940 | 영상 처리의 소프트웨어 참조 | 실칩 결과의 수치·구조 근사 |
| 상관계수 0.999 / 0.995 | 입원 시계열의 성분별 참조 | 기록 데이터 재구성 |
| 에너지 효율 29.9배 | EMG SVD의 A100 비교 | 32 nm architecture model |
| 정규화 속도 19.0배 | 면적을 고려한 분해 속도 | 전체 학습 벽시계 시간과 구분 |
보드에 저장한 결과를 계속 쓸 수 있다는 점은 매력적이지만 메모리 용량도 함께 소비한다. RSV 복제 수가 늘면 잡음 평균화에 유리할 수 있는 대신 셀과 읽기 자원이 더 필요하다. 입력 정밀도를 높이면 전압 펄스 처리도 늘어날 수 있다. 논문은 모든 행렬을 일률적으로 강화하기보다 작은 RSV 경로를 선택한 이유를 이러한 정확도·면적·시간의 절충에서 설명한다.[1][2]
#7. Figure 7의 LLaMA 결과와 GPU 비교를 읽는 법
Figure 7a는 모델의 가중치를 저랭크 경로로 조정하는 방법을 보여준다. PiSSA는 중요한 특이성분을 이용해 적응 학습의 시작점을 구성한다. MSVD를 여기에 넣으면, 하드웨어의 오차가 들어간 분해 결과로도 좋은 초기값을 만들 수 있는지 시험할 수 있다. 먼저 분해가 바뀌고, 그다음 학습 결과가 바뀌는 연결이다.[1]
7b는 언어모델 과제 점수다. LLaMA 3.2-3B의 GSM8K 결과에서 기본 적응은 46.40, MSVD를 쓴 PiSSA는 51.25, 소프트웨어 PiSSA는 51.40이다. MSVD와 기본 적응의 차이는 4.85퍼센트포인트, 두 PiSSA 방식의 차이는 0.15퍼센트포인트다. 이 부분은 멤리스터 변동을 포함한 시뮬레이션이다. 실칩 실험이 다룬 데이터 크기와 이 모델 평가의 실행 환경은 구분한다.[1][3]
7c의 가속·효율 비교는 다시 별도의 시스템 평가다. 저자들은 측정된 소자 특성과 검증된 설계를 사용한 XPESim으로 32 nm 구조를 모델링했다. EMG의 29.9배 에너지 효율과 19.0배 정규화 속도, LLM 초기화의 41.6배와 23.1배는 이 평가 범주에 속한다. 원논문은 현행 130 nm 조건에서도 약 10배의 에너지 이점이 남는다는 계산을 별도로 제공한다.[1][2]
에너지 효율 29.9배와 실제 시간 29.9배 단축은 왜 다른가? 기호·연산·계산 과정 펼치기
와 는 같은 일을 완료하는 데 드는 두 에너지다. 더 작은 에너지가 분모에 오면 비율이 1보다 커진다. 예를 들어 비율이 면 비교 기준의 약 에너지를 쓴다는 의미다. 절감률은 다. 이 계산은 보고된 비율의 뜻을 풀어 쓴 것으로, 새로운 전력 계측값을 만든 것이 아니다.
전력은 단위 시간당 에너지이고 총 에너지는 그 전력을 시간에 걸쳐 더한 값이다. 같은 에너지라도 짧게 큰 전력을 쓸 수도, 길게 작은 전력을 쓸 수도 있다. 따라서 에너지 비율에서 실행시간 비율을 바로 알 수 없다. 논문의 속도 지표에는 칩 면적 정규화까지 들어가므로 전체 프로그램의 벽시계 실행시간과도 구분한다.
현실의 비교에서는 데이터 쓰기, 변환 회로, 제어, 결과 전송과 반복 횟수까지 같은 작업 경계에서 포함했는지가 중요하다. 이 논문의 모델 기반 비교를 이해하려면 해당 가정과 포함 항목을 보충자료에서 확인해야 한다. 실제 130 nm 보드와 A100의 콘센트 전력을 같은 조건에서 재측정한 결과로 소개하지 않는다.
#8. 무엇이 다음 실험의 질문으로 남는가
이번 연구는 단발성 행렬곱을 넘어, 반복 입력의 갱신과 이미 찾은 방향의 제거까지 고려한 수치선형대수 시스템을 보여준다. 큰 연산을 아날로그 배열에 맡기면서 오차가 특히 민감한 경로를 선택적으로 보호한다는 아이디어가 핵심이다. 이는 멤리스터를 모든 계산의 대체품으로 선언하는 것보다 구체적이며 다른 반복 알고리즘에서도 검토할 만한 설계 질문을 준다.[1]
다음 단계에서 먼저 볼 것은 더 큰 배율 하나가 아니라 정확도와 비용이 함께 유지되는지다. 더 많은 성분을 순서대로 추출할 때 앞선 제거 오차가 뒷부분을 얼마나 흔드는가, 칩을 여러 개로 나눠도 직교성과 수렴이 유지되는가, 장시간 저장 뒤 전도도 변화에 얼마나 자주 보정이 필요한가가 중요하다. 이러한 조건은 정확한 부호·정규화가 필요한 과학 계산에서 특히 민감하다.
응용에 따라 허용 오차도 다르다. 시각적으로 비슷한 압축 영상에는 충분한 근사가, 작은 특잇값 자체를 해석하는 분석에는 부족할 수 있다. 그러므로 소프트웨어 결과와의 오차뿐 아니라 실제 후속 판단에 미치는 영향을 함께 평가해야 한다. 공개 코드와 데이터는 그 출발점이지만, 코드 실행 결과와 다른 연구실에서의 소자 재현은 각각 확인할 일이다.[3]
독자가 남겨 둘 질문은 간단하다. 어떤 연산을 메모리 안으로 옮겼고, 어디의 오차를 보호했으며, 어느 성과가 실측이고 어느 성과가 모델링인가? 이 세 가지를 분리하면 MSVD의 실제 진전과 아직 남은 검증을 같은 그림 안에서 읽을 수 있다.