배너
닫기

테크노트

배너

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

  • 등록 2018.10.01 13:58:51
URL복사

[첨단 헬로티]


과거에는 한가지의 기술이 잉태되고 마켓에서 성숙하게 되기까지는 많은 시간이 필요로 했다. 아마도 그러한 이유는 기술의 진보와 활용 측면에서 바라본다면 그 중간에 많은 진입 장벽들이 존재했고, 이 진입 장벽을 허무는 역할을 기업이 했으며, 기업이 소비자를 리드했기 때문이라고 생각된다. 


하지만 지금의 기업 환경은 하나의 작은 실수도 용납되지 않는 완벽한 제품이 요구되고 있고, 기술의 발전이 더욱 빨라지면서 소비자의 눈높이는 더욱 높아져 가고 있다. 이러한 현실 속에서 IT 기술 중심에는 빅데이터와, 사물인터넷, 그리고 클라우드가 빠지지 않고 등장하고 있다. 위에 나열한 3가지의 기술은 어느 한 부분도 종속되는 부분이 아닌 독자적인 영역에서 더욱 발전할 것이라고 생각한다. 이 3가지 핵심 기술 요소의 미래에는 양자컴퓨터(Quantum Computer)가 있지 않을까 생각해 본다.


▲ IBM의 양자 컴퓨터


지난 1, 2회 기고에서는 클라우드로 양자컴퓨터를 활용해 사용할 수 있는 환경에 대해서 설명했다. 양자컴퓨팅에는 여러가지 방식들이 존재하는데, 그 중에서도 손쉽게 알고리즘 모델 프로그래밍이 가능한 해당 회사에서 제공하는 API(Application Programming Interface) 연동 방식, 또는 GitHub에서 관련 프로젝트 공유를 통한 양자 프로그래밍 등에 대해서 설명했었다. 


이러한 방식은 다양한 기업들이 만들어 놓은 물리적인 양자컴퓨터의 기반 프레임을 클라우드 환경에서 제공되며, 우리가 양자 기반의 다양한 알고리즘과 프로그래밍을 직접적으로 개발할 수 있도록 돕는다. 이처럼 양자 컴퓨터의 소프트웨어적인 측면은 지속적으로 발전되고 있다. 


1. 양자 컴퓨터를 통한 프로그래밍


여러 기업에서는 양자 컴퓨터 중 일부를 클라우드에서 서비스해 프로그래밍이 가능하도록 되어 있기 때문에 일반 사용자도 체험할 수 있다. 


본 기고에서는 IBM의 Q-Experience를 예시로 다루겠다. IBM의 Q-Experience는 20 Qubit(큐비트) 양자 컴퓨팅 사용자 경험을 제공해 일반 사용자들도 퍼블릭 클라우드상에서 퀀텀 컴포서(Quantum Composer)와 QISKit를 사용해 프로그래밍과 알고리즘을 실행할 수 있다.


(1) IBM Q experience의 Composer를 이용한 방법


첫째로 다음과 같은 사이트에 연결하면 바로 IBM Q experience로 접속이 된다.


접속 URL : https://quantumexperience.ng.bluemix. net/qx/experience 


IBM Q experience의 초기 화면에 접속하자. 초기 화면 중 우측 상단에 다양한 메뉴가 존재한다. 위의 메뉴 중 Composer를 클릭하면 [그림1]의 Composer 메인 화면이 나타난다. [그림1]에서 오른쪽 중간에 3개의 메뉴를 클릭하면 기능을 수행하게 된다. 그 중 NEW를 선택하게 되면 양자 컴퓨팅 관련해 선택할 수 있다. 


▲ 그림 1. Q Experience Composer 메인 화면 (자료: IBM)


[그림2]에서는 다양한 개발 환경을 제공하는데 특히, Custom Topology는 원하는 Quantum Register와 Classical Register를 각각 입력해 개발할 수 있다. 사용자가 지정하는 데로 구성이 가능하므로 원하는 형태로 구성을 하도록 한다. [그림 3]는 각종 게이트를 양자 환경을 경험할 수 있도록 구성돼 있다. 특히, 우측의 다양한 게이트를 보면 각각 고유한 기능을 가지고 있다. 


▲ 그림 2. NEW 선택 화면(좌측), Custom Topology 화면(우측)


▲ 그림 3. 엔드유저 라이센스 동의


2. IBM Q-Experience의 Composer 사용하기


[그림 3]는 실제로 필자가 IBM Q Experience에서 Composer를 통하여 게이트를 설계한 화면이다. 각각의 아이콘은 Help 기능에서 상세히 설명하고 있으며 [그림 4]를 참조하기 바란다.


▲ 그림 4. 게이트 기능 설명


(1) Id 아이콘은 실제 시작을 실행하는 선언적 아이콘으로 코딩으로 표현하면 다음과 같다.



(2) S 아이콘은 Phase 게이트를 의미하며 이 게이트는 복잡한 중첩을 만들기 위해 H 게이트를 확장하는 기능을 가지고 있다. √Z로서  X → Y 및 Z → Z를 각각 매핑하는 속성적 특징이 있다.



(3) Z 아이콘은 Pauli Z 게이트를 의미하며 직역하면 위상 반전이라고도 한다.  Z 축을 중심으로 π 회전하며 X → -X, Z → Z라는 특성을 갖는다. 



(4)  아이콘은 실제 실행을 나타내는 아이콘이다.



이 기고에서는 몇 개의 게이트만 설명 하도록 하겠으며, 자세한 각각의 게이트의 설명은 [그림 4]을 참조하기 바란다. [그림 4]에서 각종 게이터는 모두 GUI형태로 되어 있고 그에 대한 기능적 요건 및 커맨드는 우측에 표시가 되어 매우 쉽게 이해할 수 있다. 이는 Composer에서 지원하는 양자 게이트의 기능 및 특징을 파악하고 이를 근거로 양자 게이트를 배열하게 되면 하는 방식이다. 양자 배치가 마무리 되면 Operation 게이트를 놓고 RUN을 실행하게 된다.


[그림 5]에서 우측 상단의 [Simulate]버튼을 실행하게 되면 OPENQASM 2.0 창에 python 환경에서 실행할 수 있는 프로그램 소스를 생성하는 기능을 보여준다. 뿐만 아니라 pdf, csv 등 다양한 형태로 저장할 수 있고, 모든 결과물을 압축해 .tar 파일로 제공하기도 한다.


▲ 그림 5. 실행 후 결과 일부 화면


다음은 실제 코드로 생성된 소스 프로그램을 나타낸 것이다. 



지금까지 Q-Experience의 Composer를 활용하는 방법에 대해서 알아봤다. 


이외에도 양자 컴퓨팅을 활용할 수 있도록 클라우드 형태로 제공하고 있기 때문에 다양한 시도를 하는 것이 양자를 이해하는데 많은 도움이 될 것이다. 물리적인 양자 컴퓨팅 환경은 아직도 발전하고 있는 단계이지만 소프트웨어적인 측면에서는 다양한 경험을 할 수 있는 환경이 이미 구축이 많이 됐다. 


지금까지 양자 컴퓨팅을 학습하는 방법에 대해서 알아봤다. 기술의 발전으로 급격하게 변화하는 IT 환경 속에서 다양한 기술을 결합하는 융합을 새로운 시각으로 보는 혜안이 어느 때보다 필요한 것 같다. 


--------------------

<저자 소개>


저자는 전산직 공무원을 시작으로 NCR, EDS 등 25년간 다양한 다국적기업에서 IT 컨설팅 및 시스템을 구축, 자문 했으며 최근, 빅데이터 및 인공지능 관련한 다양한 대형 프로젝트를 수행했다.


현재 빅데이터와 인공지능 관련 글로벌기업인 데이터인큐베이터코리아의 CTO 직을 맡고 있으며 숭실대 정보과학대학원, 세종대 경영대학원등에서 겸임교수로도 활동하고 있다. 빅데이터 관련 서적과 논문등을 다수 출판했고 관련 공공기관 및 관련 단체에 자문위원으로 활동하고 있다.


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



















주요파트너/추천기업