배너
닫기

테크노트

배너

기술 혁신을 이끌 ‘양자 컴퓨팅’ A to Z ①

  • 등록 2018.08.02 10:54:42
URL복사

[첨단 헬로티]


반도체 기술 및 정보통신 기술의 발전으로 인해 컴퓨팅 파워는 예전과는 상상할 수 없을 정도로 발전했다. 이런 기술의 발전은 빅데이터를 중심으로 한 인공지능, 블록체인, AR & VR 등의 기술을 가능하게 하는 기반 기술이 됐다. 최근 4차 산업혁명을 중심으로 한 산업계의 변화는 사회, 문화, 정치, 경제 등 우리가 접하고 있는 모든 분야에서 커다란 변화를 가져올 것이라고 필자는 예견하고 있다.


또한, 양자 컴퓨터는 기술적인 부분에서 얼마간의 시간이 더 필요할 것이고 기존의 컴퓨팅 환경을 대체하는 않고 양립해서 사용하게 된다는 것이 일반적인 견해라는 것을 알려 둔다.


이에 본 기고에서는 선진 기업들이 기업의 명운을 걸고 진행하고 있는 양자 컴퓨터에 대해서 알아보고 다양한 산업과 접목해 어떻게 실현이 될 것인가를 산업계의 입장에서 서술했다.



1. 양자 컴퓨터에 대해서


본 기고에서 다룰 양자 컴퓨터는 크게 하드웨어적인 부분과 소프트웨어적인 알고리즘으로 나눠진다. 현재 컴퓨터의 근간이 되는 헝가리 출신 미국 수학자 존 폰 노이만(John von Neuman, 1903 ~ 1957)이 주장한 프로그램 내장형, 즉, 현대의 개인용 컴퓨터에서부터 슈퍼 컴퓨터까지 광범위하게 사용하고 있는 폰 노이만형 컴퓨터 아키텍처의 구조 및 처리 방식은 현재 사용되고 있는 양자 컴퓨터(量子, Quantum Computer)와는 근본적으로 다르다고 할 수 있다. 


다시 말하면 일반적인 현재의 컴퓨터는 전기회로로 구성됐다면 양자 컴퓨터는 시스템으로 정의할 수 있으며 이를 초전도체, DNA, 박테리아 등 다양한 것들이 구성 요소가 될 수 있다. 


▲ 표 1. 기존 컴퓨터와 양자 컴퓨터의 처리 단위


[표 1]에서와 같이 기존 컴퓨터와 양자 컴퓨터의 처리 단위는 비트(Bit)와 큐빗(Qubit)으로 각각 표현 한다. 기존의 컴퓨터는 트랜지스터에 전류가 흐를 때 “1”, 그렇지 않을 때를 “0”으로 각각 인식하고 이런 전기적 신호를 바탕으로 각종 연산을 통해 정보를 처리한다. 우리는 이것을 정보처리의 최소 단위인 ‘비트(bit)’라고 한다. 지금까지의 컴퓨터의 처리 능력 향상은 실리콘 기반의 반도체에 트랜지스터를 더 많이 집적해 저장과 처리 속도 등 시스템 성능을 향상 시켜 왔다. 이런 기술을 바탕으로 집적회로는 더욱 혁신적으로 발전해 왔다.


하지만 이런 기능 향상이 현재는 물리적으로 거의 한계에 도달했고 이를 보완하기 위해 발전하기 시작한 것이 양자 컴퓨터라고 할 수 있다. 다시 말해서 양자 컴퓨터는 컴퓨터의 미래라고 할 수 있다.


▲ 그림 1. 빅데이터 중심의 금융 사기 방지 관련 데이터 흐름도(출처: 빅데이터처리기술 가이드)


2. 양자 컴퓨터의 정보 처리


기존 컴퓨터의 최소 처리 단위인 비트(Bit)는 “0”과 “1”중 두 개의 값밖에 가질 수 없다는 것이 특징이라면 양자역학의 중첩 현상(Superposition)과 얽힘 현상(Entanglement)으로 인해서 양자 컴퓨터의 양자 비트(Quantum Bit, Qubit)는 0이면서 동시에 1일 수 있는 특징을 지닌다. 따라서 양자 간의 강한 상관관계, 불분명한 임의 상태 같은 특징을 가지고 있다. 


이런 특징은 우리가 알고 있는 종래의 컴퓨팅 환경에서 기존 정보 처리의 상식과는 다르게 작은 에너지의 특성에 따른 것으로 한 개의 입자 속에 여러 개의 속성이 중첩된 형태로 들어서 있고 이러한 특성이 고정된 형태가 아니라 상호간에 영향을 주고받으며 얽히는 양자의 특성으로 인한 물리 현상이라고 할 수 있다. 이런 물리 현상은 실제로 존재한 것이고 이런 원리에 따라 양자 컴퓨터는 연구되고 개발에 적용되고 있다. 


양자의 이런 성질을 컴퓨터에 적용하게 되면 컴퓨터의 성능은 급격하게 향상될 수 있다. 예를 들어 2 Qubit인 양자 컴퓨터는 00, 01, 10, 11 등 4개의 상태가 동시에 존재하게 되므로 3 Qubit인 경우는 000, 001, 010, 011, 100, 101, 110, 111, 8개의 상태가 존재하게 된다. 따라서 4 Qubit일 경우 16개의 상태가 동시에 존재하게 된다. 이는 2의 거듭 제곱 형태로 기하급수적인 상태가 나타나게 되는 것이다.  


이해를 돕기 위해 기존의 bit 체계로 다시 설명해 보겠다. 수학 2의 거듭제곱은 컴퓨터 메모리의 단위로도 쓰인다는 것을 잘 알고 있을 것이다. 1 Byte는 8(23) Bit로 이뤄져 있고 1Kb는 1024 (210) Byte라는 것을 잘 알고 있을 것이다. 컴퓨터의 레지스터는 2의 거듭제곱 크기(현재의 개인용 컴퓨터는 처리 단위가 32bit 또는 64bit로 돼 있어 시스템 운영 체제와 애플리케이션은 필요에 따라 32bit 또는 64bit 체계로 각각 개발된다. 다시 양자 컴퓨터의 qubit 단계로 들어가면 1 qubit은 0이면서 동시에 1일 수도 있기 때문에 양자 중첩을 통해서 기존 특성과는 다르게 병렬 처리가 가능하게 되는 것이다.


이런 병렬 처리는 기존의 하둡(Hadoop, High Availability Distributed Object Oriented Platform)을 중심으로 한 빅데이터 환경에서 병렬 처리와 분산 처리가 동시에 가능해 대용량의 비정형 데이터를 처리하는 분석에 활용하게 되고 있다. 또 병렬과 분산 처리 기술은 분석의 성능을 기하급수적으로 올리는 방식으로 활용하고 있다. [그림1]에서는 빅데이터의 하둡에서 HDFS(Hadoop Distributed File system)를 이용한 금융사기 방지 시스템의 데이터 흐름도를 나타낸 것이다.


최근 스마트 기기, 각종 IoT 장비 등 다양한 기기에서 실시간 적으로 발생하는 데이터는 대량의 데이터 처리에 대한 요구를 가져오게 됐고 x.86시스템을 병렬로 구성, 이를 클러스터로 묶어 하드웨어적인 선형적인 성능 향상을 가져왔다. 더불어 병렬 처리와 분산 시스템을 통해 시스템 자원의 병목 현상을 제거해 선형적인 성능을 향상시켰다. 양자 컴퓨터에서 병렬 처리의 의미와 하둡 시스템의 병렬 처리와는 근본적으로 다르고 많은 차이가 존재해 이를 단순하게 비교하는 것은 모순이 있긴 하다. 하지만 실제 산업계에서는 대용량의 비정형 데이터를 처리하는데 있어서 병렬 처리가 반드시 필요하기 때문에 독자 여러분의 이해를 돕기 위해서 간단하게 설명해 놓았다.


▲ 그림 2. IBM의 양자 컴퓨팅


3. 양자 컴퓨터의 활용 분야


양자 컴퓨터의 처리 방식에 대해서 알아보겠다. 필요한 자료를 찾기 위한 기존의 컴퓨팅 방식에서는 모든 것을 하나 하나씩 비교해 답을 찾아간다고 하면 한번의 작업으로 2의 N제곱 개를 동시에 찾기 때문에 기존 컴퓨팅 환경과는 비교할 수 없을 만큼의 처리 능력을 가지게 되는 것이다.


이런 양자 컴퓨터의 처리 능력을 활용하면: 

▲슈퍼 컴퓨터를 사용하는 기상 및 기후 예측 교통 흐름 예측 및 제어 및 자율 주행 자동차의 V2X 분야 ▲국방, 금융 등 정교하고 다양한 데이터를 활용하여 정밀한 분석을 요하는 분야 ▲각종 물질 및 유전자 분석을 통한 헬스케어 분야의 신약 개발 등 대용량의 데이터 처리를 통해 시뮬레이션이 필요한 분야에서 활용이 가능하게 된다.


양자 컴퓨터의 개발과 상용화는 싱굴라리티 대학(Singularity University)의 설립자이며 구글의 인공지능 담당 이사인 레이커즈 와일(Ray Kurzweil) 박사가 예견한 특이점(Singularity; 인공지능이 인류지능의 총량을 뛰어넘는 특이점)을 더욱 앞당길 수 있을 것이라 생각한다. 


하지만 양자 컴퓨터는 장미 빛 미래만 있는 것은 아니다. 아직까지 해결해야 할 과제가 많이 남아 있으며 세계적인 IT기업인 IBM, 구글(Google), 페이스북(Facebook) 등 다양한 기업들이 앞 다퉈 연구하고 있다. 양자 컴퓨터는 하드웨어적인 연구뿐 아니라 소프트웨어적인 연구 또한 발전하고 있는 단계다. 이 두 가지가 모두 융합해 발전했을 때 진정한 양자 컴퓨터의 시대가 도래 할 것이다.

 

① 양자의 중첩성과 얽힘성의 극대화

0 이면서 1이 동시에 존재하기 때문에 양자의 상태가 처리 중에는 변하지 않아야 한다. 하지만 양자는 외부의 환경에 매우 취약하여 본래의 성질을 잃어버리는 특성이 있다. 이를 완전한 상태로 유지하기 위한 기술이 필요하다.


② 다양한 학문간의 융합 

원자핵 내에서 양자 물리 현상을 제어하는 고도의 기술과 학문간의 융합이 필요하다. 양자 컴퓨터의 시스템적인 측면에서 보았을 때 DNA, 박테리아, 초전도체등을 사용하기 때문에 다양한 산업간, 학문간의 융합은 필수적인 요소로 생각된다.


③ 하드웨어와 소프트웨어적인 부분이 융합 

양자 컴퓨터의 하드웨어적인 부분과 소프트웨어적인 부분이 복합적으로 발전해야 한다. 이미 파이썬(Python) 등 빅데이터 분야에서 많이 사용되는 분석 소프트웨어 같은 경우 양자 컴퓨팅에 관련 라이브러리 등이 개발돼 있고 계속 발전하고 있으며 그 이외에 다양한 오픈소스 소프트웨어에서 API(Application Program Interface), 프로그래밍 언어 등이 개발 되고 있다. 이런 부분은 인공신경망(ANN; Artificial Neural Network)을 중심으로 한 딥 러닝(Deep Learning), 머신 러닝(Machine Learning) 등 다양한 알고리즘의 발달과 함께 융합되는 단계를 거쳐 더욱 발전할 것이다.


▲ 그림 3. 구글의 양자 컴퓨팅


지금도 현재로 글로벌 기업에서는 상용화된 제품들도 있지만 지속적으로 발전해 가까운 시일 내에 보편적으로 활용하게 될 날이 멀지 않을 것으로 생각된다. 다음 호에서는 양자 컴퓨터의 소프트웨어적인 측면을 중심으로 적용할 수 있는 사례와 모델을 중심으로 소개하겠다. 


글 : 문영상 데이터 인큐베이터 코리아 CTO



















주요파트너/추천기업