brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Mar 10. 2020

텐서플로우 퀀텀발표:퀀텀 머신러닝을 위한 오픈소스

2020년 3월 9일(월) 구글 AI 리서치 블로그

"자연은 고전적이지 않고 자연스럽지 않으므로 자연을 시뮬레이션하려면 양자 역학적으로 만드는 것이 좋습니다." — 물리학자 리처드 파인만(Richard Feynman)


머신러닝(ML)은 실제로 시스템을 정확하게 시뮬레이션하지는 않지만 시스템 모델을 학습하고 시스템의 동작을 예측할 수 있습니다. 지난 몇 년간, 고전적인 ML 모델은 까다로운 과학적 문제를 해결하여 암 발견을 위한 이미지 처리, 지진 여진 예측, 극한 기상 패턴 예측 및 새로운 외계 행성 탐지에 앞장서고 있습니다. 최근 양자 컴퓨팅 개발의 발전과 함께, 새로운 양자 ML 모델의 개발은 세계 최대의 문제에 중대한 영향을 미쳐서 의약품, 재료, 감지 및 통신 분야에서 획기적인 발전을 가져올 수 있었습니다. 그러나 현재까지 양자 데이터를 처리하고 현재 이용 가능한 양자 컴퓨터에서 실행할 수 있는 유용한 양자 ML 모델을 발견할 수 있는 연구 도구가 부족했습니다.


오늘, 워털루 대학, X 및 폭스바겐과 협력하여 퀀텀 ML 모델의 빠른 프로토타이핑을 위한 오픈소스 라이브러리인 TFQ(TensorFlow Quantum)의 출시를 발표했습니다. TFQ는 자연 또는 인공 양자 시스템을 제어하고 모델링하기 위해 양자 컴퓨팅 및 머신러닝 리서치 커뮤니티를 통합하는 데 필요한 도구를 제공합니다. 예 : ~50-100 qubits의 NISQ (Noisy Intermediate Scale Quantum) 프로세서.

TFQ는 CirqTensorFlow를 통합하고 고성능 양자 회로 시뮬레이터와 함께 기존 TensorFlow API와 호환되는 양자 컴퓨팅 프리미티브를 제공함으로써 차별적이고 생성적인 양자 클래식 모델의 설계 및 구현을 위한 높은 수준의 추상화를 제공합니다.


Quantum ML 모델이란 무엇입니까?

양자 모델은 양자 역학 기점으로 데이터를 표현하고 일반화할 수 있습니다. 그러나 양자 모델을 이해하려면 양자 데이터와 하이브리드 양자 고전 모델이라는 두 가지 개념을 도입해야 합니다.


양자 데이터는 중첩(Quantum superposition)과 얽힘(Quantum entanglement)을 나타내므로, 표현하거나 저장하기 위해 지수적인 양의 고전적인 계산 자원이 필요할 수 있는 공동 확률 분포로 이어집니다. 양자 프로세서/센서/네트워크에서 생성/ 시뮬레이트 될 수 있는 양자 데이터에는 화학 물질 및 양자 물질, 양자 제어, 양자 통신 네트워크, 양자 계측 등의 시뮬레이션이 포함됩니다.


기술적이지만 중요한 통찰력은 NISQ 프로세서에 의해 생성된 양자 데이터에 노이즈가 있으며 일반적으로 측정 직전에 얽혀 있다는 것입니다. 그러나 노이즈가 있는 얽힌 양자 데이터에 양자 머신러닝을 적용하면 유용한 고전 정보의 추출을 최대화할 수 있습니다. 이러한 기술에서 영감을 얻은 TFQ 라이브러리는 양자 데이터에서 상관관계를 분리하고 일반화하여 기존 양자 알고리즘을 개선하거나 새로운 양자 알고리즘을 발견할 수 있는 기회를 열어주는 모델 개발을 위한 기본 요소를 제공합니다.


두 번째로 소개할 개념은 하이브리드 양자 고전 모델입니다. 단기 퀀텀 프로세서는 여전히 작고 잡음이 많기 때문에 퀀텀 모델은 퀀텀 프로세서만 사용할 수 없습니다. NISQ 프로세서는 기존 프로세서와 함께 작동하여 효과를 발휘해야 합니다. TensorFlow는 이미 CPU, GPU 및 TPU에서 이기종 컴퓨팅을 지원하므로 하이브리드 양자 고전 알고리즘을 실험하기 위한 자연스러운 플랫폼입니다.


TFQ에는 양자 계산을 지정하는 데 필요한 큐 비트, 게이트, 회로 및 측정 연산자와 같은 기본 구조가 포함되어 있습니다. 그런 다음 시뮬레이션 또는 실제 하드웨어에서 사용자 지정 양자 계산을 실행할 수 있습니다. Cirq에는 또한 사용자가 컴파일러 및 스케줄러와 같은 NISQ 시스템을 위한 효율적인 알고리즘을 설계하고 양자 회로 시뮬레이터 및 양자 프로세서에서 실행되는 하이브리드 양자 고전 알고리즘의 구현을 가능하게 하는 실질적인 머신이 들어 있습니다.


우리는 하이브리드 양자 고전 컨볼루션 신경망, 양자 제어를 위한 머신러닝, 양자 신경망을 위한 계층별 학습, 양자 역학 학습, 혼합 양자 상태의 생성 모델링 및 양자 신경망을 통한 학습을 위한 학습을 위해 고전적인 recurrent neural networks과 같은 TensorFlow Quantum을 사용했습니다. 우리는 TFQ 백서에서 이러한 양자 응용에 대한 평가서를 제공하고, 각각 예제는 리서치 리파지토리에서 Colab을 통해 브라우저 내에서 실행될 수 있습니다.


어떻게 TFQ가 동작하는가? 

TFQ는 연구원들이 단일 계산 그래프에서 텐서로서 양자 데이터셋, 양자 모델 및 클래식 제어 파라미터를 구성할 수 있도록 합니다. 고전적인 확률 사건으로 이어지는 양자 측정의 결과는 TensorFlow Ops에 의해 얻어진다. 표준 Keras 함수들을 사용하여 훈련을 수행할 수 있습니다.


양자 데이터를 사용하는 방법에 대한 직관을 제공하기 위해 양자 신경망을 사용하여 양자 상태의 감독된 분류를 고려할 수 있습니다. 기존 ML과 마찬가지로 퀀텀 ML의 주요 과제는 "잡음 데이터"를 분류하는 것입니다. 이러한 모델을 구축하고 훈련시키기 위해 연구원은 다음을 수행할 수 있습니다.


1. 양자 데이터셋을 준비하기-양자 데이터는 텐서(다차원 배열)로 로드됩니다. 각 양자 데이터 텐서는 즉시 양자 데이터를 생성하는 Cirq로 작성된 양자 회로로 지정됩니다. 텐서는 양자 컴퓨터에서 TensorFlow에 의해 실행되어 양자 데이터셋을 생성합니다.


2. 양자 신경망 모델 평가하기-연구원은 Cirq를 사용하여 양자 신경망을 프로토타입 하여 나중에 TensorFlow 계산 그래프에 포함시킬 수 있습니다. 파라미터화 된 양자 모델은 양자 데이터의 구조에 대한 지식에 기초하여 몇 가지 광범위한 카테고리로부터 선택될 수 있습니다. 모델의 목표는 일반적으로 얽힌 상태에서 숨겨진 정보를 추출하기 위해 양자 처리를 수행하는 것입니다. 다시 말해, 양자 모델은 본질적으로 입력 양자 데이터를 분리하여 숨겨진 정보를 고전적인 상관관계로 인코딩하여 로컬 측정 및 고전적인 후 처리에 액세스 할 수 있게 합니다.


3. 샘플 또는 평균-양자 상태 측정은 클래식 랜덤 변수에서 샘플 형태로 클래식 정보를 추출합니다. 이 랜덤 변수의 값 분포는 일반적으로 양자 상태 자체와 측정 가능한 관측 값에 따라 다릅니다. 많은 변형 알고리즘이 기대 값이라고도 하는 측정의 평균값에 의존하기 때문에 TFQ는 단계(1) 및 (2)와 관련된 여러 실행에 대한 평균을 계산하는 방법을 제공합니다.


4. 클래식 신경망 모델 평가-클래식 정보를 추출한 후에는 클래식 후 처리에 적합한 형식입니다. 추출된 정보는 여전히 측정된 기대치 사이의 고전적인 상관관계로 인코딩 될 수 있기 때문에, 고전적인 심층 신경망이 그러한 상관관계를 증류시키기 위해 적용될 수 있습니다.


5. 비용 함수 평가-기존 사후 처리 결과를 고려하여 비용 함수가 평가됩니다. 이는 양자 데이터에 레이블이 지정된 경우 모델이 분류 작업을 얼마나 정확하게 수행하는지 또는 작업이 감독되지 않은 경우 다른 기준을 기반으로 할 수 있습니다.


6. 경사 평가 및 파라미터 업데이트하기-비용 함수를 평가한 후 파이프라인의 사용 가능한 파라미터를 비용을 줄일 것으로 예상되는 방향으로 업데이트해야 합니다. 이것은 가장 일반적으로 경사 하강(Gradient descent)을 통해 수행됩니다.

[그림 1]

[그림 1] 상세 설명 - TFQ의 양자 데이터에 대한 hybrid quantum-classical discriminative model의 추론 및 훈련을 위한 엔드 투 엔드 파이프라인과 관련된 계산 단계에 대한 고급 추상 개요. 엔드-투-엔드 예제의 코드를 보려면 "Hello Many-Worlds" 예제, 퀀텀 컨볼루션 신경망 자습서 및 가이드를 확인하십시오.


TensorFlow Quantum의 주요 기능은 많은 양자 회로를 동시에 훈련하고 실행할 수 있는 기능입니다. 이는 컴퓨터 클러스터 전체에서 계산을 병렬화하는 TensorFlow의 기능과 멀티 코어 컴퓨터에서 비교적 큰 양자 회로를 시뮬레이션할 수 있는 능력에 의해 달성됩니다. 후자를 달성하기 위해 우리는 새로운 고성능 오픈소스 양자 회로 시뮬레이터인 qsim (github 링크)의 출시를 발표했습니다. 이 시뮬레이터는 111초에 게이트 심도가 14 인 32 큐비트 양자 회로를 시뮬레이션할 수 있는 능력을 보여주었습니다. 단일 Google Cloud 노드(n1-ultramem-160) (자세한 내용은 이 백서를 참조하십시오). 시뮬레이터는 특히 멀티 코어 인텔 프로세서에 최적화되어 있습니다. TFQ와 결합하여 Google Cloud 노드(n2-highcpu-80)에서 60분의 게이트 심도 20에서 20 큐비트 양자 회로에 대한 1백만 회로 시뮬레이션을 시연했습니다. 자세한 내용은 qsim을 사용한 양자 회로 시뮬레이션에 관한 TFQ 백서 섹션 II E를 참조하십시오.


기대

오늘날 TensorFlow Quantum은 기본적으로 고전적인 양자 회로 시뮬레이터에서 양자 회로를 실행하는 데 중점을 두고 있습니다. 앞으로 TFQ는 Google 자체 프로세서 Sycamore를 포함하여 Cirq에서 지원하는 실제 양자 프로세서에서 양자 회로를 실행할 수 있습니다.


TFQ에 대한 자세한 내용은 백서를 읽고 TensorFlow Quantum 웹 사이트를 방문하십시오. ML과 Quantum 커뮤니티를 연결하면 전 세계에서 흥미로운 새로운 발견을 이끌어 내고 세계에서 가장 어려운 문제를 해결하기 위해 새로운 양자 알고리즘의 발견을 가속화할 수 있다고 믿습니다.


감사의 말

이 오픈소스 프로젝트는 Google AI Quantum 팀이 이끌었으며 워털루 대학교, 알파벳 X 및 폭스 바겐이 공동 개발했습니다. Google AI Quantum 연구소의 여러 인턴십 프로젝트를 통해 학생들이 이 오픈소스 소프트웨어에 크게 기여한 워털루 대학교에 특별한 감사를 드립니다.


원본 제목: TensorFlow Quantum 발표: Quantum Machine Learning을 위한 오픈소스 라이브러리(Announcing TensorFlow Quantum: An Open Source Library for Quantum Machine Learning)
게시자 : Alan Ho 제품 책임자 리드 및 Masoud Mohseni, Google Research 기술 책임자
원본 링크: https://ai.googleblog.com/2020/03/announcing-tensorflow-quantum-open.html
Tensorflow Quantum 오픈소스: https://github.com/tensorflow/quantum/tree/research
Hello, many worlds 예제: https://www.tensorflow.org/quantum/tutorials/hello_many_worlds
qsim 오픈소스: https://github.com/quantumlib/qsim
World Economic Forum Video - An Insight, An Idea with Sundar Pichai : https://www.youtube.com/watch?v=eh78EUTas34
이 블로그는 2020년 3월 9일(월), Google AI Research Blog 기사를 영어에서 우리나라 말로 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)
매거진의 이전글 T5로 전이학습:텍스트-대-텍스트를 트랜스포머로 변환

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari