구글이 워털루대학, 폭스바겐, 연구기관인 엑스(X)와 공동으로 양자 기계학습 라이브러리인 텐서플로우 퀀텀(TensorFlow Quantum)을 공개했다. 텐서플로우 퀀텀은 양자컴퓨팅과 기계학습 연구 커뮤니티를 결합해 양자 구조를 모델링하기 위한 도구다.
텐서플로우 퀀텀은 양자잡음이 존재하는 양자 프로세서 NISQ를 위해 구글이 개발한 프레임워크 써큐(Cirq)를 기존 텐서플로우 라이브러리에 통합한 것이다. 기존 텐서플로우 API와 호환성을 갖는 양자컴퓨팅을 실현하고 있다.
양자 기계학습 모델을 이해하려면 양자 데이터와 양자 고전 하이브리드 모델을 먼저 이해할 필요가 있다. 양자 데이터는 양자가 서로 겹치거나 얽히기도 하면서 얽혀 버린 것으로 NISQ에 의해 생성되는 데이터다. 양자 데이터에는 노이즈가 포함되어 있지만 양자 기계학습을 적용하면 고전적인 형식 정보를 최대한 추출할 수 있다. 텐서플로우 퀀텀은 성질에 착안한 라이브러리에서 양자 데이터를 일반화하기 위한 기초를 제공한다.
NISQ는 노이즈가 많아도 고전 프로세서와 함께 이용해 효율적인 계산이 가능하지만 이런 계산을 가능하게 해주는 건 양자 고전 하이브리드 모델이다. 텐서플로우 퀀텀은 양자비틍와 양자 게이트, 양자회로 등 지금까지 양자컴퓨팅에 이용되는 일반 구조 외에도 서큐에 포함되어 있는 NISQ용 컴파일러와 스케줄러를 탑재해 효율적 양자 고전 하이브리드 모델을 실현하고 있다.
텐서플로우 퀀텀은 양자 데이터를 처리할 때 우선 양자 모델에 의한 데이터 평가가 이뤄진다. 여기에선 양자 데이터의 중첩 속에 숨겨진 고전적 형식 정보를 추출한다. 양자 상태를 나타낸 고전적인 형식 임의의 변수는 샘플링이나 평균화된 신경망이 고전 컴퓨팅에 의해 데이터를 처리하고 이후 목적 함수를 최적화하도록 변수를 업데이트한다.
텐서플로우 퀀텀의 특징은 다수 양자회로에서 병렬 계산으로 비교적 규모가 큰 양자회로를 멀티코어 프로세서에서 시뮬레이션할 수 있다는 것이다. 후자를 실현하기 위해 인텔 멀티코어 프로세서에 최적화된 고성능 양자회로 시뮬레이터인 큐심(qsim)을 채용하고 있다고 한다. 이렇게 하면 구글 클라우드 플랫폼 N2 노드에서 vCPU를 80코어로 설정하면 60분 동안 2020개 양자회로에서 100만 회 시뮬레이션을 할 수 있었다고 한다.
텐서플로우 퀀텀은 출시 단계에선 기존부터 존재하던 양자회로 시뮬레이터를 이용하고 있지만 미래에는 구글이 개발한 양자 프로세서 시커모어(Sycamore) 등 실제 양자 프로세서도 지원할 것이라고 한다. 텐서플로우 퀀텀은 오픈소스 소프트웨어로 깃허브에도 공개되어 있다. 관련 내용은 이곳에서 확인할 수 있다.