배너
닫기

테크노트

배너

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

  • 등록 2018.09.06 10:26:29
URL복사
[#강추 웨비나] 설계 산업의 미래 다가가기: AI기능 및 신기능 업무에 적용하기 (6/12)

[첨단 헬로티]


하루가 다르게 새로운 기술이 쏟아져 나오고 있고 이러한 기술은 기존 산업의 패러다임을 본질적으로 바꾸는 파괴적 혁신이 동반하고 있다. 이러한 파괴적 혁신은 종래의 우리가 알고 있던 산업에서 업(業)의 본질을 근본적으로 다시 생각하게 하는 매개체라고 생각된다.


바꾸어 말하면 기존의 경쟁자뿐만 아니라 새로운 경쟁자가 계속적으로 나오고 있고 이러한 경쟁자는 우리가 생각하지 못했던 전혀 다른 곳에서 잉태되어 나오기 때문에 복잡한 비즈니스 패턴과 환경에 대한 절대적인 혜안이 필요한 때이다. 더욱이 기존에는 고객에 대한 마케팅적 시각을 온라인과 오프라인 두 채널만 바라보았다면 현재는 온라인, 오프라인 그리고 가상현실, 모바일 등으로 다양해져, 이것을 모두 융합한 크로스 디바이스 채널 방향의 고객 분석이 필요한 시점이다.

현재 진행되고 있는 급속한 변화는 앞으로 양자 컴퓨터가 상용화되는 시점인 4~5년 내에 더욱 빠르게 이뤄질 것이라고 생각되며 이러한 새로운 컴퓨팅 환경에서 빅데이터, 클라우드, 사물인터넷, 인공지능 등 새로운 기술들이 촉매 역할을 할 것으로 기대된다.


IBM의 양자 컴퓨터


양자 컴퓨팅 방식이란 


우리가 사용하고 있는 모든 컴퓨터는 연산을 기초로 해서 모든 작업을 수행하고 있다. 예를 들어 데이터베이스에 각종 데이터를 저장한 후 이를 통해서 매출액을 계산하고, 판매량을 예측하는 일에서부터 인터넷을 통해 상품을 전시하고, 소비자가 구매한 제품의 후기를 올리는 일, 그리고 게임을 하고 음악을 듣고 영화를 보고 하는 등의 모든 활동들은 컴퓨터 내부에서 이뤄지는 연산을 통해서 실행된다.

하지만 컴퓨터는 이러한 연산작업에 능하지만, 이들은 지능을 필요로 하는 분야는 아니기 때문에 분명 취약한 부분이 존재한다.

많은 숫자들을 연산해 결과 값을 만들어 내는 것은 현재의 컴퓨팅 환경에서는 매우 쉬운 일일 것이다. 그러나 사람이 주판, 계산기 등이 없이 암산으로만 연산 작업을 한다면 분명 한계가 따른다. 하지만 사람은 연산의 속도는 느리지만 다양한 사진을 보여주고 이를 인식하는 일은 훨씬 빠를 것이다. 이는 현재의 컴퓨팅 방식의 한계를 보여주는 전형적인 사례다.

또 다른 예를 들면 ▲각종 매체를 통해서 보여 지는 이미지 또는 영상을 분석해 특정 행동을 취하게 되는 일 ▲다양한 음성을 학습해 사람의 감정과 언어를 번역하고 다양한 행동을 취하는 일 ▲수많은 개인의 유전자 정보와 질병, 환경 등을 분석해 신약을 개발하거나 질병을 예측하는 일 ▲대기 등의 다양한 환경적인 변수와 빅데이터를 분석해 기상을 예측하는 일 등은 현재의 컴퓨팅 환경에서 분명 취약할 수 있을 것이다.

앞서 설명한 것처럼 지금 현재 컴퓨팅 방식에서 매우 취약한 부분은 이미지 분석이다. 이에 대해서 생각해 보도록 하자.

흔히 돌고래의 IQ는 70정도, 물고기는 3정도로 알려져 있다. 그리고 인간의 뇌의 무게는 1400g으로 대뇌피질 속에 뉴런의 개수가 160억 개 정도이며, 뇌가 가장 큰 동물로 알려 진 향유고래의 경우 약 8Kg 정도다. 물론 몸무게에 비해서 아주 크기는 하지만 쥐는 3g정도이고 새의 경우는 그보다 훨씬 작을 것이다. 동물을 놓고 IQ를 설명하는 것이 맞지는 않지만 IQ를 단순히 컴퓨팅 파워라고 생각한다면 새는 어떻게 사물을 정확히 인식해 먹이를 사냥하고 공격을 피하며 살아가는 것일까? 이러한 물음에 딱히 맞는 대답을 듣기는 어려울 것이다. 동물도 어찌 보면 커다란 생물학적 컴퓨터라고 생각해도 무방할 것 같다.

물론, 지금 인공지능과 관련된 딥러닝 기술 중 인공 신경망을 학습한다면 개와 고양의 판별 정도는 아주 쉽게 알아내는 것이 가능하다. 또 실제로 딥러닝을 통해 흑백 사진을 컬러 사진으로 재현하고, 화면 속에 있는 사람들의 감정도 파악할 수 있지만 여전히 많은 연산과 알고리즘을 통해서 많은 데이터를 학습해야 가능해진다. 만약 이러한 부분을 컴퓨터의 하드웨어와 소프트웨어로 만든다면 아마도 생물학적 컴퓨팅, 즉 DNA 및 바이오 칩(Chip)을 사용한 컴퓨터 메커니즘이 훨씬 앞설 것이라고 예상된다. 또한, 양자 컴퓨터에서도 이를 이용한 연구가 활발하게 진행되고 있다.

양자 컴퓨터는 주어진 여러 가지 경우의 수 가운데 최적의 경로(상태)를 찾는 최적화의 문제에서 탁월한 결과를 낼 것으로 생각한다. 


▲ 그림 1. 다양한 채널별 고객의 View Point


양자 컴퓨터의 현황

양자 컴퓨팅을 구현하기 위해서 현재 다양한 기업에서 연구에 힘쓰며 조금씩 해결해 나가고 있다. 본질적으로 양자 컴퓨팅은 큐비트 장치(Qubit Device)와 이를 수행하는 알고리즘을 포함한 양자 응용 소프트웨어, 그리고 이런 장치를 제어하는 데 필요한 각종 물리·논리적 아키텍처까지를 포함하기 때문에 양자 컴퓨팅을 이해하기 위해서는 다양한 접근 방법과 학문적 융합이 필수적이다.

인텔 <NEWS FACT Sheet>에서 정의한 바에 따르면 큐비트(Qubit)에 대한 연산은 많은 수의 계산을 병렬로 수행 할 수 있으므로 특정 종류의 컴퓨팅 문제를 훨씬 빠르게 해결할 수 있다고 정의 했다. 그러나 큐비츠(Qubits)는 매우 섬세함을 요하기 때문에 무선 주파수의 노이즈(Noise) 또는 의도하지 않은 충격으로 인해 데이터가 손실 될 수 있다고 했다. 이러한 노이즈를 제거하기 위해, 큐비트는 약 20millikelvin(0.020℃)  온도에서 작동해야 한다고 정의했다.

 

또한, 구글(Google), IBM, 마이크로소프트(MicroSoft) 등 다양한 기업에서 이미 TEST 버전 또는 상용화에 버금가는 다양한 양자 컴퓨터를 내놓았다. CES 2018에서 마이크로소프트는  49 Qubit 성능의 테스트 머신을 출시했고 개발 키트인 QDK 또한 배포했다. 뿐만 아니라 양자 컴퓨터의 가장 오래된 스타트업 기업인 캐나다의 Dwave 시스템은 2011년 이미 양자 컴퓨터의 상용화 판매를 시작하기도 했지만 이를 양자 컴퓨터로 인정하는 것에는 많은 의견이 있다. 또한, 위와 같은 글로벌 IT기업에서는 5년 내에 100 Qubit 정도의 양자 컴퓨터를 상용화 할 것으로 전망이 된다.


▲ 그림 2. 17Qubit 초전도 TEST 칩(자료: 인텔)


양자 알고리즘 및 프로그래밍 소개

우리는 양자 컴퓨터는 가지고 있지 않지만 양자컴퓨터의 환경을 클라우드 환경에서 실행하고 이를 통해서 프로그래밍 및 알고리즘을 개발할 수 있는 환경을 생각보다 쉽게 접할 수 있다.

[그림 3]은 IBM의 양자 컴퓨팅을 직접 해볼 수 있는 Q-익스페리언스(Q-Experience)의 메인 화면이다. IBM의 Q-익스페리언스는 20 Qubit 양자 컴퓨팅 사용자 경험을 제공함으로써 일반 사용자들도 퍼블릭 클라우드상에서 퀀텀 컴포서(Quantum Composer)와 QIS 키트를 사용해 프로그래밍과 알고리즘을 실행 해볼 수 있도록 공개했다. 참고로 20 Qubit는 2의 20승을 표현할 수 있는 성능이다.


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



▲ 그림 4. IBM Q-Experience 로그인 화면(자료: IBM)

[그림 4]는 IBM의 Q-익스페리언스의 컴퓨팅 환경에 접속하는 로그인 화면이다. 만약 로그인ID가 없다면 구글이나 링크드인, GithHun의 ID를 통해 접속할 수 있고 새로 생성을 통해서도 접속이 가능하도록 했다.


IBM의 Q-익스페리언스를 사용하기 위해서는 사용자 환경에 대해서 구성해야 한다. 물론, 로그인을 생성하고 접속하면, 다양한 개발 환경에 필요한 것들이 GUI 환경에서 실행이 되므로 매우 편리하게 양자컴퓨터 환경을 접할 수 있도록 구성된다. 하지만 이러한 환경과 더불어 그 이전에 구성해야 할 사용자의 컴퓨팅 환경 또한 필요하다.

이를 사용하기 위한 권장 사용자 환경은 ▲파이썬(Python) 3.5 이상의 버전 ▲개발환경 : Jupiter Notebook 등이 요구된다.

구글의 텐서 플로우(Tensor Flow) 등도 파이썬 3.5 이상의 버전에서 사용 가능하다는 것은 익히 분석에 관심이 있는 독자라면 잘 알 것이다. 파이썬을 통한 Q-익스페리언스와 Open QSAM 환경에서 QIS 키트를 사용해 프로그래밍을 하루 있다. QIS 키트는 일정의 SDK (Softwre Development Kit)다. 이러한 QIS 키트는 IBM 20 Qubit 환경 하의 양자 컴퓨터 내에서 프로그래밍을 하고 컴파일하고 실행하기 위해서 필요한 개발 툴 키트(Tool Kit)다.

앞으로 이러한 형태의 SDK 또는 API(Application Programming Interface)를 통해 각종 프로그래밍 언어(Programming Language)로 개발된 코드를 양자 컴퓨터에서 활용하는 방안이 더욱 확대될 것이다.

IBM은 50 Qubits는 테스트 단계에 있으며 향후 몇 년 이내에 100 Qubits의 양자컴퓨터를 개발할 계획이라고 한다. 그리고 빅데이터 분석에서 많이 사용하는 파이썬으로도 양자 컴퓨터 프로그래밍이 가능하도록 되어 있고 이러한 사항은 개발자들이 많이 사용하는 깃허브(GitHub)에 접속하면 다양한 정보를 접할 수 있다. 깃허브는 개발자들의 프로그램 개발 시 버전 관리 및 협업을 위한 개발 플랫폼이다. 아마도 오픈소스를 중심으로 다양한 에코 소프트웨어를 통해 양자 프로그램 및 알고리즘의 개발이 가능해 질 것으로 예상된다.


양자 프로그래밍에 대해

양자컴퓨팅의  프로그래밍 및 알고리즘을 이해하기 위해서는 물리학적인 요소와 수학, 통계학적인 요소에 대한 이해가 필요하며 근본적인 확률 이론 기반 지식이 필요하다. 이미 지난 기고에서 양자 컴퓨팅를 이해하기 위한 몇 가지를 설명했지만 다시 반복하는 차원에서  Vector와 Entanglement에 대해서 살펴보도록 하겠다.

(1) Quantum state = Vector
q=a0, b1를 vector로 표현하며 q의 크기가 2, 2², 2³으로 나타난다.

(2) Quantum Entanglement는 각각 존재하는 qbit(a,b)와 (v,w)가 합쳐서 (av, aw, bv,bw)가 존재하게 된다.

(1)과 (2)의 개념 속에서 Quantum Operations 과 measurement는 실제 실행이 이뤄진다.

또 깃허브와 같은 개발 플랫폼을 통해서도 양자 프로그래밍의 개발 환경을 제공하고 있다[그림 5]. 최근 오픈 소스의 소프트웨어 진영에서 만들어진 NoSQL 데이터베이스 그리고 하둡(Hadoop), 다양한 에코 소프트웨어 등과 같은 오픈 소프트웨어를 만들 때 많이 사용하는 것이 깃허브다. 5명까지 협업을 할 경우는 무료로 제공되기 때문에 프로그래밍에 관심이 많거나 개발을 하는 유저라면 한번쯤 접속하면 좋을 듯하다.


▲ 그림 5. 깃허브(GitHub) 메인 화면(자료: GitHub)

지금까지 글로벌 IT 기업 및 개발 플랫폼을 중심으로 양자 알고리즘 및 프로그래밍이 가능한 환경이 조성되고 있고, 지속적으로 확대 발전되고 있었다. 기존의 전통적인 슈퍼 컴퓨터가 하기 어려운 부분을 양자 컴퓨터가 해결할 수 있는 것을 의미하는 양자우월이 실현될 날이 얼마 남지 않을 것으로 본다.

다음 호에서는 실제 프로그래밍 환경에 대해서 직접 코딩을 중심으로 설명할 예정이다. 


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


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


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


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











배너









주요파트너/추천기업