Electronics

2020.11.10

「Maker Faire Tokyo 2020」レポート #5 — 量子ビットの操作を可視化した「8bit Quantum Computer」

Text by Takako Ouchi

鉄板の上に砂をかけ、スイッチを入れると独特の絵が浮かびあがる。時間が立つとともに、描かれる絵は移り変わっていく。そんな不思議な装置を作って、Maker Faire Tokyo 2020にやってきたのは、新里祐教さんと今村謙之さん。

これは量子コンピューターのQPU(ノイマン型コンピューターのCPUにあたる)における量子ビット(Qubit)の操作を表現したものだ。量子コンピューターは、量子の状態を使ってビットを表現する。その量子の状態の変化を「砂で描いたクラドニ図が音波により変わる」ことで表している。

もともと未踏に採択されたプロジェクトがあり、そこから生まれた作品である。未踏のプロジェクトは、2019年度のRISC-V量子拡張の参照実装とマイクロ波制御量子ファームウェアの開発、2020年度の量子コンパイル基盤の最適化処理・分岐並列制御の開発と量子計算を体感するプレゼンテーションと続いたもので、量子コンピューター向けのプログラミング言語を新しいアーキテクチャ上で動かす仕組み、シミュレーターを開発した。量子コンピューターを動かすための基本的な仕組みから、プログラムの一番下の層、アセンブリの部分からアプリケーションまで作っている。

今回の作品は、それらのプロジェクトで得た知見から、量子コンピュータを使ったインスタレーションである。

電波で量子のゲートを制御する

量子コンピューターというと、スーパーコンピューターでも何千時間、何万時間とかかる計算を瞬時にこなせるといった、高性能の次世代マシンというイメージがある。Googleの研究開発やD-Wave Systemsの量子コンピューターシステムがよく知られているが、前者は量子ゲート方式、後者は量子アニーリング方式という異なるカテゴリーになる。実現されている量子ビット数が多いのは量子アニーリング方式だが、こちらは組み合わせ問題に特化したもので汎用とは言い難く、そのことから量子コンピューターではなく、量子アニーリングマシンと呼ばれることもある。

量子ゲート方式では、ノイマン型コンピューターのビットに相当する量子ビットを用いて、論理ゲートに相当する量子ゲートが作用を行い演算処理する。ノイマン型のコンピューターが電圧で0と1の操作をして計算するのに対し、量子の状態でビットを表現するため計算の性能が飛躍的に上がるとされる。とはいうものの、「量子の状態でビットを表現する」と説明されても、具体的に何をどうするのか正直よくわからない。

実は量子ゲートの操作は、電波で量子ビットを回転させ共振現象を起こすことで行う。「8bit Quantum Computer」では、電波を音波に変換し、スピーカーから出力することで電子の回転状態をクラドニ図にマッピングして表示している。電波の部分は今村さんが担当、電波を受信し音波に変換してクラドニ図に表示する部分を新里さんが担当した。

さて、8bit Quantum Computerの仕組み、その根本にある量子コンピューターの動作を今村さんに(大まかに)解説してもらった。

鉄板の下にスピーカーがあり、1つが1量子ビットを表している。それに電波を出している送信器と受信器、このセットがQPU。つまり、ノイマン型コンピューターのCPUにあたる部分になる。


8bit Quantum Computerの構成(提供:新里さん)

量子コンピューターは2つに分かれているという。QPUという、大きな冷凍機に入っている中身とそれを外から操作しているコントローラー部分。そして、QPUの中で行われているのは、量子ゲート(論理ゲートの量子版)による演算だ。量子ゲートが量子コンピューターの一番底にあって、さまざまな演算を行う。

ノイマン型コンピューターでは0と1がビットの表現だが、量子コンピューター(量子ゲート方式)では、粒子である量子の状態を使ってビットを表す。量子の状態とは「XYZ軸に対してどれだけ回転(スピン)したか」で、それが物理的に一番“底”の論理操作になる。

NOT回路、AND回路、OR回路などに相当するのが、XYZ軸に対する回転量を持つ回転行列。たとえば、Xゲートは「X軸に対して90度回転させる」、Yゲートは「Y軸に対して90度回転させる」というように、イニシャル(I)ゲート、Xゲート、Yゲート、Zゲート、Sゲート、Tゲート、Hゲートと呼ばれる。それぞれ論理回路との対応は次の図のとおり。


論理回路と量子ゲート(https://arxiv.org/abs/1904.06560から引用)

それをハードウェアとして、どう操作しているのだろうか。CPUの一番底の、物理的なところはトランジスタで、電圧のオンオフで0と1を作る。QPUでは共振現象を利用して量子の状態を回転させる。電波を流し、電波的に共振現象を起こすことによって電波のエネルギーが量子に伝わる。するとエネルギー準位が変わり、回転エネルギーが発生し、量子が回転する。Xゲートの操作、Yゲートの操作、Zゲートの操作は、それぞれ必要な回転量(回転エネルギー)を得るための操作で、電波の強さであったり、出す長さということになる。

8bit Quantum Computerでいうと、Raspberry Piが量子をコントロールするための電波を作って出している送信器になる。この先に本物の量子コンピュータがつながっていれば、量子が電波で操作されるわけだが、当然用意もできないので、代わりに「クラドニ変換器」が電波を受けて音波に変換してスピーカーを鳴らす仕組みになっている。


量子ビット制御器(電波生成器)


QPU(電波受信器)


量子ビットを受信し、音波に変換してスピーカーへ(提供:新里さん)

つまり、本来なら量子がXゲートとして共振する周波数を音波に変換し、“Xゲートに相当する”クラドニ図形を出しているのだ。この図になったらXゲート、この図になったらYゲートというように。


クラドニ図形[提供:新里さん)

電波から変換した音の周波数で量子ゲートを表現する

最初の段階で、ゲートの処理とそれを電波に変換してダウンコンバートして音にするところまで固まり、新里さん、今村さんで担当を分けた。前述のとおり、電波の部分は今村さんが担当し、新里さんは「電波を音にして表現する、では、その音をどう表現するか」という部分を考えていった。

流体も試してみたという。ただ、流体で表現できる上限の周波数は100ヘルツ程度で、あまり広がりが出せない。それだとバスドラのような音しか出ず、おもしろくなかった。そこでクラドニ図を使うことになる。クラドニ図形とは、周波数に振動する物体(この場合、鉄板)が描く独特の模様のこと。周波数によって鉄板のある部分が強く振動したり、ある部分は振動の中心になって動かなかったりする。砂をまくことで、その共振の状態を視覚化できるというものだ。


下のスピーカーから音が出て鉄板を共振させ、絵を描く

スピーカーはジャンクのスピーカーをばらして、コーン部分を再利用。鉄板はさまざまなサイズ(厚さ、大きさ、形)を試した。その都度、スピーカーとつないで共振させたときに「見ておもしろい」図が出せる構成を見つけていく作業だ。素材としては、伝導性の高さから“鉄一択”だったそう。

ちなみに、このクラドニ図形は家庭でも簡単にできるという。ポリバケツの上にラップを貼って、「アー」と叫ぶ。それだけでも、運がいいと図が出ることもある。この装置に関して、新里さんが作り方をブログで公開している(クラドニ図の作りかた|SIPROP量子化計画)。

さて、製作期間としては、ここまで2ヶ月半くらい。一番、苦労したところとして新里さんが上げたのは電波の調整だ。

この装置は、ゲート関数を投げる(ゲート操作をする)と電波が送信され、それを音にして共振させて絵を出すという仕組みで、音から直接絵を描写しているわけではない。ゲートと電波を使って音にしているので、表示される図とそのときの電波の周波数の対応を1つずつ確認する必要があった。数ヘルツずつずらしていって出たところを確定する、という調整が非常に大変だった、とのこと。さらに、「8ビット」を表現するために8つのスピーカーを用意しているが、やはりそれぞれバラつきがあり、特性が少しずつ違う。鉄板の切り方、筐体サイズの微妙な違い、また鉄は温度で伸び縮みするため、その日の気温によって、ゲートから出す電波の周波数を少しずつ変える必要があった。Maker Faire Tokyoでも、前日の金曜日と当日の朝に最終調整を行っていたと言う。

おもしろいことに、それもまさに量子コンピュータが抱える問題と一緒なのだ。現在、Googleが「53量子ビットの量子コンピュータは、スーパーコンピュータの10億倍速く問題を解くことができる」と発表している。

なぜ、64などのキリのいい数字ではなく、53量子ビットなのかというと、量子ゲートを作ることが可能だが、すべてを共振させるために少しずつ電波の共振を調整して行く必要があり、動作するようになるまで非常に時間がかかると言う。また、どうしても共振しないものも出てきてしまう。それを排除して残ったのが53ビットとなるのだ。

ノイマン型コンピュータに対する量子コンピュータの優位性として、よく語られるのが計算速度だが、これは「量子もつれ(量子エンタングルメント)」という性質を使って、複数の量子を結びつけて同時に計算することで実現される。一番端の量子に横の量子を結びつけていき、その結びついた状態で電波を与えると、横の量子にも共振が伝わって変化する。しかし、当然ながら電波でも音波でも、振動は伝わることで減衰する。つまり、何十個、何百個、何千個と並んだ量子にどれだけ伝わるかという問題がある。電波(音波)の共振は物理現象で、それが8bit Quantum Computerの製作の難しさにもなっている。

Maker Faire Tokyoの会場でデモをご覧になった方ならおわかりになるはずだが、スイッチを入れてクラドニ図形が描かれ、変化を続けていくうち、砂がどんどん減っていってしまう。これも、実は量子の特性から起こるコヒーレンス時間の短さに通じる。コヒーレンス時間とは重ね合わせの2つの状態の間で干渉が続く時間、つまり計算していられる時間のこと。今の量子コンピューターでは100マイクロ秒以上連続して計算できない。8bit Quantum Computerも音波を与え続けているとどんどん砂が減っていくということで、コヒーレンス時間のイメージとマッチしている。

こうして話を聞いてみると、量子コンピューターのコアの部分を相当に表現できていることがわかる。しかし、わからなくてもいいのだと新里さんは言う。見て、なんだか楽しい、おもしろいことやっているなと感じてもらって、それだけでもいいと。会場でデモに食いついて見ていた子どもたちが、いつか、何かの機会に思い出して、そこから物理やコンピューティングの世界に入っていくかもしれない。


両日ともデモは大人気。特に子どもたちがたくさん見に来ていた(提供:新里さん)

まだまだ先の量子コンピューターだが、今と地続きに感じてほしい

量子コンピューターは、今のところ話題が先行して、まだまだ実現までは時間がかかる。ここで触れたように、物理現象としての振動の減衰があったり、コヒーレンス時間の問題もある。そもそも、量子の特性上、「観察する」と(量子に電波を当てて反射波を見るため)状態が壊れてしまうので、扱いが非常に難しい。

実際の量子ビットの1ビットは、ほぼノイマン型コンピュータでいうところの演算器(トランジスタ)1つ分くらいだ。そのトランジスタを組み合わせて加算器となる。加算器ができたら、やっとまともな計算ができるようになるので、まだまだ実用は難しい。

新里さんも今村さんも、その点は知っている。量子コンピューターといっても現物が身近にあるわけでもない。しかし、現在すでに実現されていることがある。Googleでも53量子ビットしか実現できていないし、実用までにはさらに数十年必要なことも確かだが、その上で、いま現在動いてること、こんなことができるということを示したかったと言う。

新里さんはこう語る「数十年後、僕が生きてる間に量子コンピューターが実用化できるどうかわからないですが、今、普及したコンピューターを使ってさまざまな作品が生まれているように、量子コンピューターが一般的になったらそれを使った作品というのが必ず出てくるはずです。今回の作品が先行事例として、記憶と体験に残ってくれればいいんです。量子コンピューターの世界には不思議な現象がいっぱいあります。テレポーテーションしたり、電波観測をしたら状態が変わる、とか。まあ量子コンピューターに限らず、ですが。不思議な現象が世界にはいっぱいあるので、いろいろなおもしろい現象をもっと体験してほしいなと思っています」

今後も展示の機会は作る方向で考えているそう。また、「クラドニ図のつくり方」同様、3Dモデリングの図など、すべて資料として公開している。