특집
정부출연연구소 I: 정부출연연구기관의 차세대 반도체 및 컴퓨팅 연구
랜덤 소자를 이용한 확률연산컴퓨팅 소개
작성자 : 이억재·홍석민 ㅣ 등록일 : 2023-10-31 ㅣ 조회수 : 10,988 ㅣ DOI : 10.3938/PhiT.32.028
이억재 책임연구원은 서울대학교에서 물리학과 수학으로 학사, Cornell 응용물리학과에서 공학박사를 취득했고, UC Berkeley에서 박사후 연구원으로 근무한 후, 2015년부터 한국과학기술연구원 스핀융합연구단에서 재직 중이다. (ojlee@kist.re.kr)
홍석민 선임연구원은 서울대학교 전자공학과에서 학사, Purdue 전자공학과에서 공학박사를 취득하고, INTEL 연구원을 거쳐, 2017년부터 한국과학기술연구원 스핀융합연구단에서 재직 중이다. (shong@kist.re.kr)
Probabilistic Computing Based on Random Devices
OukJae LEE and Seokmin HONG
Recently, a new type of computing called as probabilistic computing approach has shown its broad application in various problems ranging from combinatorial optimizations and machine learning to quantum simulation where a randomly fluctuating bit (p-bit) constitutes a basic building block. This computing scheme tackles computationally hard problems in specific domains that can be efficiently solved using probabilistic algorithms compared to conventional deterministic computers. Here, we broadly review several aspects of this computing scheme starting from its building blocks and system network to working principles/algorithms and a family of problems that can be solved. By leveraging emerging nano-devices together with existing CMOS technology, we believe probabilistic computers can not only provide a valuable new approach to tackling computationally hard problems but also reveal the unknown power of probabilistic samplings by improving the speed and energy efficiency significantly.
들어가며
무엇을 어떤 방식으로 “계산”한다는 것은 우리에게 어떤 의미일까? 약 1만 년 전 기후가 안정화되면서, 인류는 농경과 가축사육을 시작했다. 그러면서, 주기와 날씨를 예측할 필요가 있었고 물물 관리와 거래를 위해 사칙연산 능력은 필수가 되었다. 우연인지 모르겠지만, 손가락 개수와 같은 10진법을 사용하였고, 4‒5천 년 전 주판을 발명한 이후 우리의 계산 능력은 한층 더 발전하였다. 그 후, 18세기 산업 혁명과 과학 발전은 우리에게 더 복잡한 문제를 더 빠른 시간 내 계산할 것을 요구하였고, 마침내 1940년대 이후 발명된 2진법 기반 트랜지스터와 폰노이만 방식 컴퓨터는 우주 탐사선 경로의 정확한 예측, 슈퍼컴퓨터를 통한 날씨 예측, 스마트기기를 통한 상시 통신등과 같이 첨단 문명시대를 가능케 했다. 하지만, 이 방식은 사칙연산이나 비트 연산 등에서는 매우 효율적이지만, 정확한 논리나 규칙을 특정하기 어려운 영역이나 계산학적으로 어렵다고 알려진 문제들에 대해서는 비효율적임이 알려져 있다. 우리 뇌의 패턴인식이나 언어 모델이 대표적인 예이고 다른 한편으로는 수많은 경우의 수에서 가능한 답을 찾는 최적화 문제(단백질 접힘, 화학반응) 같은 문제들이 또 다른 예이다. 하지만 이러한 연산들이 직관적으로 혹은 자연계에서는 작은 에너지로 자연스럽게 이루어지는 과정이라는 점에서 좀 더 나은 접근법이 있지 않을까 고민하게 된다. 여기서 그 시도 중 하나인 확률론적 컴퓨팅(probabilistic computing)에 대해서 소개하고자 한다.
차세대 컴퓨팅의 필요성
최근 IOT 기기의 보급과 클라우딩 서비스 증가로 정보통신(ICT) 연산 시간, 데이터 처리량과 에너지 소비량은 기하급수적으로 늘어나고 있다. 하지만, TSMC와 삼성전자가 트랜지스터의 유효 게이트 거리를 2‒3 nm 이하까지 줄이는 데 성공하였으나, 현 반도체 공정 기술은 근본적인 발전 한계에 직면하고 있다. 이러한 병목 상황을 돌파하고자 근본적으로 연산 효율성이 증대된 신개념 컴퓨팅 방식들이 제안되고 있는데, 가장 대표적인 것이 뉴로모픽, 양자, 확률론적 컴퓨터들이다.
뉴로모픽 컴퓨팅(neuromorphic computing)은 빅데이터 학습을 기반으로 인지(패턴인식, 분류), 추론(진단, 예측)과 같은 고전적인 컴퓨팅 기술로는 구현이 복잡한 기능에 대해 인간의 학습방식과 뇌 동작을 모사하여 문제를 해결하는 신경망 모사 컴퓨팅 기술이다. 이 방식은 기존 CMOS 기술을 이용한 GPU, TPU, NPU와 같은 하드웨어 가속기 개발부터, 실제 뇌의 동작을 모사한 spiking neural network (SNN) 기반 두뇌 모방형 컴퓨터까지 매우 다양한 기술들을 연구 중이다. 하지만, 복잡성 증가에 따른 에너지 소모 측면에서 아직 많은 개선이 필요하다. 이를 해결하기 위해 국내외 연구실에서 저항 메모리(ReRAM), 자성 메모리(MRAM), 강유전 메모리(FRAM) 등 신소자 기반 인공 시냅스 및 뉴론 개발을 바탕으로 벡터·매트릭스 연산에 최적화된 크로스바 어레이를 제작하여 음성 및 이미지 정보의 패턴 인식이 가능한 신경모사칩들을 구현하고 있다. 그리고 신소자들을 인공지능 연산에 특화된 기억(메모리)과 연산(프로세서)을 통합한 process-in-memory (PIM) 반도체에 적용하여, 현 컴퓨팅 방식에서 발생하는 데이터 병목 현상 및 전력 소모 문제를 해결하려고 노력하는 중이다.
양자 컴퓨팅에서는 정보는 “0”과 “1” 두 가지 상태에 있을 확률을 표현할 수 있는 즉, |0〉의 양자상태와 |1〉의 양자상태가 “중첩(superposition)”될 수 있는 양자 비트(quantum bit, Q-bit)로 표현된다(그림 1). 양자세계의 고유한 현상인 중첩과 얽힘 등을 이용하여, 많은 정보들이 한 번에 중첩되어 표현되고 계산될 수 있어, 이를 활용할 수 있는 훌륭한 알고리즘과 결합하면 현 컴퓨터에서는 매우 오래 걸리는 계산 문제를, 예를 들면 소인수분해문제, 훨씬 더 빨리 풀 수 있다. 우리는 전자상거래, 은행, 보안 통신 등에서 공개키-암호키 방식을 사용하고 있는데, 이는 소인수 분해의 어려움이라는 수학적 사실에 기반하고 있다. 현재 표준인 RSA-2048(즉, 두 소수의 곱셈이 2048 비트 길이)의 암호문을 계산하려면, 전 세계 모든 컴퓨터를 총동원하더라도 수십 년 이상이 걸릴 것으로 예상된다. 하지만, 양자 컴퓨터가 개발된다면 이를 수 시간 만에 계산해 낼 수 있다. 궁극적으로 의료, 금용, 물류, 항공우주, IT 등 여러 분야에 활용할 수 있고, 빅데이터, AI 기술과 결합하면 그 파급력이 매우 크다.
양자컴퓨팅 연구는 1990년대 미국을 중심으로 시작된 이래 최근 Google, IBM, Microsoft 등 대기업들의 대규모 투자 및 양자 우월성 성취(2019년)로 많은 관심과 기대를 받고 있다. IBM과 Google은 대표적인 양자 컴퓨터 보유 기업으로 초전도체 기반 게이트 방식 양자 컴퓨터(gate-based quantum computer)를 보유 중이며 현재 100개 이상의 Q-bit 기반 범용 양자 프로세서를 개발 중이며, 캐나다 D-Wave는 5,000개 Q-bit으로 이루어진 어닐닝 방식 양자 컴퓨터(quantum annealer /simulator)를 개발하는 중이다. 하지만, 양자컴퓨팅 기술은 초전도체, 이온트랩, 광자, 다이아몬드 결함, 양자점 등 기존 반도체 산업에서 사용하지 않는 물질 및 구조를 사용하여 새로 개발이 필요하다. 그리고 현재까지 구현되고 있는 양자 시스템 중 가장 발전한 초전도체, 이온트랩 기반 Q-bit는 초극저온(< 1 mK), 고진공 환경에서만 동작하고, 외부 노이즈에 매우 민감하여 정상적으로 동작하는 데 매우 제한적이다. 이어서 오류 정정 문제, 확장성 문제, 알고리즘 개발 등 해결해야 할 기술적 문제들이 많아 좀 더 시간이 필요할 것으로 예상된다. 몇 년 전 제품화된 캐나다 D-Wave 시스템은 아직 주로 기초적인 연구 목적에서 제한적으로 사용되고 있다.
확률 연산 컴퓨터의 등장
확률론적 컴퓨팅은 2017년 Purdue대학 Supriyo Datta 교수 연구팀이 물성 수준의 무작위성을 이용한 확률론적 비트를 바탕으로 양자 어닐러(quantum annealer) 연산 방식과 인공 신경망(neural network) 구조를 활용하여 제안한 신개념 컴퓨팅 방식이다.1) 2019년에는 Purdue 대학과 일본 Tohoku대학은 공동 연구를 통해 나노자성소자 기반의 확률론적 컴퓨팅을 통한 3자리 수 합성수에 대한 인수분해 연산 결과를 발표하였다.2) 이는 하드웨어 수준에서 실제 동작을 시연하여 이 컴퓨팅 방식의 가능성을 보여주었다. 특히 해당 기술은 나노물성수준에서 발현되는 무작위성을 활용한다는 점에서 초저전력으로 동작이 가능하고, 기존 자성 메모리(MRAM)에서 이용되는 나노자성소자인 자기터널접합 기술을 활용한다는 점에서 실현 가능성이 매우 높을 것으로 예상되어 많은 관심을 받고 있다. 2022년에는 UCSB대학 연구팀은 FPGA 기반으로 구현된 확률 컴퓨터로 32비트 합성수의 소인수 분해 연산을 보임으로써 이미 양자 컴퓨팅을 포함하여 차세대 컴퓨팅 방식 중 최고 성능을 보여주었다.3) 뿐만 아니라 다양한 신소자들(STT-MTJ, SOT-MTJ, ReRAM, 상전이소자, 비선형오실레이터, 2차원소자 등)을 이용한 후속 연구들이 진행되고 있음을 볼 때 확률 컴퓨터의 발전은 상당히 빠르게 진행되고 있음을 알 수 있다.
확률 비트 개념
확률론적 컴퓨팅에서 단위 정보는 조절 가능한 확률을 가진 무작위성 비트(probabilistic bit, P-bit)로 표현된다(그림 2). P-bit은 기존 디지털 비트(“0” 혹은 “1”의 명확한 안정 상태)와 다르게, 외부 아날로그 신호(\(\small I_i\))가 비트에 입력되지 않으면(혹은 \(\small I=\) 0이면) 출력 디지털값(\(\small V_{\text{out}}\))이 “0”과 “1” 두 상태 사이에서 무작위로(랜덤하게) 진동한다. 즉, 시간에 따라 “0”과 “1”의 상태가 각각 50%의 확률로 존재한다. 하지만, 0이 아닌 \(\small I_i\)가 P-bit에 입력이 되면, \(\small V_\text{out}\) 값은 두 상태 사이에서 랜덤하게 진동하지만 “0” 또는 “1” 한쪽으로 더 선호되게 된다. 즉, 상대적인 확률 혹은 출력 평균값이 \(\small \tanh(I_i)\)을 따르게 조절된다. 이를 수학적으로 표현하면 \(\small \langle V_\text{out}\rangle = \text{sign}[\tanh(I_i) + \text{rand}(-1,+1)]\)이다. 참고로 여기서 \(\small \text{sign}[~]\)는 \(-\)1 또는 1로 괄호 안 값의 부호를 나타내며 \(\small \text{rand}(-1,+1)\)는 \(\small -\)1과 1 사이의 랜덤한 값을 나타낸다(그림 2). 이는 \(\small |0\rangle\)과 \(\small |1\rangle\)의 두 가지 상태에 확률적으로 중첩되어 있는 양자 컴퓨팅의 Q-bit과 비교되는 개념이다(그림 1).
Fig. 2. Characteristics of probability bit (P-bit): random telegraph fluctuation between two binary states and controllability of its relative retention probability.
P-bit이 될 수 있는 물리적 시스템 후보들 중 하나는 스핀 정보를 이용하는 자기터널접합소자(magnetic tunnel junction, MTJ)이다. 이는 그동안 차세대 메모리 소자로 알려져 있는데, 적절한 물질과 구조 공정으로 조절 가능한 랜덤 소자가 될 수 있다. MTJ 소자는 읽고자 하는 강자성층과 자화방향이 고정된 강자성체 사이에 절연체(tunnel barrier)를 넣어 스핀 의존 터널링을 통해 자기저항비(tunneling magneto-resistance, TMR)를 향상시킨 구조이다. 이 소자는 두 자성체의 상대적인 자화 방향이 평행, 혹은 반평행 상태에 따라 두 가지 다른 저항을 가지며, 각각 “0”과 “1”이라는 디지털 신호로 구별된다. 이 MTJ 소자는 차세대 메모리인 임베디드 MRAM (eMRAM)에서 가장 핵심 구성요소인데, 2019년부터 삼성전자, TSMC 및 Global Foundries 등에 의해 상용화되는 데 성공하였다.
현재 비휘발성 메모리 목적의 MTJ 소자의 경우 정보 상태를 오랫동안 안정적으로 유지하기(\(\small >\)10년) 위해 자유자기층의 열 활성화 장벽 에너지(thermal energy barrier, Eb)를 높이는 방향으로 연구되어 왔다. 예를 들어, “0”과 “1” 사이의 장벽 에너지가 1 eV 값을 가질 때 상온(300 K, kBT = 0.025 eV)에서는, 열적 에너지에 의해 7‒8년 동안 약 1번의 확률로 bit가 랜덤하게 뒤바뀔 수 있다. 따라서 기존의 MTJ 기반 eMRAM 연구에서는 비트 유지 시간 및 안정성을 늘리기 위해서 열적 안정화 지수(\(\small\Delta_0=\) Eb/kBT) 값을 높이는 데(\(\small >\)60) 목표를 두었다.
Fig. 3. Factorization operation using random MTJ-based probabilistic computer.2)
반대로 MTJ 내 자유 자기층의 \(\small \Delta_0\) 값을 낮추면 열적 여기(thermal activation)에 의해서 무작위성을 발생시킬 수 있다. 일례로 \(\small \Delta_0\)를 15로 낮추면, 비트 유지 시간이 수 밀리초(ms) 수준이 된다(그림 3). 이때 소자는 두 저항 사이 혹은 “0”과 “1” 사이를 평균 수 ms 주기로 무작위하게 진동(fluctuating)하는 상태가 된다. 그리고 \(\small \Delta_0\)를 1‒2 수준까지 낮추면 무작위 진동 주기를 수 나노초(ns)까지 낮출 수 있다. 그리고 소자에 전기적 신호를 입력하면 무작위성의 방향성 조절도 가능하다. MTJ 소자에 외부 자기장, 전기장 혹은 스핀 전류(스핀 극화 전류 혹은 순수 스핀 전류)를 방향성 있게 인가하면 “0” → “1”과 “1” → “0”의 상대적인 유효 에너지 장벽(\(\small \Delta\)) 크기를 조절할 수 있다. 따라서 외부 신호의 방향과 크기에 따라, “0” 또는 “1”에 머무는 상대적인 확률이 조절 가능하다. MTJ 소자는 이미 비휘발성 메모리 소자로 상용화되는 데 성공하였기 때문에, 현 공정 기술을 대부분 그대로 사용할 수 있다. 단지 비휘발성을 낮추는 방향으로 자유 자기층 구조 및 물질 개발과 최적화된 P-bit 입출력 주변 회로 개발이 필요하다. 그리고 열적 여기를 이용하기 때문에 소모 전력이 매우 낮고, 개발비용, 칩면적 등에서 여타 기술 대비 장점이 많다.
MTJ 소자 이외에도 다양한 방식으로도 P-bit 구현이 가능하다. 무작위한 전기적 신호는 존슨-나이키스트(Johnson-Nyquist) 열잡음이 대표적이며, 링 발진기(ring oscillator)의 위상 잡음 등 여러 물리 시스템에서 관측되었다. 하지만 이들은 P-bit 요구 조건인 2준위계(TLS) 상태 및 조절 가능한 무작위성을 충족시키지 못하는데, 이를 만족시키기 위해서는 추가되는 회로 구성 요소가 많으며 비효율적이다. 산화물 기반 저항 메모리(resistive RAM or memristor), 상전이 물질 기반 소자, Mott IMT, OTS 등 비선형 오실레이터, 2차원 물질 기반 소자, 전계효과 트랜지스터와 같은 여러 신소자에서도 무작위 특성이 발현된다. 일례로, 금속과 금속 사이에 붙잡힌 전자, 산소 혹은 원자 결함이 열적 여기에 의해 메모리 채널 및 트랜지스터 게이트 산화층 내 서로 다른 두 위치 사이를 무작위로 오가며 2준위 저항 상태를 보여주는 사례는 많이 보고되어 왔다. 이러한 신소자들도 그동안 연구가 많이 되어서 경험이 상당히 축적되어있고, 소자구조가 비교적 단순하기 때문에 빠른 개발이 가능하다. 하지만, 무작위 동작을 정확하게 제어하면서, 신뢰성 있게 그리고 대량으로 비슷하게 제작하는 데 많은 어려움이 있어 이러한 부분들에서 획기적인 개선이 필요하다. 현 CMOS 회로에서 많이 쓰이는 선형 피드백 시프트 레지스터(linear-feedback shift register), ring oscillator를 이용하면 의사 이진 난수열(pseudo random binary sequence)을 만들 수 있다. 현 반도체 공정 기술을 그대로 사용할 수 있기 때문에, 회로 설계를 통해 빠른 개발이 가능하다. 하지만, 진성 랜덤성(true randomness)이 아니라는 점, 신소자 이용하는 방식에 비하여 회로 구성이 복잡한 점, 단위 P-bit당 요구되는 트랜지스터 개수가 많아(\(\small >\)1000‒5000개) 요구되는 전력 소모와 회로 면적이 매우 높은 것이 단점이다.
확률 연산 개념
확률 컴퓨팅에서 연산은 랜덤한 P-bit들을 여러 개 연결한 시스템을 구성하여 주어진 문제 풀이를 수행하게 된다. 이때 각각의 P-bit은 주변 다른 P-bit들의 상태에 영향을 받게 되는데 이는 일반적으로 다음과 같은 수식으로 표현된다.
\[I _{i} =f(m _{1} , \cdots , m _{N} )= \sum_{j} W _{ij} m _{j} +h _{i}\]
함수 \(\small f\)나 행렬 \(\small W\)는 우리가 풀고자 하는 문제와 그 문제 풀이 알고리즘에 따라 달라진다. 현재 여러 가지 다양한 접근법들이 알려져 있는데 디지털 컴퓨팅회로, 인공신경망 그리고 단열 양자 어닐러(adiabatic quantum annealer) 연산 알고리즘 등에서 알려진 방법을 차용하거나 확률 연산 개념에 맞추어 새로운 알고리즘을 개발하여 볼츠만 머신, 베이지안 네트워크, 양자 알고리즘과 같은 다양한 문제에 적용할 수 있다. 각 P-bit의 확률 재분포는 인공신경망에서 사용하는 연산방식과 유사한 “입출력 네트워크 간 가중치 재설정 방식”을 통해 조절이 이루어진다. 연산을 위해서 P-bit들 사이 연결과 상호작용이 필요하므로 다른 P-bit들의 신호를 받아들이는 입력과 다른 P-bit들에게 신호를 보내는 출력이 동시에 요구된다. 이때 각 P-bit의 입력값 설정을 통해 이진 랜덤 출력값의 평균을 조절할 수 있으며, 반대로 출력 값 설정을 통해 가능한 입력 값들의 확률을 결정할 수 있음을 의미한다. 이러한 스냅스 네트워크 구성은 각각의 P-bit이 최신 정보를 받을 수 있게끔 충분히 빠른 속도로 동작하여야 하며 풀려고 하는 문제에 따라 동기 또는 비동기식으로 작동하게 된다.
다양한 문제풀이 접근법 중 가장 널리 알려진 방식은 에너지에 기반한 함수형식이다. 기본원리는 열평형 상태에 있는 독립된 시스템에서 더 낮은 에너지 상태가 더 자주 관측된다는 “볼츠만 열평형 법칙”에 있다. 단열 양자 어닐러 방식은 풀고자 하는 특정 문제를 해밀토니안 함수 혹은 에너지 비용 함수로 표현하는데, 이 함수를 적절히 응용하여 확률 컴퓨팅에 적용할 수 있다. P-bit는 기본적으로 디지털값(\(\small m_i = -\)1 or \(\small +\)1)을 무작위하게 출력하는데, N개의 P-bit으로 이루어진 시스템에서 에너지가 \(\small E(m_1 , m_2, \cdots, m_N\))로 정의될 때, 각 P-bit에 입력값을 \(\small I_i = -\partial E(m_1, m_2, \cdots, m_N)/\partial m_i\)으로 주게 되면, 시스템이 시간에 따라 볼츠만 법칙을 따르는 확률 네트워크 시스템이 된다는 사실이 알려져 있다. 즉 시스템의 더 낮은 에너지 상태가 더 높은 비율(확률)로 관측이 되며, 이때가 해당 문제의 정답이 되게끔 에너지 함수를 주게 된다.
확률연산 컴퓨터가 구현 가능한 특이한 작동 방식 중 하나는 역연산 논리회로 구현이 가능하다는 점이다. 현재 CMOS 기반 논리회로에서는 “입력”→“출력”한 방향으로 신호가 전달되고 역방향 즉 “출력”→“입력”의 신호 전달은 일어나지 않는다. 이에 반해 확률연산 컴퓨터는 양방향 작동이 가능한 논리회로를 쉽게 구현할 수 있다. 이러한 새로운 방식의 컴퓨터를 연구하는 이유는 소인수 분해의 예처럼 자연계에는 정방향 계산은 쉽지만 역방향 계산은 어려운 문제가 많이 있기 때문이다. 따라서 정방향 계산기를 확률연산 컴퓨터로 구현해놓으면 이를 역으로 작동하게끔 하여 역방향 계산도 풀 수 있다. 계산 복잡도 분야에서 충족가능성 문제(boolean satisfiability, SAT)처럼 NP (non-deterministic polynomial) 문제라고 알려진 것들도 확률연산 컴퓨터의 역연산을 적용할 수 있다. 이러한 문제는 일반적으로 문제의 크기가 커질수록 계산해야 할 복잡도는 매우 빠르게 증가하는 문제들의 집합으로 쉽게 이야기하면 문제 자체를 풀기는 어렵지만 역으로 답을 알면 검산은 쉬운 문제라고 할 수 있다. 이러한 문제들은 컴퓨터 회로 설계처럼 실용적인 문제들과 밀접하게 관련이 되어 있지만 기존의 컴퓨팅 방식으로는 해결하기가 힘들어 새로운 접근법이 요구되고 있다.
여기에서는 역연산 논리회로의 단순한 예를 XOR 로직 gate로 이해해보자(그림 4). 논리회로에서 XOR gate는 3비트로 이루어지므로(입력 x1, x2 출력 y1), 확률 컴퓨팅 시스템에서는 최소한 3개의 P-bit이 필요하다. 3개의 P-bit로 이루어진 시스템의 가능한 상태는 총 23 = 8가지가 되는데 이중에 XOR 진리표를 만족하는 4개의 상태가 시스템의 최소 에너지(\(\small E\))가 되게끔 에너지 함수를 정의할 수 있다. 여기서 에너지는 각 비트들의 디지털 값 0과 1 대신에 스핀(m) 값 \(\small -\)1, 1의 값을 가지는 상태 변수(mx1, mx2, my1)로 변환되어 표현되는데, 시스템 에너지를 \(\small E=\) mx1, mx2, my1으로 정의해 주면 위의 조건을 만족하게 된다. 상호 작용이 적용된 이 시스템은 8개 상태 중 XOR 진리표에 해당하는 4가지 상태가 더 낮은 에너지 상태가 되고 더 높은 빈도로 관찰된다.
정방향 연산의 경우 두 개 입력으로부터 가능한 출력 값을 계산하게 되는데 입력비트 두 개를 고정시키고 출력 비트의 값을 얻게 된다. 예를 들어 두 입력 비트 (x1,x2)를 (1,1)로 고정시킨 경우 출력은 y1 = 0의 값을 갖게 되고 이는 확률론적 컴퓨팅으로 계산하였을 때 가장 높은 확률로 출력된다.
역방향 연산의 경우 예를 들어 출력(y1)을 고정시켰을 때 가능한 입력조합(x1,x2)을 계산하는 경우를 생각해보자. 출력 비트는 y1 = 1로 고정시키고 이에 따른 입력 비트의 값들을 얻게 된다. 확률연산 컴퓨터는 이 경우엔 입력값 두 가지 상태 (0,1), (1,0)을 비슷한 값의 높은 확률로 출력하게 된다. 이는 한 가지 상태만 표시할 수 있는 기존 컴퓨팅으로는 표현할 수 없지만, 확률연산 컴퓨팅에서는 가능한 입력 조합들이 시간에 따라 골고루 나타나기 때문에 가능하게 된다. 이와 같이 확률론적 컴퓨팅에서는 일반적인 논리 연산의 경우 정방향 연산뿐 아니라 현 컴퓨팅 방식으로는 힘든 역연산이 가능함을 알 수 있다.
이러한 스냅스 네트워크는 다양한 나노소자를 활용하는 P-bit와는 달리 지금까지는 대부분 디지털 CMOS 기반으로 만들어져 왔다. 하지만 선형적 네트워크의 경우 필요한 계산이 인공신경망에서 흔한 행렬 벡터 곱이기 때문에 아날로그 CMOS회로나 저항 또는 커패시터를 활용한 crossbar 형태의 연구도 진행 중이다.
확률 연산 컴퓨터의 가능성
이와 같이 기본 논리 gate 및 Half/Full Adder와 이를 결합한 조합 논리회로를 확률 컴퓨팅 방식으로 구현할 수 있다. 그리고 이들을 확장하여 덧셈기를 만들어서 뺄셈기로 작동시키거나 subset-sum 문제를 풀게 할 수 있고 또는 곱셈기를 만들고 역으로 인수분해기를 구현할 수 있다. “소인수 분해”의 경우, 현대 암호/보안체계의 안정성과 직결되며 대중적으로도 매우 관심도가 높은 문제이다. 일례로, 두 소수(prime number) 간의 곱 연산은 매우 쉽지만, 300자리 이상의 합성수를 두 개의 소수로 분해하는 연산은 현 컴퓨팅 방식으로는 매우 오랜 시간이 걸린다. 확률 컴퓨터에서는 출력 값에 설정된 합성수로부터 역연산을 통해 높은 확률을 가지는 소수 조합을 찾을 수 있으며, 이들을 기존 컴퓨팅으로 곱셈 연산을 하여 답을 확인하는 것은 쉬운 일이다. 양자컴퓨팅 또한 소인수분해 알고리즘 (Shor’s algorithm)이 알려진 후 본격적인 연구가 시작되었는데 일반적으로 극저온에서 이루어지고 짧은 양자 결맞음(quantum coherence) 시간과 난이도 높은 양자 얽힘(quantum entanglement) 현상 때문에 기술적인 어려움이 아직 많다.
Fig. 5. Examples of applications of probabilistic computing.4)
예를 들어, 단백질 구조 접힘(protein folding) 문제를 확률 컴퓨터를 이용하여 빠르게 계산해낸다면 단백질 구조 예측과 이를 통한 신약/백신개발 시 도움이 될 수 있다. 도시를 한 번씩만 방문하고 돌아오는 최소한의 길을 찾는 순회 외판원 문제(traveling salesman problem, TSP)도 확률 컴퓨팅적 접근이 가능하다. 이외에도, 3-colorability, Hamiltonian Cycle, Max Cut-Clique, Subset Sum 등과 같이 다양한 NP 완전/난해 문제, 기계학습에서 볼츠만 머신(Boltzmann machine in machine learning), 고전적 담금질 기법(classical annealing problems)을 활용한 최적화, 양자 볼츠만 법칙(quantum Boltzmann law)을 활용한 최적화, 베이지안 추론(Bayseian inference) 등에도 활용될 수 있다1)(그림 5). 궁극적으로 이러한 문제들은 물류 분류 및 배송, 드론, 자율주행차 등 경로 및 스케줄링 최적화, 신약 개발(단백질접힘), 보안(암호화/복호화), 신물질 개발(분자 동역학) 등 실생활에 도움이 되는 시스템에 적용될 수 있어 우리의 에너지와 시간을 많이 절약해 줄 것으로 기대할 수 있다(그림 6).
맺음말
확률 컴퓨팅의 특징을 정리하면 다음과 같다. 1) “상온” 동작 가능, 2) 논리회로의 “역연산” 가능, 3) 검증된 신소자들과 현 공정 기술 이용 가능, 4) 병렬 연산방식, 5) 다체 상호작용 (many body interaction) 네트워크, 6) 적절한 알고리즘을 통해 다양한 계산학적 난제를 수행 가능(최적화). 확률 컴퓨팅 기술은 아직 초기 연구단계로 선제적인 연구가 이루어지면 원천기술 확보가 가능하다. 랜덤 신소자, P-bit 입출력회로, 확률 연산 알고리즘, 네트워크 설계 및 칩 개발 등의 요소 기술에 대해 통합적이면서 유기적인 연구가 필요한 분야로, 융합연구소인 한국과학기술연구원(KIST)에서도 관련 연구들이 진행 중이다.
뉴로모픽 컴퓨터, 양자 컴퓨터, 확률론적 컴퓨터 모두 현 컴퓨팅 기술로는 계산이 힘든 연산 해결에 강점을 지닌 차세대 컴퓨팅 기술이다. KIST를 포함한 국내외 연구진들이 이들의 장단점을 유기적으로 상호 보완시키면서 발전시켜 간다면, 비메모리 반도체 분야에서 선도적인 경쟁력 확보와 궁극적으로 우리에게 다음 단계의 문명을 인도할 수 있을 것이다.