ハードウェアからアプリケーションに至る量子コンピューティングのフルスタック構築に重要なこと
量子コンパイラツールチェーンのセット間における相互運用性の協調
量子コンピューター業界はまだ黎明期であり、一般的に使われている従来のコンピューターのようになるのはまだまだ先のことです。量子コンピューターは、現在のコンピューターで何十年もかけて開発された様々な技術が一挙に必要となるため、双方のコンピューターの発展を比較することは難しいです。量子コンピューターは、現在のコンピューターとは違う課題に取り組む必要がある上、そのペースも順序も異なります。しかし、これらの課題を解決することは、量子コンピューター全体の進歩には欠かせません。
細分化された量子コンピューティングのエコシステム
量子コンピューターは急速に進化しています。その技術はまだ黎明期にありますが、現在のコンピューティングのように、ほぼ全ての分野に恩恵が及ぶのではないかと期待されています。例えば、量子コンピューターでは従来の最も高性能のコンピューターでも不可能である量子システムのシミュレーションができるようになります。これは、薬学や化学、エネルギー、材料などの分野の産業への応用が可能です。
現在では、小型の量子コンピューターを作るところまでテクノロジーが進歩しており、今後10年以内にはより大型で高性能なシステムができると予測されています。多くの企業が現在、量子ハードウェアと量子ソフトウェアの開発を進めています。しかし、従来のコンピューティングの開発時と同様に、この進歩は必ずしも協調して進められるものではありません。
従来のコンピューターでは、Windowsコンピューターで動作する多くのソフトウェアやアプリケーションはLinuxやMacのシステムでは作動しません。LinuxやMacのソフトウェアシステムには、それぞれのプラットフォームごとにサポートの為のツールチェーンを開発しなければならないのです。現代の量子コンピューティングにも同じことが言えます。様々な組織や団体がソースコードからハードウェアのバックエンドに至るまでの環境を定義するツールチェーンを開発しています。ですが、多くのツールチェーンが形成されたことにより、異なる環境でも作動するように設計した様々なツールが多く生まれることになったのです。
量子のコンパイラのツールチェーン間で相互運用性を確保することは誰にとってもメリットがあるのは明白でしょう。量子コンピューターの開発者は自らが開発したハードウェアを全ての人に使ってもらいたいと考える一方で、量子ソフトウェアのエンジニアはそれぞれ特定のユースケースに最適なソリューションを使ってもらいたいと考えているのです。
また、相互運用性とは、異なるプラットフォームでの再開発を必要としないため、量子コンピューターが進歩するごとに業界全体が前に進むということを意味します。しかし、現状では量子コンピューティングのエコシステムが分断されているため、このように協調して成長することは不可能なのです。
量子力学には中間表現が不可欠である
相互運用性の問題を解決するには、量子コンピューターの研究者による量子コンピューター用の実践的な中間表現(Intermediate Representation:IR)と関連するコンパイラのツールチェーンの研究が不可欠です。量子経済開発コンソーシアム(QED-C: Quantum Economic Development Consortium)のメンバーでZapata ComputingのCTO兼共同創業者であるYudong Cao氏は、「中間表現(IR)とは、コンピューターに何をしてもらいたいかをソースコードにどう書くか、またコンピューターが実際にどう実行するかに依存しない表現方法なのです。」と述べています。
現在のコンピューティングにはすでに確立された中間表現があり、異なるハードウェアやソフトウェア開発に対応したスケーラブルなコンパイルが可能となっています。Macと他のPCは明らかに異なるシステムですが、PC全体向けのシステムを製造している企業もあります。DellやHP、Asusなどのコンピューターは、いずれも最低限の調整でWindows のOSを動かすことができます。同様に、C/C++、Java、Pythonなどのプログラミング言語を使って、同じ処理をするためにそれぞれ異なるコードを書くことができます。
これは、従来のコンピューティングにはハードウェアやソフトウェアなどの詳細を抽象化する中間表現があるから可能なのです。中間表現はハードウェアが実行すべき特定のタスクを定義しますが、そのタスクをどのように達成するのかは特定しません。そのため、ハードウェアの開発者はさまざまな方法で作動するシステムを作ることができ、ソフトウェアの技術者は特定のハードウェアスタックの詳細を知ることなく、またそれに制限されることなくコードを書くことができるのです。
量子コンピューターの業界では現在、量子プログラムの開発・実行にあたり、中間表現に関するコンバージェンス(収束性)がありません。その結果、開発チームはそれぞれ類似機能のソリューションを開発していますが、異なるアプローチであるため相互運用性がなく、量子ソフトウェアが特定のコンピューティングのスタックによって制約を受けている可能性もあります。
量子力学のための実践的な中間表現(Practical Intermediate Representation for Quantum:PIRQ)ワークショップのご紹介
このような中間表現の課題に対応するため、SRIインターナショナルが運営する量子経済開発コンソーシアム(QED-C)は先日、第1回量子のための実践的な中間表現(Practical Intermediate Representation for Quantum:PIRQ)ワークショップを開催しました。このワークショップは、テクノロジーの現状を把握するとともに、異なる量子コンピューティングソリューション間の相互運用を可能にする中間表現と、その周辺のツールチェーンの開発方法について、量子産業界から広く意見を収集することを目的としています。
Cao氏は、量子コンピューティング業界の各社から集まったチームを率いて、このワークショップを開催しました。Cao氏は、このワークショップがこれ以上ないほど良いタイミングで開催されたと考えています。「ちょうど、さまざまなコンパイラツールチェーンを開発し、それらを使ってもらいたいと考えている人たちが増えてきた時期にこのワークショップを開催しました。このワークショップでは、開発者が自らのソリューションを発表し、それに対するフィードバックを受ける絶好の機会となりました。この分野にいる人たちは、この分野の収束を可能にする成熟した中間表現の必要性を確かに認識していたのですが、中間表現の設計者がすでにそれに取り組んでいることは知らなかったのです」とCao氏は述べています。
量子のための実践的な中間表現(PIRQ)ワークショップは、量子コンピューター業界の関係者が一堂に会して中間表現に関する共通の課題に一緒に取り組む機会になりました。そして、参加者は取り組むべき3つの重要な目標を確認しました。
● 既存の量子コンピューティングのツールチェーンを構造的に相互運用する方法についての検討
● これらのツールチェーンを実際の(リアルワールドの)ユースケースに照らし合わせての評価
● 実装の詳細を伴わない量子ハードウェアを記述できる抽象的なマシンモデルの開発
量子のための実践的な中間表現(PIRQ)ワークショップでは、これらの目標達成に向けた基礎を構築しました。また、参加者は他組織の研究内容や他業界が直面している大きなギャップや課題について、重要な示唆を得ることができました。このワークショップを基に新しい量子経済開発コンソーシアム(QED-C)のグループが結成され、まずは中間表現の構造的な側面を探究することになりました。
詳細については、admin@quantumconsortium.orgまでお問い合わせください。