AI VIDEO BRIEFING
랜덤화 수치선형대수(RandNLA), 최소제곱과 SVD를 수십 배 빠르게 만드는 무작위 스케치의 원리
그래픽스부터 딥러닝까지 떠받치는 수치선형대수에 잘 배치된 무작위성을 더하면 정확도를 거의 잃지 않고도 속도를 끌어올릴 수 있다. 최소제곱과 SVD, QR 분해에서 확인된 실제 성능과 그 원리를 정리했다.

핵심 메시지
쉽게 이해하기
영상은 수치선형대수(NLA)가 무엇이고 왜 중요한지에서 출발한다. 3차원 물체를 화면에 투영하고 회전시키는 그래픽스 연산은 물론 기상 예측, 데이터 압축, 구조 해석용 유한요소법, MRI의 압축 센싱, 유체 시뮬레이션, 추천 시스템과 검색, 그리고 심층 신경망까지 모두 이 위에 서 있다. 이 분야를 이끌었던 진 골럽은 20세기의 가장 중요한 알고리즘 열 개 가운데 여섯 개가 수치선형대수와 관련이 있다고 지적하기도 했다.
선형대수가 강력한 이유는 '선형이라고 가정하는 순간' 아주 적은 정보로 함수 전체를 결정할 수 있기 때문이다. 임의의 함수라면 두 점을 지나는 함수가 무한히 많지만, 선형을 가정하면 답은 하나뿐이다. 문제는 이를 컴퓨터로 빠르게 푸는 일이다. 기계는 수를 유한한 정밀도로만 표현해 덧셈의 결합법칙조차 성립하지 않고, 같은 행렬 곱이라도 연산 순서에 따라 데이터 이동량과 캐시 활용이 달라져 속도가 크게 갈린다.
그래서 이 분야의 역사는 하드웨어를 뒤쫓아 소프트웨어를 다시 쓰는 반복이었다. 1947년 폰 노이만과 골드스타인의 초기 연구, 1957년 포트란, 1960년대 윌킨슨의 알고리즘 정리(튜링상 수상)를 거쳐 1979년 BLAS와 LINPACK이 나왔고, 벡터 프로세서와 캐시 기반 병렬 구조가 등장할 때마다 BLAS 2·3이 뒤따랐으며 1992년 LAPACK으로 이어졌다. 오늘날 파이썬·R·매트랩·C++로 하는 선형대수는 대부분 이 계보의 소프트웨어를 부르고 있고, 분산 메모리용 ScaLAPACK, GPU용 MAGMA와 cuBLAS 같은 파생이 생태계를 이룬다.
이 성숙한 분야에 균열을 낸 것이 '랜덤화 수치선형대수' 논문이다. 핵심 예시는 어디에나 등장하는 최소제곱 문제다. 행이 매우 많은 행렬에서 기존 최선의 알고리즘은 대략 mn²의 연산이 필요한데, 작은 오차 ε을 허용하면 무작위 알고리즘은 mn·log(1/ε) + n³ 수준으로 푼다. n이 수천이고 원하는 정밀도가 소수점 몇 자리라면 지배항의 비율만 따져도 1000배 가까운 가속이 계산된다. 실제로는 생략된 비용 때문에 그 정도까지는 아니지만 20배 수준의 이득이 관측되는데, 같은 이득을 하드웨어로 얻으려면 비용과 전력을 20배 써야 한다.
원리는 '스케치 후 풀기'로 요약된다. 무작위 행렬 S를 곱해 행 수를 크게 줄인 축소 문제를 만들고 그것을 푸는데, 높은 확률로 원래 문제에서의 오차가 최적값과 거의 차이가 없다. 직관적으로는 원 데이터와 축소 데이터의 공분산 구조가 비슷해지기 때문이며, 원하는 근사 수준과 그 확률을 정하면 S의 크기가 정해진다. 실측도 뒤따른다. 저계수 행렬용 랜덤화 SVD는 기본 SVD 대비 40~100배, 키 큰 행렬용 랜덤화 QR 알고리즘은 LAPACK의 열 피벗 QR 대비 10~20배 빨랐고 오차는 기존 루틴과 견줄 만했다. 발표자는 통신 회피 알고리즘이나 전용 가속기와 달리 무작위화는 순수한 수학적 아이디어라 특정 하드웨어에 묶이지 않는다는 점을 가장 큰 강점으로 꼽는다.
주요 인사이트
- 정확한 답을 최대한 빨리 구하던 목표가, 충분히 가까운 답을 높은 확률로 빨리 구하는 목표로 바뀌었다는 점이 이 흐름의 본질이다. 데이터 자체가 잡음 섞인 근사인 머신러닝 시대에는 이 교환이 훨씬 자연스럽다.
- 가속의 크기를 정하는 것은 결국 문제의 모양이다. 행이 수백만인데 열은 수천인 '키 큰' 행렬이나 저계수 행렬처럼, 요약해도 정보 손실이 적은 구조에서 이득이 가장 크다.
- LAPACK이 모든 연산을 잘 최적화된 행렬 곱으로 환원해 속도를 얻었듯, 무작위화는 '빠르게 풀리는 새로운 기본 연산'을 하나 더 제공한다. 최소제곱이 싸지면 다른 문제들을 최소제곱의 반복으로 다시 쓰려는 시도가 이어진다.
- 제안된 RandBLAS·RandLAPACK이 자리 잡는다면 게임 그래픽스부터 기상 예측, 인공지능까지 같은 소프트웨어 층을 쓰는 분야 전체가 한꺼번에 혜택을 본다. 반대로 말하면 이 층의 개선은 응용 분야 하나를 고치는 것보다 파급력이 크다.
자주 묻는 질문
무작위 알고리즘인데 답을 믿어도 되나요?
영상에 따르면 오차 수준과 그 오차가 지켜질 확률을 미리 정할 수 있고, 그에 맞춰 무작위 행렬의 크기가 결정됩니다. 소개된 QR 사례에서는 오차를 충분히 작게 만들 수 있어 기존 LAPACK 루틴과 사실상 같은 품질이었다고 설명합니다.
실제로 얼마나 빨라지나요?
이론상 계산되는 비율은 1000배에 가깝지만 생략된 비용 때문에 실제로는 20배 수준이라고 말합니다. 저계수 행렬용 랜덤화 SVD는 40~100배, 키 큰 행렬용 랜덤화 QR은 LAPACK 대비 10~20배로 측정됐습니다.
속도를 올리는 다른 방법과는 어떻게 다른가요?
데이터 이동을 줄이는 통신 회피 알고리즘과 전용 하드웨어 가속기도 효과적이지만, 각각 특정 하드웨어에 맞춰 설계돼야 하거나 만들어진 뒤에는 기능을 바꿀 수 없습니다. 무작위화는 수학적 아이디어여서 이런 제약이 적고 두 방법과 함께 쓸 수도 있습니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗