未来のコンピュータとして期待される「量子コンピュータ」。その実現方法についてはさまざまな研究開発が行われ、多くの国や企業がしのぎを削る分野ですが、株式会社日立製作所(以下、日立)では、半導体技術を用いたシリコン量子コンピュータの開発を手掛けています。そうした中で、シリコン量子コンピュータの大規模化に向けて、日立は、大規模化の課題解決につながる「シャトリング量子ビット方式」という技術の開発を行っています。これらの研究を推進する研究開発グループのソフトウェア開発メンバーの二人、佐藤直人リーダ主任研究員と宮本篤志主任研究員の両名に、大規模なシリコン量子コンピュータの実用化に向けたソフトウェア面の研究成果や、デバイスとアプリケーションをつなぐ「量子オペレーティングシステム(以下、量子OS)」の考え方を尋ねました。
なお 、本研究の一部は、ムーンショット型研究開発事業 目標6「2050年までに、経済・産業・安全保障を飛躍的に発展させる誤り耐性型汎用量子コンピュータを実現(プログラムディレクター:北川勝浩)」の研究開発プロジェクト「大規模集積シリコン量子コンピュータの研究開発(プロジェクトマネージャー:水野弘之)グラント番号 JPMJMS2065」による助成を受けて行われました。
(2024年2月13日 公開)佐藤:大学ではソフトウェア工学の研究をしてきました。実は、ずっと文系科目のほうが好きで、歴史や政治経済など社会科の授業はどれも楽しかったのですが、理系の科目の成績が良かったので得意なことを仕事にしようと考えました。好きなことは仕事にしなくても楽しめると考えたので、迷いはなかったです。学生時代は、ソフトウェア工学の中でも形式検証技術の研究をしてきました。
日立にはさまざまなドメインがあるので、ソフトウェア工学の適用先が幅広くあると考えて入社しました。これまでは主に、鉄道分野、金融分野のシステムで、開発者を支援するソフトウェアの研究をしてきました。例えば鉄道分野ではプログラム開発の生産性を高めるために、図や表を記述するだけでプログラムを自動生成する仕組みを研究していました。今で言うノーコード、ローコード開発の先駆けだったと思います。そして2021年から、シリコン量子コンピュータの研究開発のプロジェクトに関わっています。
宮本:私は大学では情報工学科、大学院でも情報基礎科学を専攻しました。最初の演習で、コンピュータの古典的な参考書である「パターソン&ヘネシー コンピュータの構成と設計」を渡され、これを手本にして実際やってみるととても面白く、その後、暗号回路設計の研究を続けて博士号を取得しました。
そして、新しい分野にもチャレンジしたいと思い、ドメインの広い日立を就職先として選びました。入社して配属されたのは、現在、量子コンピュータ研究をリードする水野弘之主管研究長が当時部長として率いていたコンピューティング関連の部署でした。私はその中で、大規模なグラフ処理向けのコンピューティングの研究に携わっていました。特に、大規模グラフ処理向けのアプリケーションレイヤのソフトウェアを担当していたことから、ハードウェアの研究からソフトウェアの研究に次第にシフトしていきました。量子コンピュータのプロジェクトに異動する直前は、機械学習などAI技術の研究も行っていました。
宮本:佐藤さんよりも半年ほど前の2020年の秋に、シリコン量子の研究に取り組む研究ユニットに合流しました。日立が政府・国立研究開発法人科学技術振興機構:JSTが推進する「ムーンショット型研究開発事業」の目標6「2050 年までに、経済・産業・安全保障を飛躍的に発展させる誤り耐性型汎用量子コンピュータを実現」 (構想ディレクター:大阪大学 大学院基礎工学研究科 北川 勝浩教授)の研究開発プロジェクトの1つ「大規模集積シリコン量子コンピュータの研究開発 」に採択されたころのことです。水野さんがリーダの研究ユニットで、声を掛けてもらいました。直前まではAI関係の研究をしていたので、量子への研究テーマの変更は戸惑いもありましたが、また、コンピューティングをやれるということに期待も感じました。量子については、新しい分野なので、勉強をさせてもらいました。
佐藤:今回のテーマは「シャトリング量子ビット方式」 という技術です。シリコン量子コンピュータの実用化をめざし、量子コンピュータの情報単位である「量子ビット」を効率よく制御するための技術を提案し、シミュレーションでその効果を確認したことを2023年6月に発表しました。量子コンピュータでは、超伝導量子コンピュータが先行していますが、日立としては大規模化にはシリコン量子コンピュータが有利だと考えています。シャトリング量子ビット方式は、シリコン量子コンピュータを大規模集積するための技術の1つで、私たちはソフトウェア面から技術の具体化に寄与しました。
宮本:大規模集積化した量子コンピュータを効率的に制御するためのソフトウェア技術を作っているのが私たちです。日立ではこれまでに、そのハードウェアとして、シリコン量子ビットを格子状に並べることで集積化を可能にする「2次元シリコン量子ビットアレイ」の開発を行ってきました。ですが、その構成で大規模化したときに計算全体が効率良くできるかというと、実際にはエラーが乗ったり、量子ビットが相互に影響し合ったりして、その制御は簡単ではないのが実情です。シャトリング量子ビット方式は、こうしたエラーや相互影響を少なくして制御できる技術として期待されています。
シャトリング(Shuttling)とは、アレイの異なるマス目に量子ビットを移動させる技術です。量子状態を維持して量子ビットを動かすことができれば、大規模化への課題解決に新しい可能性をもたらします。課題の1つは、大規模化した際の制御回路が複雑になる点です。量子ビットを制御するためには、全ての量子ビットに演算や読み出しの回路を接続する必要がありますが、量子ビットをシャトリングによって自由に移動させることができれば、演算や読み出しの回路を特定のマス目にのみ設けることで大幅な簡略化が実現できます。もう1つは、量子ビットが相互に影響して起こるクロストーク(エラー)の課題です。これもシャトリングにより、量子ビットを隣接するマス目から退避させることで発生を防ぎます。こうしたシャトリングを実際にシリコン量子コンピュータのアレイ上で実現するために、量子ビットをどのような順序で動かすべきかをスケジューリングする技術を開発しています。
宮本:シャトリングという概念自体は一般的なものです。当初、シリコン量子コンピュータのベースになる考え方では、量子ビットを敷き詰めて大規模化させることが優先して考えられてました。そうした中で、シャトリングで自由に移動させる技術を計算手法として使おうという着眼は新たなものだったと思います。空間効率は下がるけれど、移動させながら演算することで課題解決につながるという発想ですね。
シャトリング量子ビット方式の開発は、アレイ内の電子が移動可能であるという事実に着目したハードウェア開発者の原理実験からスタートしました。私たちソフトウェア開発者だけでは不十分で、彼らから得られる示唆はとても大切です。良く議論を行って、その上で、シャトリング量子ビット方式を制御するためのソフトウェアを私たちが開発することで、所望の量子演算の実現性が拓けました。
佐藤:シャトリングを実装するデバイス側にはさまざまな制約があります。それをクリアしつつ、シャトリングして量子ビットを演算領域まで持ってくる必要がありました。その手順を生成する技術が今回の成果のポイントです。例えば、演算回路を減らしたことで、アレイの中の同じ行や列の量子ビットに対して共通の演算が行われてしまう現象が生じます。そこで目的の量子ビットだけその行や列から括り出すことで、演算をその量子ビットに限定するわけです。シミュレーションを繰り返しながら試行錯誤して、ソフトウェアを開発してきました。
宮本:日立では、大規模化を前提とした「トップダウン型」の開発を推進しています。そのため、まだ大規模化が実現できていない現時点でも、シャトリング量子ビットのような大規模化を支えるソフトウェア技術を研究開発しているわけです。大規模な量子コンピュータに必要になる量子OSの開発が大きな目的で、その1つの技術がシャトリング量子ビットということになります。
佐藤:量子の世界では、量子コンピュータというデバイスが開発されるとともに、量子アルゴリズムを活用したアプリケーションの提案も進んでいます。しかし、その間をつなぐソフトウェア開発環境やシステムソフトの検討は十分とは言えません。今は、量子コンピュータというデバイスと量子アプリケーションをつなぐソフトウエアが量子OSです。古典コンピュータにおけるOSのようなシステムソフトの役割にとどまらず、ミドルウェアぐらいまでを含む概念と位置付けています。
宮本:量子OSには多くの役割が求められます。制約が多い量子コンピュータのデバイスや制御装置というハード側の条件を加味して、アプリケーションを実際に動かすためにどのようにソフトウェア側から命令や制御信号を入力したら良いか、それらを自動翻訳するコンパイラのような機能を量子OSに組み込んでいこうとしています。
そのためには、シリコン量子コンピュータの研究者が、どういう装置で、どう実験しているかの現場を見る必要があります。それで頻繁に実験室に行って、シリコン量子コンピュータの実験している横で、開発したり考えたりしています。ハードとソフトと、それぞれ担当分野は異なりますが、シリコン量子コンピュータを「コンピュータとして実用化する」というプロジェクトの中では一蓮托生で密に開発を行っています。
佐藤:我々のプロジェクトの会議では、アプリケーションレイヤから量子ビットのデバイスまで、多岐にわたる話題が登場します。遠い領域の話は、一見しただけでは分からないこともありますが、そこからヒントをもらえることもあります。自分の専門領域に近い研究者だけで悩むのではなく、さまざまなバックグラウンドを持つ研究者が集まって強みを生かすことで解決策が見つかるのです。これは日立の強みですし、プロジェクトの面白さでもあります。とてもコミュニケーションが取りやすい環境で、研究者間の垣根はまったく感じないです。
宮本:今後、世の中でも開発が進んでいくNISQ(Noisy Intermediate-Scale Quantum device、近未来に実現が見込まれる量子エラー訂正機能を搭載していない中規模量子コンピュータ)においても、私たちの開発する量子コンピュータのソフトウェア技術が存在感を持てるようになれば良いなと思います。もし、シリコン量子コンピュータを公開する際には、私と佐藤さんが作る量子OSがフロントエンドツールになります。ユーザーから見える顔になる部分として、量子OSはシリコン量子コンピュータのハードウェアと同様に重要なものだと考えています。
佐藤:NISQがターゲットにしている2030年代には、実際に動く量子コンピュータが、システムの一部として社会実装されることが期待されています。そのためにはデバイスもアプリケーションも不可欠ですが、間をつなぐ量子OSがないと動かないことも事実です。どれかが動かないと社会に対する価値が提供できません。量子OSの重要性を感じながら研究を続けているところです。
宮本篤志(MIYAMOTO Atsushi)
日立製作所 研究開発グループ 基礎研究センタ量子コンピュータにつながる基礎を学生時代に学ぶ
先ほどご紹介しましたが、『パターソン&ヘネシー コンピュータの構成と設計」(ジョン・L. ヘネシー、デイビッド・A. パターソン著、成田光彰訳、日経BP)は、私にコンピュータの魅力を教えてくれた1冊です。学生の演習で渡され、授業などでも使った上下巻の書籍で、コンピュータアーキテクチャの基本が含まれている有名な本です。コンピュータにさほど詳しくない理系の人にはとても新鮮でわかりやすく感じるはずですし、コンピュータを勉強したい学生向けの導入としてもうってつけですね。量子コンピュータの本ではありませんが、核になる思想は学べますし、私自身、いまでも立ち返るべき基本です。
佐藤直人(SATO Naoto)
日立製作所 研究開発グループ デジタルサービス研究統括本部アイデアの源泉について考えさせられるドリルシリーズ
これは子どものために買った本なのですが、『うんこドリル」(文響社)のシリーズがすごいですね。普通のドリルには見向きもしない我が家の子どもがこのドリルには猛然と取り組んでいることに驚いています。この『うんこドリル』のアイデアを発明した人はすごい。自分自身の仕事でも活用できないかな、何かヒントを見出していければいいなという刺激になっています。
「量子コンピュータというデバイスと量子アプリケーションをつなぐソフトウエアが量子OSです。古典コンピュータにおけるOSのようなシステムソフトの役割にとどまらず、ミドルウェアぐらいまでを含む概念と位置付けています。」(佐藤)「その量子OSの構成要素の一つがシャトリング量子ビットです。シャトリング量子ビットは、量子演算中に生ずるエラーや目的外の相互作用の抑制を狙ったもので、量子コンピュータの大規模化のための技術として期待されています。」(宮本)