물론 아마존은 자체 양자 컴퓨터 시스템을 구축하진 않았다. 대신 브래킷을 통해 다른 업체들의 양자 컴퓨팅 기술을 AWS에서 사용할 수 있도록 하고 있다. 브래킷은 현재 3가지 양자 컴퓨팅 서비스, 디-웨이브(D-Wave), 이온큐(IonQ), 리게티(Rigetti)를 지원한다.
브래킷을 사용하면 디-웨이브(D-Wave)의 양자 어닐링 초전도체 컴퓨터, 이온큐(IonQ)의 이온 트랩 컴퓨터, 리게티(Rigetti)의 게이트 기반 초전도체 컴퓨터 등 사전 구축된 여러 양자 컴퓨터 및 알고리즘 중에서 원하는 방식을 선택할 수 있다. 또 브래킷 파이썬 SDK(Braket Python SDK) 서킷 모듈을 사용해 이온큐와 리게티 프로세서를 모두 프로그래밍할 수 있다. 동일한 코드가 로컬 및 호스팅된 양자 시뮬레이터에서도 실행된다.
브래킷(Braket)이라는 명칭은 물리학자들끼리 쓰는 일종의 농담이다. ‘브라-켓 표기법(bra-ket notation)’은 양자역학에서 양자 상태를 표현하는 표준 표기법이다. 영국 물리학자 디랙이 제안했다. 이는 편미분 방정식보다 슈뢰딩거 방정식을 더 쉽게 표현할 수 있는 방법이다. 이 디랙 표기법에서 브라 <f| 는 행 백터이고, 켓 |f> 은 열 벡터다. 켓 옆에 브라를 적는 것은 행렬 곱셈을 의미한다.
한편 아마존 브래킷과 브래킷 파이썬 SDK는 IBM Q, 퀴스킷(Qiskit), 애저 양자(Azure Quantum), 마이크로소프트 Q#(Microsoft Q#), 구글 서크(Google Cirq)와 경쟁한다.
IBM은 이미 온라인으로 사용할 수 있는 자체 양자 컴퓨터와 시뮬레이터를 보유하고 있다. 마이크로소프트의 시뮬레이터는 일반적으로 사용할 수 있지만, 마이크로소프트의 양자 제품은 허니웰(Honeywell), 이온큐(IonQ), 양자 서킷(Quantum Circuits)의 양자 컴퓨터 및 원큐비트(1Qbit)의 최적화 솔루션 액세스를 포함해 제한적인 프리뷰 상태다.
또 마이크로소프트는 자체 개발한 위상 초전도 양자 컴퓨터가 언제 출시될 것인지, 구글 역시 양자 컴퓨터나 시커모어 칩을 언제 공개할 것인지는 발표하지 않았다.
아마존 브래킷이란
아마존 브래킷은 양자 컴퓨팅을 시작할 수 있도록 돕는 완전 매니지드 서비스다. 이는 3개 모듈(빌드, 테스트, 런)으로 구성됐다.
빌드 모듈은 아마존 브래킷 SDK를 포함해 샘플 알고리즘, 리소스, 개발자 툴로 사전 구성된 관리형 주피터 노트북으로 이루어져 있다. 테스트 모듈은 매니지드 고성능 양자 서킷 시뮬레이터 액세스를 제공한다. 런 모듈은 여러 종류의 양자 컴퓨터(QPUs), 즉 이온큐 및 리게티의 게이트 기반 양자 컴퓨터, 디-웨이브의 양자 어닐러에 안전한 온-디멘드 액세스를 제공한다.
QPU에서 작업이 즉시 실행되지 않을 수도 있다. QPU는 실행 기간에만 작업을 처리한다.
아마존 브래킷 SDK API
브래킷 파이썬 SDK는 양자 서킷과 어닐러를 구축, 테스트, 실행하는 데 필요한 모든 작업을 정의한다. 이는 브래킷 닷어닐링(braket.annealing)부터 브래킷닷AWS(braket.aws), 브래킷닷서킷(braket.circuits), 브래킷닷디바이스(braket.devices), 브래킷닷태스크(braket.tasks)까지 총 5개 패키지로 구성돼 있다.
브래킷닷어닐링 패키지는 두 종류의 2진법 2차 모델(Binary Quadratic Models, BQMs), 즉 아이싱(Ising) 그리고 QUB(Quadratic Unconstrained Binary Optimization) 문제를 정의한다. 이들 문제는 디-웨이브 유닛 등의 양자 어닐러에서 해결된다. 브래킷닷서킷 패키지는 일련의 게이트를 기반으로 양자 서킷을 정의하고, 이는 이온큐 및 리게티 등의 게이트 기반 양자 컴퓨터에서 해결된다.
나머지 3개 패키지는 문제 실행을 제어한다. 브래킷닷AWS 패키지는 양자 장비를 선택하고, 문제를 작업에 로드하며, 작업을 AWS 세션에 연결한다. 브래킷닷디바이스 패키지를 사용하면 양자 장비 및 시뮬레이터에서 작업을 실행할 수 있다. 브래킷닷태스크 패키지로는 작업을 관리, 추적, 중단하고 결과를 확인할 수 있다.
아마존 브래킷 서킷 및 게이트
이온큐와 리케티의 양자 컴퓨터 서킷은 표준 게이트 세트로 구축되지만 모든 QPU가 모든 종류의 게이트를 구현하진 않는다. 브래킷 SDK는 서킷(Circuit) 내의 게이트와 매개변수에 의해 검증된 브래킷닷서킷 패키지의 방식을 이용해 서킷을 정의한다.
예를 들면 아래의 브래킷 코드는 4 큐비트를 초기값으로 하는 서킷을 하다마드 상태(Hadamard state, 1과 0의 동등 확률)로 정의한 후 컨트롤드 낫(Controlled Not) 연산을 사용해 큐비트 2를 큐비트 0과, 그리고 큐비트 3을 큐비트 1과 엮는다.
# define circuit with 4 qubits my_circuit = Circuit().h(range(4)).cnot(control=0, target=2).cnot(control=1, target=3) |
디-웨이브 오션(D-Wave Ocean)
오션(Ocean)은 디-웨이브 양자 어닐러를 위한 네이티브 파이썬 기반 소프트웨어 스택이다. 브래킷을 통해 오션을 사용할 경우 오션 소프트웨어를 아마존 브래킷 오션 플러그인과 통합할 수 있다. 플러그인은 오션 및 브래킷 포맷 사이의 변환을 담당한다.
양자 어닐러는 게이트 기반 QPU와는 상당히 다르게 작동한다. 기본적으로 사용자는 BQM로 문제를 공식화한다. 그 후 어닐러를 사용해 함수를 여러 차례 샘플링하며 최소값을 발견한다(어닐러가 완벽하지 않기 때문이다).
주어진 문제에 대해 수학적으로 BQM를 생성하거나, 오션 소프트웨어를 사용해 BQM을 생성할 수도 있다. 아마존의 디-웨이브 아나토미(D-Wave_Anatomy) 예제에서 나온 다음 코드는 브래킷 오션 플러그-인을 사용해 디-웨이브 장치에서 BQM을 해결한다.
# set parameters num_reads = 1000 # define BQM bqm = dimod.BinaryQuadraticModel(linear, quadratic, offset, vartype) # run BQM: solve with D-Wave device sampler = BraketDWaveSampler(s3_folder,'arn:aws:braket:::device/qpu/d-wave/DW_2000Q_6') sampler = EmbeddingComposite(sampler) sampleset = sampler.sample(bqm, num_reads=num_reads) # aggregate solution: sampleset = sampleset.aggregate() |
아마존 브래킷을 활성화하고 노트북 사용하기
브래킷을 사용하려면 먼저 AWS 계정에서 이를 활성화해야 한다.
그러고 나서 노트북 인스턴스를 생성한다. 노트북은 아마존 세이지메이커(Amazon SageMaker)를 사용한다.
노트북을 열면 새 코드를 입력하거나 아마존의 예시 가운데 하나를 이용할 수 있다.
QPU 장치 상태를 확인해야 한다. 이들을 항상 사용할 수 있는 것은 아니기 때문이다.
사용자가 스스로 실행할 수 있지만 브래킷 예시 노트북은 이전 실행의 결과와 함께 저장된다.
게이트 기반의 QPU와 양자 어닐러에 관한 예시들이 있다.
지금 배워둔다면 앞으로 유용할 것
아마존 브래킷은 양자 컴퓨터와 시뮬레이터에 입문할 수 있는 합리적인 경로다. 물론 현재 양자 컴퓨팅 개발 단계는 NISQ(Noisy Intermediate Scale Quantum)이기 때문에 브래킷으로 유용한 결과를 기대하기는 어렵다. 더 많은 큐비트, 더 적은 노이즈, 더 긴 일관성 시간을 위해 연구가 활발하게 진행 중이다.
브래킷의 현 QPU 제품은 일반적인 수준이다. 2048 큐비트의 디-웨이브 어닐러는 주로 최적화 연산에 유용하다. 이는 디-웨이브의 최신 세대 어닐러의 약 절반 규모다. 11 큐비트의 이온큐 QPU는 비교적 긴 일관성 시간을 갖지만 양자 컴퓨터 알고리즘을 구현하기에는 너무 작다. 예를 들면 함수의 역을 찾는 그로버 알고리즘, 정수의 소인수를 찾는 쇼어 알고리즘 같은 것들이다. 30 큐비트의 리게티 아스펜-8 역시 너무 작다.
또한 브래킷은 무료는 아니지만 비교적 저렴한 편이다. 반면에 IBM Q는 완전히 무료다. 다만 공개적으로 사용할 수 있는 IBM QPU가 너무 작다. 아몽크(Armonk)의 QPU는 1큐비트고, 멜버른(Melbourne)의 QPU는 15 큐비트다. IBM은 유료 프리미엄 QPU 서비스도 제공한다.
IBM은 QPU를 양자 볼륨(QV)으로 평가하기도 한다. 이는 큐비트 수치, 오류 비율, 일관성 시간을 결합한 지표다. QV 8 ~ QV 32의 범위에는 5 큐비트의 IBM QPU가 있다. 수치가 높을수록 더 좋은 것이다. IBM은 내부적으로 QV64를 달성했다고 발표했지만 아직 출시되진 않았다. 허니웰 역시 QV 64를 달성했다고 발표했다.
현재 ‘브래킷’이 유용한 이유는 양자 컴퓨팅을 배울 수 있고, NISQ 체제의 양자 알고리즘을 개발할 수 있다는 점이다. 그러나 계속 주시할 필요는 있다. QPU가 발전하고 AWS에 연결된다면, 브래킷은 계속해서 유용해질 것이다.
비용: 매니지드 노트북(인스턴스 시간당 0.04~34.27달러), 양자 시뮬레이터(시간당 4.5달러), 양자 컴퓨터(작업당 0.3달러 그리고 1샷당 0.00019~0.01 달러(서킷의 반복))
플랫폼: AWS(브래킷 SDK를 로컬로 설치하려면 파이썬 3.7.2 또는 그 이상, 그리고 기트(Git)가 필요하다.) ciokr@idg.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.