カテゴリー別アーカイブ: 量子コンピューター

マイクロソフトは量子クラウド「Azure Quantum」を発表、量子コンピュータ登場前に量子アプリの開発が進む

Microsoftは2019年11月、開発者会議「Ignite」で量子クラウド「Azure Quantum」を発表した(下の写真)。Azure Quantumは量子技術を統合したクラウドで、量子アプリケーションの開発環境とそれを実行する量子コンピュータから構成される。CEOのSatya Nadellaは、量子コンピュータで未解決の問題を解決し、食の安全、気候変動、エネルギー伝送の分野でブレークスルーを起こすと表明した。

出典: Microsoft

Azure Quantumとは

Azure Quantumは量子コンピュータから開発環境からソリューションまでを提供する量子技術のフルスタックとして位置付けられる。Microsoftは既に、量子開発環境「Quantum Development Kit」や量子プログラム言語「Q#」などを発表しているが、これらがAzure Quantumの中に組み込まれた。エンジニアはAzure Quantumで量子アルゴリズムを開発し、それらを量子コンピュータや量子シミュレータで実行することができる。商用量子コンピュータが登場するまでには時間がかかるが、Azure Quantumで先行して量子アプリケーションを開発し、来るべき時代に備えておく。

量子コンピュータの種類

Azure Quantumは実行環境として開発中の量子コンピュータを利用する。対象となるマシンは、Microsoft、IonQ、Honeywell、Quantum Circuitsで、この中でプロトタイプが稼働しているのはIonQだけとなる。他の量子コンピュータは開発中で、マシンが稼働すると順次、Azure Quantumで使われる。

量子コンピュータの概要

Microsoftは「Topological Quantum Computer」という方式の量子コンピュータを開発している(下の写真)。二次元平面で動く特殊な粒子の特性を利用し、その位相変化を情報単位とする方式で、極めて信頼性が高いが、開発には時間を要す。IonQとHoneywellは「Trapped Ions」という手法の量子コンピュータを開発している。電荷を帯びた原子(イオン)の電子のエネルギー状態でQubitを構成する。Quantum Circuitsは超電導回路を使ってQubitを生成するが、量子コンピュータを多数のモジュールで構成する。GoogleやIBMは複数の超電導回路を一つのチップに搭載するが、Quantum Circuitsはこれを多数のモジュールに分けて搭載する。量子プロセッサを多重化することで信頼性を高めるアプローチを取る。

出典: Microsoft

量子アプリケーション開発環境

Microsoftは量子アプリケーション開発環境「Quantum Development Kit」と量子プログラム言語「Q#」を2017年12月に投入している。しかし、2019年7月には、これら開発環境をオープンソースとしてGitHubに公開した。Microsoftはオープンソースの手法で、開発者コミュニティと連携して、量子アプリケーションを開発する方針とした。今回の発表でこれら開発環境をAzure Quantumに組み込み、エコシステムの拡大を目指している。

量子プログラム事例

GitHubには量子アルゴリズムのサンプルが掲載されており、これらを利用して新しい量子アプリケーションを開発することができる。GitHubには代表的なアルゴリズムとして、検索(Grover’s Algorithm)、素因数分解(Shor’s Algorithm)、量子化学、シミュレーションなどが掲載されている。また、量子アルゴリズムを学習するためのサンプルも豊富に揃っており、ここでスキルを身につけ、量子アルゴリズム開発を始める。

量子テレポーテーション

GitHubにサンプルコードとして「量子テレポーテーション(Quantum Teleportation)」が掲載されている。量子テレポーテーションとは、ある場所から別の場所に情報(Qubitの状態)を送信する技術であるが、物質(電子や光子など)を送ることなく、情報を伝える技術である。SF映画に登場するテレポーテーションのように、情報を遠く離れた場所に移動させる技術である。電気シグナルで情報を伝達しないので経路上で盗聴されることはない。極めて奇妙な物理現象であるが、Quantum Teleportationを量子ゲートで示すと下の写真上段の通りとなる。左上のQubitの情報を右下のQubitに送るのであるが、簡単なゲート操作を経て、右下のQubitの状態を読み出すだけで情報が伝わる。この量子ゲートをQ#でコーディングすると下の写真下段のようになる。

出典: GitHub

量子テレポーテーションを実行すると

サンプルコードはJupyter Notebook(オープンソース開発・シミュレーション環境)の上に展開されており、コードをそのまま実行できる。ここでは「TeleportRandomMessage」という命令(Operation)を定義し、Qubitの状態をテレポートするコードを作成し、それをMicrosoftの量子シミュレータで実行させた。その結果、送信側のQubitの状態「|->」が、受信側のQubitにテレポートし、正しく「|->」と出力された(下の写真)。(「|->」とはBlock Sphere(先頭の写真左側の球体)でQubitが-Y軸方向に向いている状態。)

出典: GitHub

量子アプリケーション事例

既に、先進企業はMicrosoftの量子アプリケーション開発環境を使って事業を進めている。OTI Lumionicsはカナダ・トロントに拠点を置く企業で、量子技術を使って新素材を開発している。この手法は「Computational Materials Discovery」といわれ、量子化学と機械学習の手法で有機EL(OLED)を開発している。OTI Lumionicsは量子アルゴリズムを開発し、新素材のシミュレーションを実行し、その物理特性を予測する(下の写真)。

出典: OTI Lumionics

開発者コミュニティ拡大

量子コンピュータの商用機が登場する前に、既に量子アルゴリズム開発が始まっている。開発した量子アルゴリズムはシミュレータで実行する。しかし、量子シミュレーションでは大量のメモリが必要となり、Qubitの数が増えるとパソコンやサーバでは実行できなくなる。このため、大規模構成のQubitのシミュレーションはAzureに展開して量子アプリケーションを実行する。Microsoftとしては量子アルゴリズム開発環境を提供することで、多くのエンジニアがQ#などに慣れ親しみ、開発者コミュニティを拡大する狙いもある。量子コンピュータが登場する前に、既に、量子エンジニアの囲い込みが始まった。

シュレーディンガーの猫

Azure Quantumのシンボルは「シュレーディンガーの猫(Schrödinger’s Cat)」である(先頭の写真右端)。この猫はオーストリアの物理学者シュレーディンガーが量子力学を説明する思考実験として使われた。量子力学ではQubitの状態(Block Sphereの青丸の位置)を特定することはできず、0である確率は50%で、1である確率は50%となる。Qubitを計測することで初めて0か1かに決まる。これを猫に例えると、箱に入った猫は蓋を開けるまで、その生死は分からない。つまり、箱の中で、猫は50%の確率で生きており50%の確率で死んでいる、ということになる。

エアバスは量子コンピュータで航空機をデザイン、NISQで量子アルゴリズム開発が始まる

量子コンピュータが登場するまでには5年から10年かかるといわれているが、既に量子アプリケーション開発が進んでいる。現在、「Noisy Intermediate-Scale Quantum (NISQ)」と呼ばれる量子コンピュータが稼働し、このプラットフォームで量子ソフトウェアの開発が始まった。NISQは演算ゲートのエラー発生率が高く、中規模構成のシステムとなる。この不安定なマシンで画期的な量子アプリケーションを開発できるのか、世界でアルゴリズム研究が始まった。エアバスはその先頭を走り、NISQで航空機の設計を見直し、エネルギー効率の良いデザインを探求している。

出典: Airbus

エアバスとは

エアバス(Airbus)はオランダに本社を置き、欧州四か国による航空宇宙機器製造会社として1970年に設立された。その当時、米国の航空宇宙機器メーカーが市場を独占しており、エアバスはこの対抗軸として創設された。米ソ冷戦に伴い、米国で企業統合が進み、今では大型旅客機メーカーはボーイング(Boeing)一社だけとなり、エアバスと一対一で対峙する構図となった。エアバスはこの市場で後発メーカーであり、機体設計に先進的な思想や技術を取り入れ、トップに追い付いてきた。今でもこの思想が受け継がれ、エアバスはスパコンを使って航空機を設計し、今では量子コンピュータを使った開発技法を探求している。

量子技術チャレンジ

量子コンピュータはまだ新しい技術で、エアバスは大学などと研究コミュニティを形成して開発を進める方式を取っている。エアバスは量子コンピュータ技術を競う「Airbus Quantum Computing Challenge」を展開している(先頭の写真)。これは量子コンピュータを使って量子アプリケーションを開発するチャレンジで、指定されたタスクを解決する形式で競技が進んでいる。チャレンジは2019年1月に始まり、10月末で開発が締め切られ、現在その成果が審査されており、2020年の第1四半期に順位が決まる。量子コンピュータ研究者、新興企業、大学などが参加しており、その数は500を超える。

エアバスの狙い

このチャレンジは航空機の飛行物理特性(aerospace flight physics problems)を量子アルゴリズムで解明することが目的となる。エアバスはチャレンジへの参加者とともに、量子技術の発展を目標にしている。また、エアバスとしては参加者が開発した優秀な技術を自社の航空機開発で利用することを計画している。更に、エアバスはチャレンジに参加した優秀な量子コンピュータ開発者の採用も視野に入れている。量子コンピュータが登場する前に、既に、量子技術研究者の採用で戦いが始まっている。

離陸時に最小コストで上昇

タスクは5つの項目からなり、参加者はこれらの問題を解決する量子アルゴリズムを開発する。その一つが「Aircraft Climb Optimisation」で、最小のエネルギー(燃料)とコスト(飛行時間)で上昇するプロセスを計算する(下の写真)。航空機は短距離輸送で利用されるケースが増え、離着陸回数が大幅に増えた。このため、如何に省エネで離陸できるかが問われている。このタスクは与えられた条件で最適な組み合わせ(Low Cost Index、燃費と時間の最小値)を求める問題に帰着する。最適化問題は「NP-Hard」と呼ばれ、複雑な問題の中でも難解な領域を指し、スパコンでも解くことが難しく、量子コンピュータに期待が寄せられている。

出典: Airbus

機体の空力特性を評価

次は、数値流体力学(Computational Fluid Dynamics)を量子コンピュータで解くタスク(下の写真)。航空機の効率性は機体全体の形状により決まる。このデザインで数値流体力学が使われ、機体周囲の空気の流れを解析し、機体に及ぼす力などを解明する。いわゆる空力特性を求めるもので、スパコンでは処理時間がかかり精度を上げることが難しい。量子コンピュータで同じモデルを実行すると、どれだけスピードアップできるかを把握することがこのタスクの目的となる。これにより、大規模な数値流体力学モデルを生成し、これを量子コンピュータでシミュレーションすることにつなげる。

出典: Airbus

変微分方程式をAIで解く

数値流体力学で空力特性を解析することは変微分方程式を解くことに帰結する。このタスクは「Quantum Neural Networks for Solving Partial Differential Equations」として出題され、量子コンピュータで偏微分方程式を解く技法が求められる。空気など流体の運動は変微分方程式(Navier-Stokes Equationsなど)で記述され、これを解くためには精緻なモデルを生成し、大規模な計算量を必要とする。この方式に対し、変微分方程式をニューラルネットワークで解く研究が進んでいる。これはAIをシミュレーション結果で教育することで、偏微分方程式の解を見つける手法で、現行手法(Finite Volume Method、有限体積法)に比べ、高速で収束し精度が高いことが報告されている。チャレンジではこの方式を量子コンピュータで実現する技法の開発が求められ、現行コンピュータに比べ、どれだけスピードアップできるのかを評価する。

主翼構造の最適化など

この他のタスクとして、主翼の構造の最適化(Wingbox Design Optimisation、下の写真)やペイロード利用効率の最適化(Aircraft Loading Optimisation)が出題されている。タスクの殆どが航空機の運用効率を高める技術を量子コンピュータで求めるもので、量子アルゴリズムは最適化問題(Optimization)で威力を発揮すると期待されている。

NISQでアルゴリズム開発

これらのタスクはNISQ型の量子コンピュータで実行される。不安定なプロセッサで大規模なゲート演算はできないため、エラーに耐性のある量子アルゴリズムの開発が求められる。また、量子コンピュータと現行コンピュータを連結したハイブリッド構成でアルゴリズムを開発する手法も対象となる。NISQで航空機デザインに役立つ成果がでるのか、審査結果が待たれる。

出典: Airbus

先行して開発する

エアバスは航空機開発でスパコンを採用した最初の企業で、今では量子コンピュータを使った開発方式を模索している。エアバスは量子コンピュータで飛行物理特性(Flight Physics)を計算することに着目し、複雑な物理特性を解明し、開発時間を短縮することを目指している。このために、エアバスは量子コンピュータ開発メーカーや研究機関と提携し、共同で量子アルゴリズムを開発する手法を取っている。高信頼性の量子コンピュータが登場するのはもう少し先だが、NISQやシミュレータでの量子アルゴリズム開発が本格的に始まった。

量子アルゴリズムで地球温暖化対策

航空機は大量の二酸化炭素を排出し地球温暖化の要因とされている。航空機は温暖化ガスの2.5%を輩出しているが、2050年にはパリ協定で定められた温暖化ガス排出量の1/4を占めると予測されている。このため、飛行機で移動することは反社会的とみられ、「Flight Shame」という風潮が広がり、飛行機に乗ることに後ろめたさを感じる人が増えてきた。航空機メーカーとしては温暖化ガス排出量を削減することが大きな使命となり、量子コンピュータを使い機体デザインや航空機運行を最適化する方向に向かっている。

Googleの量子コンピュータ開発、次はNISQでブレークスルーを起こす

Googleが発表した量子コンピュータ「Sycamore」(下の写真)は「Quantum Supremacy(スパコン越え)」に到達したのか判断が分かれているが、プロセッサは論理設計通りに稼働し、多数のゲート演算を実行し、大きなマイルストーンとなった。Sycamoreはエラーを補正する機構は搭載しておらず、大規模な演算を実行することは難しい。この種類の量子コンピュータは「Noisy Intermediate-Scale Quantum (NISQ)」と呼ばれ、ノイズが高く(エラー率が高く)、中規模構成(50から100Qubit構成)のシステムとなる。これからNISQで量子アルゴリズム開発が始まる。 果たしてNISQという不安定な量子コンピュータでキラーアプリを開発することができるのか、世界が注目している。

出典: Google

量子コンピュータの構想

量子コンピュータの基礎概念は1981年にRichard Feynmanが提唱した。当時、Feynmanはカリフォルニア工科大学の教授で、講座「Potentialities and Limitations of Computing Machines (コンピュータの可能性と限界)」の中で量子コンピュータの概念を講義した。「自然界は量子力学に従って動いているので、それをシミュレーションするには量子コンピュータしかない」と説明し、量子コンピュータという構想を示した。

量子技術を実現する

量子コンピュータの基礎研究が進む中、最初に量子コンピュータの演算単位「Qubit」を生成することに成功したのはDavid Wineland(当時アメリカ国立標準技術研究所の研究者、下の写真)のグループである。この研究が認められ、量子システムを計測・制御した功績で、2012年にノーベル物理学賞を受賞した。この研究ではTrapped Ion(電荷を帯びた原子(イオン)を容器に閉じ込めこれをレーザー光線で操作)という手法で2つのQubitからなる量子ゲートを生成した。量子コンピュータの演算基礎単位を実現できたのは2006年ごろでまだまだ新しい技術である。

出典: National Institute of Standards and Technology

NISQという種類の量子コンピュータ

今では、GoogleがSycamoreを開発し、53のQubitで量子ゲートを構成し、まとまった計算ができるようになった(下の写真)。これに先立ち、IBMは量子コンピュータを「IBM Q System One」として販売している。これらは「Noisy Intermediate-Scale Quantum (NISQ)」に分類され、Qubitが正常に稼働できる時間(Coherence Time)が短く、エラー(Decoherence)が発生してもそれを補正する機構は無く、不安定なシステムとなる。このため、スパコンを超える性能は出せるが、大規模な構成は取れないという制約を持つ。因みに、NISQというコンセプトはカリフォルニア工科大学教授John Preskillにより提唱された。Preskillは米国で量子技術の基礎研究をリードしており、「Quantum Supremacy」というコンセプトも同氏が提唱した。

出典: Google

量子機械学習アルゴリズム

NISQは量子ゲートのエラー率が高く大規模な演算はできないが、規模の小さい量子アルゴリズムの研究で使われている。実際に、化学、機械学習、物性、暗号化などのアルゴリズム開発が進んでいる。特に、量子機械学習(Quantum Machine Learning)に注目が集まっている。これはAIを量子コンピュータで実行する手法で、大規模なデータを量子状態で処理することで、アルゴリズム教育を高速で実行できると期待されている。具体的には、ニューラルネットワークで多次元のデータを処理するとき、そのデータマトリックスをQubitの量子状態にエンコードすることで学習プロセスが効率化される。一方、AIの実行では大量のデータを量子プロセッサに入力する必要があるが、このプロセスがネックとなる。量子コンピュータは演算速度はけた違いに速いが、データを読み込んだり、データを書き出す処理で時間がかかる。このデータ入出力プロセスを高速で実行することが重要な研究テーマとなっている。

ハイブリッド構成で稼働

NISQは現行コンピュータを置き換えるものではなく、両者が協調してタスクを実行する構成が取られる。これは「Hybrid Quantum-Classical Architectures」と呼ばれ、NISQが現行コンピュータのアクセラレータ(加速器)として機能する。現行コンピュータでアプリを実行する際にその一部をNISQにアウトソースする形を取る。パソコンでビデオゲームをする際に、アプリはCPUで稼働するが、画像処理の部分はGPUで実行される方式に似ている。

ハイブリッド構成で最適化問題を解く

ハイブリッド方式では「Variational Quantum Eigensolver (VQE)」という手法が注目されている。VQEはEigenvalue(固有値)を求める手法で現行コンピュータと量子コンピュータが連動して解を見つける。アルゴリズム全体は現行コンピュータで稼働し、数値演算の部分は量子コンピュータで実行される。具体的には、分子の基底状態(Ground State Energy、エネルギーが一番低い状態)を見つける計算や、ルート最適化(セールスマンが巡回するルートの最適化)などで使われる。

高信頼性量子コンピュータの開発

量子コンピュータ開発で、NISQは通り道で、最終ゴールは高信頼性量子コンピュータとなる。このために、ノイズに耐性のある量子ゲートの研究が続けられている。ノイズとは温度の揺らぎ、機械的な振動、電磁場の発生などがあげられる。これらがQubitの状態を変えエラーの原因となる。現行コンピュータでも記憶素子でエラーが発生するが、特別な機構を導入しエラー検知・修正をする。量子コンピュータでもエラーを補正する機構の研究が進んでいる。また、エラーに耐性の高いアーキテクチャの研究も進んでいる。その代表がMicrosoftの「Topological Qubit」で、Qubitの安定性が極めて高く、高信頼性の量子コンピュータができる。しかし、Topological Qubitはまだ基礎研究の段階で、物理的にQubitは生成できておらず、長期レンジの開発となる。(下のグラフ:Googleの量子コンピュータ開発ロードマップ、NISQではQubitの個数は1000が限界であるが、エラー補正機構を備えた高信頼性マシンではQubitの数は100万を超える。)

出典: Google

生活に役立つ量子アプリケーション

高信頼性量子コンピュータが登場した時点で、大規模な量子アプリケーションを実行することができ、社会に役立つ結果を得ることになる。新薬の開発(分子のシミュレーション)、送電効率の向上(室温超電導物質の発見)、 化学肥料生成(窒素固定(Nitrogen Fixation)触媒の開発)、大気中の二酸化炭素吸収(炭素固定(Carbon Fixation)触媒の開発)などが対象になる。高信頼性量子コンピュータがいつ登場するのか議論が分かれているが、アカデミアからは開発までには10年かかるという意見が聞かれる。一方、産業界からは、開発ペースが加速しており5年と予測する人も少なくない。

大きなブレークスルー

Googleの量子コンピュータ開発責任者John Martinis教授はSycamoreを世界初の人工衛星「Sputnik 1(スプートニク1号)」に例えている。スプートニクは歴史的な成果であるが、人工衛星は電波を発信する機能しかなく、社会生活に役立つものではなかった。しかし、スプートニクが宇宙開発の足掛かりとなり、その後、リモートセンシングやGPSや衛星通信など多彩なアプリケーションが生まれた。同じように、Sycamoreは限られた規模のゲート演算しかできないが、このプラットフォームで若い研究者が量子アルゴリズムを開発し、 大きなブレークスルーを起こすことが次の目標となる 。量子コンピュータ開発が大きな転機を迎えた。

Googleは量子コンピュータがスパコンを超えたと発表、IBMはそれを否定、この発表をどう解釈すべきか

Googleは2019年10月23日、量子コンピュータの性能がスパコンの性能を超えたと発表した。Googleは世界で初めて「Quantum Supremacy(スパコン越え)」に到達したとアピールした。このベンチマークでは量子プロセッサ「Sycamore」が使われ、単純なゲート操作を実行した。徐々にQubitの数と実行回数を増やして実行され、スパコンでは計算できない規模に到達した。この規模の演算はGoogleの量子コンピュータを使うと200秒(3分20秒)でできるが(下の写真左側)、最速スパコン「Summit」を使っても1万年かかると推定した(下の写真右側)。一方、IBMは同じタイミングで論文を発表し、これをスパコンで実行すると2.5日で解けるとし、GoogleはQuantum Supremacyに到達していないと反論した。両社の意見が真っ向から対立し、市場はこの発表をどう受け止めるべきか困惑が広がっている。

出典: Google

量子プロセッサ

Googleは科学雑誌Natureに論文「Quantum supremacy using a programmable superconducting processor」を掲載し、その内容を明らかにした。このベンチマークはGoogleの量子プロセッサ「Sycamore」(下の写真、プロセッサの外観)で実行された。Sycamoreは54Qubit構成のプロセッサで、ベンチマークでは53Qubitが使われ、量子ゲート(Quantum Gate)が構成された。

出典: Google

量子ゲート

量子ゲートは基本演算の論理ゲートとなり、これらを組み合わせて単純な処理を実行し、その結果が計測された。(下のグラフィックス:量子ゲートの事例。左端がSycamoreでXの部分がQubitを示す。Qubitは接続装置(Coupler、A・B・C・Dで示される部分)を経由して隣の4つのQubitに接続される。Qubitは単独で、また、二つのQubitを連結して実行された(中央部分)。処理は左から右に進みその実行結果が計測された(右端)。)

出典: Nature

何を測定したのか

ベンチマークではゲートをランダムに組み合わせ、その結果を測定する方式が取られた。測定結果は0と1のランダムな並び(Bit Stream、例えば「0000101」)となる。しかし、Quantum Interference(量子の干渉)という物理特性から01の並びは完全にランダムではなく特定の並びに偏る。もっとも起こりやすい01の並びを見つけることがこのベンチマークのタスクとなる。

スパコン越えの根拠

ベンチマークでは、最初は12Qubitから53Qubitを使い、単純なゲート演算を実行した(下のグラフ左側)。この際、Gate Depth(演算繰り返し回数)は一定 (14サイクル)にして実行された。また、実行時間(Sampling)は常に200秒に固定された。この確認ができた後、今度は、複雑なゲート演算を53Qubit構成で実行した。その際に、Gate Depthを深くしながら実行し、スパコンが到達できない領域まで、その深度を増していった(下のグラフ右側)。そして53Qubit構成でGate Depthが20の地点でQuantum Supremacyに到達(下のグラフ右側、右端のポイント)。このポイントではこれをスパコンで実行しても1万年かかると算定した。

出典: Nature

量子プロセッサの基本機能の検証

このグラフの縦軸はCross-Entropy Benchmarking Fidelity(ゲートが正常に稼働する指数)を表し、〇、X、+は異なる構成で実測した値で、実線は予想値を示す。Qubit数やGate Depthが増えると(ゲート規模が大きくなると)正常に動作する指数が下がる(エラーが増える)。しかし、実測値は予想したラインに乗り、急速に低下することはなかったことを示している。つまり、Sycamoreで想定外の物理現象はなく、量子プロセッサとして目途が付いたことを意味している。

プロセッサ構成

Sycamoreは54Qubit構成のプロセッサで、Qubitは平面に配置され、隣の4つのQubitと接続する。Qubitはこの結合を通してすべてのQubitと結び付くことができる。SycamoreでQuantum Supremacyに到達できた理由はQubitの信頼性が向上しエラー率の低いゲートを構成できたことにある。Sycamoreプロセッサは超電導回路で構成され、システム全体は円筒状の冷蔵装置(Cryostat)に格納され、絶対零度近辺まで冷却して運用される(下の写真)。

出典: Google  

次のステップはNISQでアプリ開発

Googleは量子コンピュータ開発のロードマップを明らかにした。その一つが、Noisy Intermediate-Scale Quantum (NISQ)といわれるプロセッサでアプリ開発を進めること。NISQとはノイズが高い(エラー率が高い)、中規模構成(50から100Qubit構成)の量子コンピュータを指し、Sycamoreがこの範疇に入る。エラー率が高いので大規模なゲート演算はできないが、限られたサイズのタスクでアルゴリズム開発を進める。

最終ゴールは高信頼性量子コンピュータ

しかし、最終ゴールは「Fault-Tolerant Quantum Computer」の開発で、エラーに耐性のある大規模構成の量子コンピュータを開発する。エラー補正機構などを備えた信頼性の高い量子コンピュータで、大規模な量子アルゴリズムを実行することができる。この時点で社会に役立つアプリケーションの開発が可能となる。例えば、新素材開発に着目しており、軽量バッテリーや肥料を生成するための触媒などの開発が期待される。ただし、この量子コンピュータが登場するまでには歳月を要す。

IBMがGoogleに反論

IBMはGoogleが論文を公表した二日前に、それに反論する論文を掲載した。これは「Leveraging Secondary Storage to Simulate Deep 54-qubit Sycamore Circuits」という表題で、Googleが達成したというQuantum Supremacyに異議を差し挟んでいる。Quantum Supremacyの定義の一つは「スパコン越え」であるとし、世界最速のスパコン「Summit」を使うと、この処理を2.5時間で実行できるというもの。Googleは計測したQubitの状態をRAM(主記憶)に格納して処理することを前提に、処理時間を1万時間と算定した。しかし、IBMはRAMだけでなくディスクも使い、最適化手法を導入することで2.5時間で処理できると算定した。(下のグラフ:GoogleがSycamoreで実行したタスクをSummitで実行したときの処理時間予測。縦軸が実行時間(日)で横軸がCircuit Depth(処理の繰り返し回数)。53Qubit構成(青色のグラフ)で繰り返し回数が20のポイントをみると2.5日となる。仮にフル構成のSycamore(54Qubit)でも、Summitで実行すると6日で計算できる。)ちなみにSummitはIBMが開発したスパコンでIBMはSummitでのタスク最適化技術を誰より熟知している。

出典: IBM

発表前に論文がリーク

IBMがGoogleの発表と同じタイミングで39ページに及ぶ詳細な論文を発表した背景には、Googleの論文が正式発表前にすでにウェブサイトに掲載されていたという背景がある。この論文は2019年8月に、NASA Ames Research Centerがウェブサイトに公開した。すぐにこの公開は停止されたが、この措置は手遅れで、読者がこの論文をRedditなどのサイトに掲載し、だれでも読める状態になっていた。このため、正式発表を待たず、市場ではGoogleのQuantum Supremacyについて評価が行われていた。

大きなマイルストーン

Googleの発表にIBMが水を差す形になり、市場はどう評価すべきか戸惑っている。これから両社の間で議論が深まり、また、これを契機に改めて開発競争が進むことも期待されている。Quantum Supremacyに達したかどうかは疑問が残るものの、Sycamoreが論理設計通りに稼働し、数多くのゲートを使って演算が実行できたことは大きなマイルストーンとなる。基本動作が確認でき、次は大規模な量子プロセッサが登場することが期待される。

ベンチャー企業が量子コンピュータを開発、半導体チップが物理的限界に近づくなか次世代スパコンを目指す

IBMやGoogleと並んでベンチャー企業が量子コンピュータの開発を加速している。量子コンピュータ開発は大学の基礎研究と関係が深く、大学発のベンチャー企業が目立つ。このタイミングで量子コンピュータが製品化されるのは、スパコン性能が限界に近付いていることと関係する。シリコンチップ単体の性能が伸び悩み、スパコンは大量のプロセッサを実装せざるを得ない。スパコンは巨大化の道を辿り大量の電力を消費する。スパコン一台を動かすために原子力発電所が一基必要となる。

出典: Rigetti  

Rigetti Computingというベンチャー企業

この問題を解決するためにRigetti Computingというベンチャー企業が量子コンピュータを開発している。同社はバークレーに拠点を置き独自の量子技術を開発している。Rigettiは量子コンピュータをクラウドで提供し、量子化学や人工知能を中心とするアプリケーションで利用する。Rigettiは量子アルゴリズム開発基盤「Forest」を公開した。Forestはユニークなアーキテクチャで量子コンピュータと既存コンピュータを結び付けたハイブリッドなアルゴリズムを開発できる。

ベンチャーキャピタルが注目

会社創設者はChad Rigettiでエール大学で長年にわたり量子コンピュータの研究に従事した。その後IBMで量子コンピュータ開発に携わり、2013年にRigettiを立ち上げた。インキュベータ大手Y Combinatorなどからシードファンディングを受け事業を始め、2017年3月には大手ベンチャーキャピタルAndreesen Horowitzなどから合計6400万ドルの投資を受け事業化に向けた研究開発を加速している。

Quantum Integrated Circuit

Rigettiはエール大学で単一の原子やイオンに情報をエンコードする研究に従事した。極低温で電気回路の上に人工的に原子を生成する方式を探求している。この方式だと既存の半導体チップ製造施設を利用でき量産化への道のりを短縮できる。Rigettiでは量子技術をIC化する技法「Quantum Integrated Circuit」を開発している。(先頭の写真は同社が開発したQuantum Integrated Circuitでチップに3つのQubit (量子ビット) を搭載している。)

既に量子コンピュータが稼働している

Rigettiの研究所で既に二基の量子コンピュータが稼働している (下の写真)。写真中央部のRigetti BF01とRigetti BF02と示された部分で、白色の円筒が量子コンピュータの筐体となる。この中に上述の量子ICチップが格納され、絶対零度近くまで冷却して稼働する。Rigettiによるとチップに60個から70個の Qubitを搭載すればスパコン性能を上回る。

出典: Rigetti  

量子アルゴリズム開発基盤を公開

Rigettiは同時に量子アルゴリズム開発基盤の開発を進めている。これは「Forest」 (下の写真) と呼ばれ、アルゴリズム開発のプラットフォームとして機能する。開発言語は「Quil」と呼ばれ、これを使って量子アルゴリズムを記述する。また、開発されたアルゴリズムを集約したライブラリ「Grove」や開発ツール「pyQuil」も提供している。Quilで書かれたプログラムは「Compiler」でコンパイルされ量子プロセッサ向けのオブジェクトを生成する。対象マシンはRigettiだけでなく他社が開発している汎用量子コンピュータ全般に適用できる。

出典: Rigetti  

ハイブリッドモデル

Quailは量子アルゴリズムを記述するプログラム言語であるが「Quantum Abstract Machine (QAM)」と呼ばれ量子操作を数学的に記載する構造となる。QAMは量子プロセッサと現行プロセッサが連携して稼働するアーキテクチャを取る。これはハイブリッドモデルと呼ばれ、現行コンピュータのメモリを共有して量子アルゴリズムを実行する (下のダイアグラム)。

出典: Rigetti  

左側が量子コンピュータで演算子 (ゲートなど) を指定してプログラミングする。Qubitの状態を測定すると、この情報は現行コンピュータのメモリ (最下部の数字の列) に格納される。右側は現行コンピュータでプログラムロジックを指定し実行する。量子コンピュータのアルゴリズム開発は分かりにくいが、ここに現行のプログラム技法を融合することで親しみやすくなる。

量子コンピュータのキラーアプリ

Rigettiは量子コンピュータのキラーアプリは量子化学 (Quantum Chemistry) とAIであるとしている。量子化学はスパコンでも研究が進んでいるが、量子コンピュータだと大規模な問題を解くことができる。高精度な触媒を生成し地球上の二酸化炭素を吸収することで温暖化問題の解決に寄与できると期待されている。素材研究では室温超電導素材を見つけ、医療分野では分子構造をベースとした新薬の開発が注目されている。AIや機械学習では学習モデルをマシンに組み込むことで、現行コンピュータでは実現できない大規模なモデルを実行できるとされる。

スパコンの性能が限界

Rigettiは量子コンピュータを開発する必要性をスパコンが性能の限界に近付いているためと説明する。中国のスパコン「Tianhe-2 (天河-2)」 (下の写真) は世界最速のマシンと言われている。プロセッサとしてIntel Xeonを32,000台搭載し、システム全体では312万コアが使われる。消費電力は24MWで都市に供給するレベルの電力を要する。

出典: National Supercomputer Center in Guangzhou

ムーアの法則が終わりに近づく

これはムーアの法則 (Moor’s Law) が終わりに近づいていることを意味する。プロセッサの性能は18か月ごとに倍増できなくなった。その理由は半導体チップ回路の線幅をこれ以上細くできないことを指している。シリコンを使ったプロセッサは物理的な限界に近付いており、次の世代のテクノロジーを必要としている。

コンピュータ開発の歴史

このためRigettiは量子という新しい素材でコンピュータを開発する。Chad Rigettiは量子コンピュータを開発する意義を物理学の観点から説明している。コンピュータの歴史を振り返ると、動作原理はニュートン力学 (Newtonian Mechanics) から量子力学 (Quantum Mechanics) に移っている。多くの企業がニュートン力学を応用したシステムで創業したがその代表はIBM。当時の社名はComputer Tabulating and Recording Companyでパンチカードを使った管理システムを提供していた。パンチカードは社員の出退勤記録などに使われた。カードに穴をあけ、穴の並び方に情報をエンコードするという機械的な方式が使われていた。

半導体技術は古典力学の域を出ない

その後半、William Shockleyが半導体を発明し、IntelなどがそれをIntegrated Circuit (IC) として集積し半導体チップとして出荷されている。コンピュータに革命をもたらした技術であるが、物理学の観点からは古典力学の域を出ず、動作原理はマクスウェルの方程式 (Maxwell’s Equations、電磁場の挙動を定義する方程式で古典電磁気学の集大成) で表される。

ニュートン力学から量子力学への大きなジャンプ

アインシュタインなどにより量子力学の基礎理論が提唱され、100年後のいま量子コンピュータが登場している。量子の動きはシュレーディンガー方程式 (Schrödinger Equation、量子の状態を定義する方程式で量子力学の幕開けとして位置づけられる) で定義される。量子力学は原子や電子などミクロなレベルで挙動を解明する学問で、量子コンピュータはこれを情報操作に応用する。量子コンピュータは演算素子が進化しただけでなく、物理学の観点からはニュートン力学から量子力学への大きなジャンプとなる。