본문 바로가기
MTJ

양자컴퓨터를 기다리시나요? 확률론적 컴퓨팅은 어떠신가요?

by 도른자(spinor) 2021. 12. 12.
728x90

확률론적 컴퓨팅을 위한 MTJ의 물리적 접근법과 회로공학에 대한 내용은
확률론적 컴퓨팅(Probabilistic Computing)글을 참고해주세요.

참조문헌

[1] PROBABILISTIC COMPUTING: FROM DEVICES TO SYSTEMS, Jan Kasier
[2] Advanced Research into AI, Ising Computer, Masanao Yamaoka et al.
[3] SPINTRONIC DEVICES AS P-BITS FOR PROBABILISTIC COMPUTING, Punyashloka Debashis
[4] ON SPIN-INSPIRED REALIZATION OF QUANTUM AND PROBABILISTIC COMPUTING, Brian M. Sutton
[5] EVALUATION OF STOCHASTIC MAGNETIC TUNNEL JUNCTIONS AS BUILDING BLOCKS FOR PROBABILISTIC COMPUTING, Orchi Hassan
[6] Theory of Ising Machines and a Common Software Platform for Ising Machines, Shu Tanaka
[7] www.annealing-cloud.com 
[81] WAITING FOR QUANTUM COMPUTING? TRY PROBABILISTIC COMPUTING


I. Introduction

현대의 컴퓨터는 폰 노이만 아키텍쳐에 따라 디자인 됐다. 폰 노이만 아키텍쳐에서는 알고리즘에 입력되어있는 명령어 체계를 수행함으로써 문제를 해결한다. 이 튜링 머신 비슷한 장치는 CMOS 트랜지스터의 기하급수적 성장을 등에 업고 "General Purpose Processor"로서 현대의 정보화 시대를 이끌었다. 이와 반대로 양자컴퓨터는 요소들이 갖고있는 물리적 특성을 이용하는 "Specialized Computing Core"이다. 이는 문제를 풀기 위해 물리적 법칙을 따르며 최근 각광을 받고 있다. 아래 그림은 폰 노이만 기반의 conventional computing과, 물리적 법칙을 따르는 physics based computing이 문제를 접근하는 방법을 도식화 한 것이다.

Fig.1

실제 물리법칙을 시뮬레이션 하기 위해서, (양자)컴퓨터의 빌딩블록은 반드시 물리적 세계를 지배하는 법칙을 포함하고 있어야 한다. 이는 1982년에 Feynman은 그의 논문 "Simulating physics with computers"에서 논의 됐다. 해당 논문은 양자 컴퓨터 분야에 있어 주춧돌이 되는 논문으로 일컬어진다. (물론 이 글의 주제는 아니다.)

해당 논문에서 파인만은,  "컴퓨터로 실제 셰계에서 발생하는 확률론적 현상을 흉내내기 위해서는, 컴퓨터 그자체로서도 확률적이어야 한다" 라고 말했다. 이러한 확률 컴퓨터에서는, 우리가 얻고자 하는 확률들은, 서로 상응하는 node를 통해 구할 수 있다. 이는 일반적인 컴퓨터에서 수행되는 결정론적인 법칙과는 확실히 다른 것일 것이다.

하지만 양자컴퓨터는 perturbation이 최소화 되는 극저온 동작을 요구한다. 이 외의 여러 한계점들로 인해 아직까지는 기업에서 공개하는 클라우딩 컴퓨터 방식으로 밖에 양자컴퓨터를 이용할 수 밖에 없다. 그렇기에 최근 몇년간 확률론적 컴퓨팅이라는 새로운 컴퓨팅 기법이 각광을 받고 있다. 이번 2024년 글로벌 TOP 전략 연구단 선정 과제에 '초거대 계산 반도체 전략연구단' 역시 p-bit 과 관련된 것으로 차세대 컴퓨팅에 대한 많은 관심이 집중되고 있음을 알 수 있다.

확률론적 컴퓨팅은 p-bit이라는 비트단위를 이용하는 컴퓨팅 기법이다. 비트 정보를 저장하는 방법중 하나로서, uniaxial anisotropy를 가지는 자석을 이용하는 방법이 있다. 초기의 컴퓨터들은 magnetic-core 메모리라 알려진 이 방식을 이용하기도 했다. 하지만 초고집적화 시대의 오늘날, 자석들은 작아질 수록 불안정해지기에 magnetic memory를 소형화시키는 것은 쉽지 않다. 하지만 이 단점은 다른 한 편으로 강점이 될  수 있는데, 이 불안정한 자석을 이용해 p-bits을 제작하기 시작하였다. 그리고 2019년, 일본의 도호쿠 대학 연구팀은 8 p-bits으로 이루어진 확률론적 컴퓨터를 만들 수 있었다. 

확률론적 컴퓨터를 만들기 위해 무조건 자석 기반으로 p-bit을 제작할 필요는 없다. 자석 기반의 p-bit을 제작하기 이전에 앞서 우리는 CMOS기반의 pseudo random sequence를 만드는 전자회로를 이용하여 확률론적 컴퓨터를 만들었다. Fijutsu와 같은 회사들은 이미 비슷한 확률론적 컴퓨터를 홍보하고 있다.

하지만, CMOS 기반의 p-bit 1개를 만들기 위해서는 수천, 수백개의 트랜지스터가를 필요로 하며, 근본적으로 unstable magnet을 빌딩 블록으로 제작을 한다면 수개의 트랜지스터만으로도 p-bit이 만들어지게 할 수 있기에, 더 큰 단위의 확률론적 컴퓨터를 가능케 한다.

이러한 확률론적 컴퓨터에서는, p-bit 시스템은 초기 상태에서 final 상태 까지 여러 가능한 중간 상태를 거치며 evolve한다. 컴퓨터가 어떤 path를 택하느냐는 전적으로 확률에 기반하며, 각각의 path는 모두 특정 확률을 갖고있다. 각 path에 대한 모든 확률을 더함으로써, 주어진 final state로 가는 총 확률을 구할 수 있다.

양자컴퓨터 역시 비슷한 작업을 한다, 하지만 양자 컴퓨터의 경우 p-bits대신에 qubits을 이용한다. 이는 즉 각각의 path가 probability amplitude라 불리는 것을 가지며, 이 값은 음수가 될 수도 있다. 더 정확히 말하자면, 복소수를 가진다고 할 수 있다. 다시 말해 probability amplitude가 실수와 허수를 모두 가질 수 있다는 것이다.

양자컴퓨터에서 초기 상태에서 some final state로 가는 총 확률을 결정하기 위해서는 두 상태 사이의 가능한 모든 path에 대한 amplitude를 더해야 한다. 그 final amplitude는 또한 복소수로서, 제곱을 통해 실제 확률을 구하는 이 amplitude의 크기는 0(never happens)과 1(always happens)사이의 값을 가진다.

위에 말한 내용이 바로 확률론적 컴퓨터와 양자 컴퓨터의 본질적인 차이이다. 전자는 확률들을 더하며, 후자는 복소수 확률 amplitude를 더한다.

이 차이점은 생각보다 더 중요하다. 확률들은 1보다 작은 실수들이다. 그러므로 추가적은 path를 더하는 것은 final probability를 증가시킬 수 밖에 없다. 하지만 probability amplitudes는 복소수이다. 이 말은 추가적인 path를 더하는 것이 오히려 존재하는 path를 상쇄시킬 수도 있다는 것이다. 마치 path가 음의 확률을 가질 수 있다는 말인 것이다.

양자 컴퓨터의 힘은 위 처럼 확률을 줄일 수 있다는 능력에서부터 온다. 하지만 양자컴퓨터는 막대한 돈이 필요하다. 위에서 언급 했듯이 복소수 진폭을 가지는 이 qubits들은 반드시 외부환경으로부터 철저하게 보호되어야 하며, 극저온을 요구로 한다. 이와는 반대로 확률론적 컴퓨터는 상온에서 동작할 수 있으며 양자컴퓨터보다 더 단순한 기술로 만들어질 수 있다. 물론 음수의 확률들은 포기해야 하며, path cancellation을 필요로 하지 않는 알고리즘에만 효과적일 것이다. 

사실, 이론적으로는 확률론적 비트를 이용해서 양자 컴퓨터를 흉내낼 수 있다, 하지만 실용적인 전략은 아닐것이다. 물론 여전히 확률론적 컴퓨터가 CMOS와 비교하여 풀이 속도를 상당히 향상시킬 수 있으며, 이것이 우리가 새로운 방식의 컴퓨팅 머신을 만드는 이유이다.

또한 확률론적 컴퓨터는, 현대의 CMOS 컴퓨터는 하기 어려운 역연산에 있어 강점을 갖는다. 예를 들어 계산기에 5와 6을 넣고 서로를 곱하는 연산은 30이라는 숫자를 문제 없이 내놓는다. 하지만 30이라는 숫자를 넣었을 때 5와 6 혹은 15와 2, 10과 3, 30과 1처럼 역연산을 해주는 계산기는 존재하지 않는다. 물론 현대의 CMOS 기술로 이러한 역연산 계산기를 만들 수는 있다. 바둑에서도 컴퓨터가 인간을 이기는 세상이니 말이다. 하지만 그 계산의 뒷면에는 10 MW라는 무지막지한 전력이 사용된다는 점 역시 인지할 필요가 있다. 사람의 뇌의 용량은 10와트(즉, 10 MW = 사람 1,000,000명)에 불과하므로, 효율 면에서는 사람이 더 뛰어나다고 봐도 무방할 정도이다. 그렇기에 현재는 복잡한 계산을 컴퓨터가 더 에너지 효율적으로 풀게끔 하는데 큰 관심이 있다. 그리고 역연산 회로는 이러한 효율성을 높여준다고 보통 생각하고 있다.

p-bit을 이용한 역연산 회로의 예를 들어보자. p-bit은 위에서 말했듯이 외부로부터 입력이 없다면 열적 요동에 의해 한 값에 고정되어 있지 않고 0과 1을 계속 왔다갔다 한다. 2개의 p-bit A와 B의 경우를 예로 들어 히스토그램으로 나타내면 아래와 같을 것이다.

 

하지만 이제 2개의 서로 다른 p-bit이 각자 커뮤니케이션을 할 수 있다고 해보자. A가 어느 값을 가졌을 때, B가 A와 같은 값을 가지려고 한다면, 00 또는 11의 값이 답으로 나올 것이다. 물론 이때도 요동은 계속된다. 다만, 조화상태에서 요동을 친다고 볼 수 있다. 이를 단순 A=B가 아니라, 더 나아가 logic gate를 만들 수 있음을 인지하자.

만약 A and B = inv C gate를 얻고자 원한다면, {00→1}, {01→1}, {10→1}, {11→0}. 의 경우의 수가 존재할 수 있다.

여기서 P-Bit이 가지는 강점이 나오는데, 바로 역연산(multiplier in reverse)이다. C를 고정함으로써 역으로 {AB} = {00}, {01}, {10} 을 얻을 수 있는 것이다. 이에 대한 figure는 아래와 같다.

이 확률론적 컴퓨터의 역연산 과정은 다시 말해 정답(C)에 대한 가능한 경우의 수(AB의 조합)을 알려주며, 수학적으로 optimization problem을 푸는데 유용하게 이용될 수 있다. Optimization function은 cost function을 최소화(정답)시키는 configuration(조합)을 찾는 문제로, TSP(traveling sales man problem)와 같은 문제들이 대표적이다. Cost function을 최소화시키기 위한 시스템의 패턴과 wiring을 잘 이해하고 이를 적용하여 p-bit 회로를 구성한다면, 회로는 configuration peaks의 형태로 해답을 내놓을 것이다.

I.1. 어떻게 확률론적 컴퓨터를 만드는가?

위에서 설명하는 동작을 하는 확률론적 컴퓨터는 어떻게 만들 수 있을까? 다양한 방법이 있지만 가장 대표적인 방법으로는 자기 터널 접합(MTJ)이라 불리는 소자를 이용한다. MTJ는 아래 figure와 같이 Fixed layer와 Free layer의 상대적 방향에 따라 저항(High R = AP, Low R = P)이 결정되는 소자이다. 이를 이용하여 메모리 소자를 만든 것이 MRAM이며 이 경우 P와 AP상태 사이의 energy barrier를 높여 변화를 최대한 억제하는 것이 소자의 목적이다. 반대로 P-Bit의 경우에는 이 energy barrier를 극단적으로 낮춰 P와 AP상태가 bias에 따라 지속적으로 왔다갔다 할 수 있다. P-Bit 회로는 이 MTJ를 여러개의 트랜지스터와 결합시킨다. 한개의 트랜지스터는 input voltage에 의해 컨트롤 되며, 다른 트랜지스터들은 output을 작업하기 위해 사용된다. 이 경우 결과 값은 ± 1 V가 될 수도 있고, ± 0.8 V가 될 수도 있따. 이 두 결과 값에 대해 두개의 로직 상태를 부여하여 0과 1을 뜻하게 하면 된다.

 

위의 과정을 통해 나온 output voltage는 이제 다른 p-bit의 Input voltage에 영향을 주고, p-bit들 끼리의 communication이 가능해진다. 위에서 제시한 예제의 logic gate도 이 output voltage-input voltage communication을 통해 이루어진다. 물론 이 circuit을 만들어내는 여러가지 방법이 존재하며, 굳이 MTJ에 국한될 필요는 사실 없다.

결과적으로, 우리는 그림처럼 다수의 input과 한개의 output을 가지는 소자 블록을 가지게 된다. Inputs의 합이 $V_{in}$이고 Output이 $V_{out}$이라 생각하면 된다. 위에서 말한 것 처럼 낮은 에너지 배리어에 의해 output은 두개의 상태(0, 1)를 빠르게 왔다갔다 한다. 만약 단 한개의 input도 연결되어 있지 않는다면, output은 0상태에서 절반의 시간을, 그리고 1상태에서 나머지 절반의 시간을 보낼 것이다. 1개, 혹은 그 이상의 input에 signal을 주는 것은 output에 영향을 끼치게 된다. Output은 계속해서 빠르게 왔다 갔다 하겠지만, 1 혹은 0 상태 둘 중 하나에서 보다 더 많은 시간을 보내게 될 것이다. 이는 아래 그림과 같이 나타낼 수 있다. 

확률론적 컴퓨터는 위에서 제시한 p-bit들이 연결되어 구성된다. 이제 이 확률론적 컴퓨터의 구체적 예제를 들어보고자 한다.

1. 부모와 두 자녀의 경우를 생각해보자. 이 경우, 우리의 확률론적 컴퓨터는 4개의 p-bit을 가지고 있을 것이다. 각각의 p-bit이 한 사람씩을 대표한다고 보면 된다.

각 부모가 각 자녀에게 끼치는 유전적 영향을 모델링 하기 위해서, 우리는 그저 부모의 output을 자녀의 input과 연결시킬 것이다.

이제, 각 자녀의 state는 즉각적으로 각 부모에 의해 영향을 받게 된다. 두 자녀 사이의 유전적 상관관계의 정도를 판단하기 위해서, 당신은 또 다른 simple logic element를 필요로 한다.: an exclusive NOR ( XNOR) gate, represented the usual way here:

XNOR gate의 결과는 각 input이 같을 때 1을 도출한다. 그렇지 않은 모든 경우는 0을 결과로 도출한다. 이제 두 자녀의 output을 XNOR 게이트의 input에 연결해보자.

XNOR게이트의 결과는, 두 자녀의 p-bits output이 서로 같을때 언제나 1이 될 것이다. 두 자녀 사이의 상관관계의 overall degree를 얻기 위해서, 그저 XNOR의 결과를 시간이 지남에따라 평균을 내면 된다. 이는 단지 저항과 커패시터만으로도 가능하다.

당신은 아마 여기서 답을 기대했을 것이다, You might have anticipated the answer here, which is that time-averaged output of the XNOR gate is 0.5, indicating the siblings' states match 50 percent of the time. That is indeed the average degree of genetic correlation between two siblings. To what degree are you genetically related to, say, an uncle? You just need to hook up six p-bits to compute that:

위에서 본 바와 같이 확률론적 컴퓨터의 법칙은 우리가 오늘날 사용하고 있는 디지털 시스템의 기저에 깔려있는 법칙들과는 상당히 다르다. 컴퓨터 공학을 전공하고있는 학생 대부분이 확률론적 컴퓨팅에 문외한인 이유가 바로 이것이다. 그리고 이를 설명하는 것이 이 글의 토픽이다. 


II. Combinatorial Optimization Problems (COPs) and Ising Machine

확률론적 컴퓨터가 풀고자 하는 대부분의 현실 세계 문제들은 combinatorial optimization problems(이하 COPs)으로 바꿔서 formalization 할 수 있으며, 이 계산적으로 복잡한 문제들을 푸는 방법은 이 COPs를 Ising model에 맵핑하는 것이다. COPs를 한 문장으로 설명하자면, 특정 constraints가 존재 할 때, 선택할 수 있는 옵션 중에서 특정 파라미터(index, 또는 value)를 최적화 시켜주는 조합을 찾는 것이다. 이를 쉽게 이해하기 위해 아래의 예제를 살펴보고자 한다.

더보기

Knapsack problem은 제목 그대로 가방을 어떤 조합으로 꾸려야 최적화가 되는지에 대한 문제이다. 이 경우, variable, constraint, value는 아래와 같이 정의할 수 있을 것이다.

Item Variable Price Satisfaction
초콜렛 $x_1$ 1,200 원 10 점
사탕 $x_2$ 300 원 3 점
쿠키 $x_3$ 900 원 4 점
과자 $x_4$ 1,500 원 8 점
젤리 $x_5$ 1,200 원 7 점

이를 좀더 정밀하게 수학적으로 나타내겠다. 특정 아이템이 가방에 들어가는 것을 1로 두고 가방에 들어가지 않는 것을 0으로 두면, value와 constraints를 다음과 같다.

  • Value: $10x_1+3x_2+4x_3+8x_4+7x_5$
  • Constraints: $1200x_1+ 30x_2 +90x_3+150x_4+120x_5 \leq 3000$ (다시 말해 예산이 3천원이라는 것이다.)

위의 조건을 만족하면서 Value(총 만족도)를 최대로 해주는 답은 아래와 같다.

위의 예제에서, 오직 5개의 변수만 존재 했으므로 문제를 푸는 것은 쉬웠다. 하지만 이는 변수의 갯수가 늘어날수록 기하급수적으로 어려워진다. 사실, 이러한 문제는 실제 세계에서 다양한 시나리오로 나타난다.

더보기

COPs의 대표적인 예제 중 또 다른 하나는 traveling salesman 문제이다. 이 문제는 판매사원이 어떻게 도시들을 드나들어야(각 도시별로 한번만 방문한다는 constraints가 붙는다) 최소 경로로 움직일 수 있는지, 최적의 경로를 찾는 문제이다. 이 문제는 각 도시 별로 거리가 모두 다르기 때문에 위에서 본 knapsack problem과는 다르게 variable 사이에 interaction coefficients가 추가 된다는 것도 알아두길 바란다. 물론 도시의 숫자가 적다면, 모든 solution을 일일히 조사할 수 있겠지만, 도시의 숫자가 30개만 되더라도, combination은 $10^{30}$의 경우의 수가 되버려 슈퍼컴퓨터로 계산한다 한들 1400만년의 시간이 소요 될 것이다. 이처럼 COPs의 특징은 파라미터의 숫자가 증가할 수록 정확한 솔루션을 구하는게 매우 어려워진다는 것이다.

 

슈퍼컴퓨터로도 천문학적인 시간이 걸리는 이 문제를 그러면 어떻게 풀 수 있을까? 이 질문에 나오는 여러 답 중 하나가 바로 Ising machine이다. Ising machine은 COPs를 Ising model로 맵핑 했을 때 적용 시킬 수 있는 machine이다.

우선 Ising model 부터 보고자 한다. Ising model의 energy function은 아래와 같이 나타낼 수 있다.

물론 우리가 풀고자 하는 COPs에 따라(위에 Knapsack problem 처럼), $-1$과 $1$을 변수로 두는 것이 아니라 $0$과 $1$을 변수로 두는 것이 더 편할 수도 있다. 이 경우에는 quadratic unconstrained binary optimization (QUBO)형태로 나타내기도 한다.

위의 Ising model의 energy function과 QUBO 사이의 transformation 식은 아래와 같다.

Ising model의 energy function과 QUBO 형태는 states에 의존하지 않은 상수 변수 외에는 거의 동일하다고 볼 수 있다. 

이제 COPs를 어떻게 Ising model(또는 QUBO)로 나타낼 수 있는지, 다시 말해 어떻게 맵핑을 하는지 알아보고자 한다. 아까처럼 쉬운 설명을 위해, 두 가지의 대표적인 COPs를 예로 들어 Ising model에 맵핑하겠다.

더보기

Number partitioning problem의 정의에 대해서 알아보고자 한다. $\Nu_\mathrm{W}$를 양의 정수 N개의 집합이라 하자.

Number partitioning 문제의 목적은 두개의 서로소인 하위집합 $\Nu_\mathrm{A}$, $\Nu_\mathrm{B}$를 찾아내 각 두 하위집합 내 원소들의 합에 대한 차이가 최소가 되게 끔 하는 것이다. 이를 식으로 나타내면 아래와 같다.

이 D의 값을 최소가 되게 하기 위해서, 아래와 같은 스핀 변수 $\vec{s}$를 정의한다.

만약 $s_i= +1$이라면, 양의 정수 $n_i$는 하위집합 $\Nu_\mathrm{A}$에 종속되며, 반대로 $s_i=-1$이라면, 양의 정수 $n_i$는 하위집합 $\Nu_\mathrm{B}$에 종속된다고 하자. 이 스핀 변수들을 이용하여 우리는 다음의 energy function을 고려한다.

위의 방정식이 Ising model을 기반으로 한 energy function이라는 것은 자명하다. 위 방정식의 energy function이 최소화 되면, D값 역시 최소화 될 것이다. 그러므로, partitioning problem을 풀기 위해서는, $E_\mathrm{NP}$가 최소값을 갖는 state를 찾으면 된다.

 

Ising machine은 물리 법칙에 따라 Ising model의 에너지를 최소화 하기 위해 작동한다. 다시 말해 우리가 풀고자 하는 문제를 COPs로 변환 시킨 뒤, 이 COPs를 Ising model에 맵핑하여 Ising machine에 대입하면 자연스럽게 문제가 풀리는 것이다. 좀 더 구체화 하기 위해 Ising machine을 이용하여 COPs를 푸는 5단계 Step을 설명하겠다.

  • Step 1. Extrac a combinatorial optimization problem from the overall issue.
  • Step 2. Represent the extracted combinatorial optimization problem by an Ising model.
  • Step 3. Decompose and embed the Ising model according to the specifications of Ising machines. Choose 
                 appropriate hyper parameters.
  • Step 4. Search for lower energy states automatically according to the principle of physics.
  • Step 5. Interpret the final state generated by Ising machines so that there is no contradiction with the combinatorial
                 optmization problem.

II.1. Ising Model & Ising Machines

위에서도 여러번 언급됐지만, 결국 COP의 핵심은 Ising model이다.  Ising model은 자성 물질내에서 스핀의 행동을 통계역학적 관점에서 나타내는 모델로서, combinatorial optimization problems을 푸는데 적합한 기술로 각광받고 있다. Ising model은 개별 스핀 $\sigma_\mathrm{i}$, 상호작용 계수 $J_\mathrm{ij}$(서로 다른 spin sate 짝 끼리의 상호작용 강도를 나타냄), 외부 자기장의 세기를 나타내는 external magnetic coefficients $h_\mathrm{i}$를 이용해 나타낼 수 있으며, Ising model의 식은 아래와 같다.

Ising model의 특징중 하나는 spin이 state를 바꿈에 따라 energy minimization이 진행되며, 궁극적으로 model이 minimum state로 가게끔 한다. 만약 combinatorial optimization problem이 Ising model에 mapping 된다면, performance index는 model의 energy가 될 것이며, Ising model은 converge 함에 따라 spin state는 minimum-energy configuration으로 나아가게 될 것이다. 이 Ising model을 실현 시키는 기계가 바로 Ising machine이다. Ising machine은 위에서 본 방정식

을 이용하여 Ising model의 ground state를 찾는 과정을 수행한다. 여기서 $s$은 spin(p-bit)을, $J$는 p-bit들 사이의 coupling co-efficnient, 또는 interconnection strength 이다. $h$는 p-bit에 인가되는 외부 바이어스이다.  Ising machine은 물리학적 법칙을 수행하는 것으로 볼 수 있다. Ising machine은 현재 simulated anneaing, quantum annealing, 아니면 여러 방정식등을 이용하여 개발되고 있다. Ising machines은 state나 probability를 표현하는 vector가 시간에 따라 달라지는 동역학 내에서 수행된다. Ising machine은 반드시 Ising model(또는 QUBO)의 ground state를 구할 필요는 없다. 이는 다음의 이유 때문에 온다.

Simulated annealing, 또는 quantum annealing을 기반으로 하는 Ising machine의 behavior는 stochastic하고, 운동방정식을 기반으로 하는 Ising machine의 initial state는 무작위적으로 만들어진다. 게다가, 비록 simulated annealing의 수렴이론과 quantum annealing의 수렴이론이 존재한다 할지라도, 실제 계산을 하는데 걸리는 시간은 실제 수렴 조건을 만족하는 조건 보다 더 적게 걸릴 것이다. 그러므로, 우리는 반드시 ground state를 구할 필요는 없으며, 실제로 Ising machine을 사용한 lower energy state를 구하는 것만으로도 충분할 것이다. 


III. Probabilistic Bits

Probabilistic bits (p-bits)는 본질적으로 바이어스에 따라 튜닝이 가능한 난수 발생기 이며, stochastic neural network (SNN) 에서 binary stochastic neurons (BSNs)의 유사 형태라 할 수 있을 것이다. 많은 ML 알고리즘들이 이 BSN 네트워크를 기반으로 하며, BSN 네트워크에서는 타입스템 (n+1)에서의 각각의 응답 $m_\mathrm{i}$는 타임스텝 n에서의 input $I_\mathrm{i}$에 의해 결정된다. p-bits은 수식적으로 아래와 같이 나타낼 수 있다.

여기서 $r_\mathrm{i}$는  ±1 의 값을 가지는 난수이며, $I_\mathrm{i}$는 i번째 p-bit에 걸리는 바이어스이다. 우리는 이 $m_\mathrm{i}$을 이용하여 시스템이 가지는 두개의 state '1'과 '0'을 나타낼 것이다. P-bits의 fluctuation probability는 각 p-bits에 걸리는 개별적인 바이어스 $I_\mathrm{i}$에 따라 컨트롤 되며, 다른 p-bits의 상태를 weighted sum하여 이 값을 결정한다.  만약 input $I_\mathrm{i}$가 존재하지 않는다면, output $m_\mathrm{i}(n+1)$은 -1과 1 사이를 무작위하게 요동칠 것이다.  $I_\mathrm{i}>0$의 경우에는 $m_\mathrm{i}$가 1을 좀 더 선호할 것이고, 반대로 $I_\mathrm{i}<0$의 경우에는 $m_\mathrm{i}$가 -1을 좀 더 선호할 것이다. 위의 식으로 묘사되는 각각의 BSN은 input을 시냅스로부터 얻어지는 다른 BSN의 weightd sum으로 부터 받는다. 이는 아래의 식으로 나타낼 수 있다.

다시 설명을 하자면, 위의 식에서 $J_\mathrm{ij}$는 i-th p-bit이 다른 p-bit들과 갖는 각각의 connection strength이며 $h_\mathrm{i}$는 local 바이어스이다. 이 interconnected networks 식 $I_\mathrm{i}$는 어떻게 보면 외력으로 볼 수 있고, 외력은 물리적으로 에너지 함수의 음의 그라디언트이므로, 아래와 같이 나타낼 수 있다.

어떻게 하면 PSL을 구동시킬 에너지 효율적인 하드웨어를 만들 수 있을까? 대부분의 노력은 $I_\mathrm{i}$ 방정식에 대한 행렬 계산과 덧셈을 수행하는 accelerator를 개발하는데 쓰이고 있다. 우리의 주된 목적은 $m_\mathrm{i}$를 구동시키는 하드웨어 accelerator(다시 말해 p-bit)를 디자인 하는데 중점을 두고 있다. 일반적으로 BSN은 낮은 에너지 배리어를 가지게 끔 설게된 나노사이즈 자석에서부터 만들어질 수 있다. 이러한 BSN 디자인의 성능은 LBM의 자화 변동 rate에 대체적으로 의존하며, 높은 fluctuation rate를 가지게 끔 LBM을 디자인 하는 것이 중요하다.

III.1. s-MTJ를 이용한 변동 저항의 실현

LBM 자유층을 가지는 MTJ는 p-bit의 핵심이다. LBM의 자화 fluctuation의 특성에 따라, 우리는 다른 서로 다른 종류의 LBM을 얻을 수 있다. 자석과 관련된 에너지는 아래와 같이 나타낼 수 있다. 

Figure 3.8. Low-barrier magnet fluctuation dynamics: We use the benchmarked stochastic LLG module to simulate LBM dynamics. Each simulation is carried out with a time-step at least $\times$ 100 smllaer for a time-duration $\times$ 1000 than characteristic timescales to avoid any simulation time dependencies, the exact parameters are indicated. $\Delta \le k_\mathrm{B}T$ magnets have more continuous fluctuations with (b) having a more uniform distribution that (a) while slightly higher barrier magnets have a more telegraphic fluctuation. In both cases, the presence of high demagnetization fields cause faster fluctuations in IMA magnets.

여기서 $H_\mathrm{kp}$는 x 축 방향으로 향하는 수직 이방성 장이고, $K_\mathrm{s}$는 surface anisotropy density, $H_\mathrm{ki}$는 z축 방향으로 향하는 수평 이방성 자기장, $H_\mathrm{ext}$는 외부장, $M_\mathrm{S}$는 포화자화, 그리고 $p(D/2)2t$는 자서그이 부피이다.

자석의 모양과 두께를 변화시킴으로써, 자석의 magnetic anisotropy는 LBM과 같이 행동하게끔 스케일링 될 수 있다.

LBM Fluctuation Dynamics: LBM은 주로, $10 k_\mathrm{B}T$ 이하의 자석들을 지칭하며 자화는 thermal noise의 존재 하에 자화의 fluctuation이 일어난다. 흥미롭게도, $k_\mathrm{B}T$ 이하의 배리어를 가지는 LBM의 자화 동역학은 더 높은 배리어를 가지는 자석의 자화 동역학과 약간 다르다. 일반적인 배리어에서 자화의 retention time의 exponential dependence는 $k_\mathrm{B}T$ 부근 또는 이하의 값에서는 유효하지 않다. 

Fig. 3.8.은 fluctuation dynamics를 보여준다. 
 Fig.  3.8  shows the fluctuation dynamics, the magnetization distribution, and the autocorrelation
time (CORR) for low barrier magnets. 

자화의 fluctuation은 다시금 MTJ 저항의 fluctuation이 되며, 우리는 $k_\mathrm{B}T$ 이하의 배리어를 가지는 자석이 연속적인 저항을 가지는 것을 통해 이를 확인할 수 있다. 반면에 좀더 높은 배리어를 가지는 자석의 경우, 두가지의 states가 더 명확히 정해지며, 양극성 변동을 보이고 두가지 경우에서 IMA 자석의 변동은 PMA counterpart보다 더 빠른 것으로 나타난다. 이는 demagnetization field가 주요한 역할을 하는 메커니즘이기 때문이다.

 

Current Response of LBM: 자화 변동은 spin-current에 의해 tuning 될 수 있다. 더 높은 배리어의 자석들에서는, magnetization을 스위칭하기 위해 필요한 최소한의 전류를 critical current라 하며, LBM의 경우, 이를 biasing current라 하며 이 값은 $ \langle m \rangle =0$ 에서 구해진 미분 값의 역수로 정의된다. 수학적으로는 아래와 같이 나타낼 수 있다. (at low bias $I_\mathrm{S}$)

자화를 pinning하기 위해 필요한 전류는 일반적인 MRAM과 비슷하게 $3~5I_\mathrm{0}$를 가지며 Fig 3.2.에 나와있다. IMA 자석은 PMA보다 더 높은 pinning 전류를 가지며, 이는 disk shape에서부터 오는 큰 demagnetization field 때문에 그렇다. 이는 다시 말해 PMA때 보다 더 높은 전류 범위를 가지는 트랜지스터가 IMA의 경우에 필요하다는 것이된다.

또 한가지 알아둬야 할 점은 reference layer등에 의해 발생하는 외부장이 존재할 때의 current tunability이다. 일반적인 MRAM의 경우, STT에 의한 magnetic switching hystersis loop는 PMA magnets 의 경우에는 field 방향에 따라 이동만 하는 정도이지만, IMA magnets에서는 magnet dynamics와 hystersis의 모양까지도 바뀐다.

IMA magnet에서 자화의 plane에 수직한 방향으로 걸리는 큰 demagnetizing field가 존재하는 경우, 스핀류가 외부장에 반대되는 방향으로 작용할 때, demag field를 중심으로 자화의 세차운동이 야기된다. 같은 현상이 LBM에서도 관측되는데, external field가 더 클 수록 이 효과는 더욱 극명해진다. 균일한 세차운동이 높은 자기장에서 발생하며, 이는 스핀 전류가 field 방향과 반대되게끔 작용하면서 biasing current에 근접하거나 더 높은 경우에 나타난다. 최근에는, 낮은 자기장에서도 실험적으로 관측됐다. 이 BSN 작동에는 이것이 불리한 작용을 하는 것은 맞지만, oscillator based network에서는 유용하게 쓰일 수 있다. 

이는 또한 BSN 회로에서 변동 저항으로서 작동하는 관점에서 중요한 영향을 암시한다. Pinning fields보다 더 큰 외부장(MTJ에서의 uncompensated dipolar fields)이 걸리는 IMA 자석은 tunable (또는 non-tunable) 저항소자로서 작동하기에 적합하지 않다. IMA magnets with continuous magnetization coupled to a transistor with small saturation
current ( tens of μA) compared to the biasing current of IMA ( hundreds of μA) can work as
non-tunable resistors, and as experimental observations in ref. [ 116 ] suggest, it can withstand
small (compared to its pinning field) stray fields.

 

 

매우 작은 perpendicualr anisotropy field ($Delta \rightarrow 0$)를 가지는 PMA에서는 thermal noise가 magnetization을 Bloch sphere상의 모든 부분에서 랜덤적으로 변동하게 만들며, 반면에 선호하는 easy axis가 없는 원형 IMA에서 매우 큰 유효 demagnetization field ($H_\mathrm{D} = 4p M_\mathrm{s}$)를 가지는 경우에는 Bloch sphere의 적도 부근에서만 제한된 변동을 가지게 된다. 이를 통해 더 빠른 fluctuation이 가능하게 끔 된다.

BSN 하드웨어 퍼포먼스 평가를 위해서는 두개의 중요한 파라미터가 존재한다.: Correlation time $\tau_\mathrm{c}$와 pinning current $I_\mathrm{p}$ for $\Delta \sim k_\mathrm{B}T$ and below.

원형 IMA 자석은 PMA 자석보다 두 오더 낮은 correlation time을 갖는 것으로 알려져있으며, pinning current는 더 높은 것으로 알려져 있다.

728x90

'MTJ' 카테고리의 다른 글

확률론적 컴퓨팅 (Probabilistic Computing) (작성중)  (1) 2023.10.05
Spin-Torque Diode Effect  (0) 2023.09.19
GMR과 TMR의 차이  (0) 2023.08.03
Zero Bias Anomaly  (0) 2023.06.26
(작성중) 자기터널접합 (Magnetic Tunnel Junction)  (0) 2023.03.14

댓글