【IBM Q】IBM Quantum Challenge秋に参戦してきた

これは BrainPad Advent Calendar 2020 の12月22日の記事です。

次のことについて、書きたいと思います。
(素人なので誤りがあれば訂正して頂けますと幸いです。)

量子コンピュータってなに?

「何で量子コンピュータ、量子コンピュータって騒いでいるの?今使っている(古典)コンピュータでも十分早いじゃん!これじゃぁダメなの?」
自然な疑問だと思います。

私が小学生の頃、家にあったコンピュータ(PC-98シリーズ)のCPUがたぶん10MHzだったと思います。それから30年ほどで2GHzのCPUが2つ4つ入った小さい計算機(スマホ)が登場してきています(年齢バレる…)。

家にあったコンピュータの記憶媒体も紙(今ではHDD,SSDが当たり前で、「えっ何言ってるの」と思うかもしれませんがマジですw)で、家には穴の開いた大量の紙の束が。私にとってはただの落書き帖。落書きしては親父にブチ切れられて泣いていた記憶がありますw
今となっては、おやじがブチ切れるのも、まぁ解りますww

話それましたが、CPUは1秒間にどれくらい周波数Hzが流れるかを表していて、さらに0.8Hzで機械語1命令を実行できるそうなので、10MHzと2GHzを単純計算すると

1秒間に10M/0.8=12.5M=1250万回計算してくれる計算機から
1秒間に2G/0.8=2.5G=25億回計算してくれる小さい計算機(スマホ)に進化

1秒間に1250万回計算してくれる計算機でも十分強いけど、1秒間に25億回計算してくれるスマホ…ヤバいですね。

皆さん、スマホ使いこなしていますかwww

じゃあ、これからもっと10GHz、100GHzと早くなっていくんじゃないの?と思われるかもしれません。

たぶん、これ以上1CPUのHzを上げるのは難しい

コンピュータは0と1で表現された言葉を使って動いているというお話を聞いたことがあると思います。この0と1は「1:電子が流れている」「0:電子が流れていない」で表現されています。
トランジスターと呼ばれるものを使って電子が通る道(回路)を物理的に壁(絶縁体)を入れて止めたり、取り除いて通したりすることで、この0と1を表現しています。
このトランジスタを小さくしたり回路を短くしたりして、電子の移動する距離を小さくすることでCPUのHzをガンガン上げることができました。

じゃあトランジスタをもっと小さくして、回路を短くすれば早くなるでしょ!と思うかもしれませんが残念ながらそうもいきません。

問題1:半導体を小さくすると熱が発生し、回路が焼ける…
問題2:半導体を小さくするために壁を薄くすると、電子が止められない…
今の技術ではもうこれ以上小さくできないところまで来てしまっているのです。これ以上はHzがなかなか上げられない…

そこで、登場するのが量子コンピュータです。ざっくり言うと

電子って物質としての性質だけじゃなくて、波の性質も持っていたよね。
波の性質使ったコンピュータができるとええ感じのものになるよね!
👆これが量子コンピュータ

波にすると何で速くなるん???ですよねぇ、よくわからんですよね。
海の波を見てみるといろんな形の波がありますよね。これは波が重なり合っていろいろな形が表現されています。

今のコンピュータでは0と1の形しか表現できませんが、量子コンピュータでは波を重ねることができる性質をうまく利用して、表現力を上げて速い計算が可能になります。

まだまだ、発展途上の技術ではありますが、30年後には今の古典コンピュータの様に当たり前に使われているのでは、と期待しています。

2020年量子コンピュータ業界では何があったのか

2019年はgoolgeが 古典コンピュータだと1 万年を要する計算を量子コンピュータだと200秒できた!というニュースがありましたね。量子コンピュータがついに使えるようになったのか!となりました。IBMに言わせれば、それは言い過ぎで古典コンピュータで2.5日くらいでできる、ってお話もありますが…
それでも2.5日が200秒でできるってすごいですよね!

という訳で今年も色々な量子コンピュータのニュースがありましたので、個人的に気になったニュースを挙げてみようと思います。

1. Amazon Braket登場
これは衝撃のニュースでしたね。Dwave, IonQ, Regettiの3社の量子コンピュータの実機が誰でも使えるようになってしまいました!!
Amazon Braketは量子コンピュータが使えるのはもちろんすごいんだけど、Amazonではデータをためるサービスもしているので、量子コンピュータがデータにセキュアにアクセスできるっていう点でも凄いですね!
2. Dwave Advantage登場
ついにアニーリング式5000量子ビットを超えましたね。2011年5月11日に128量子ビットのD-Wave Oneを発表して9年でここまで来ました。これからどんどん増得るのだろうか!?100を超えるノードの全結合グラフが埋め込めるので、ビジネス課題の最適化に利用ができるかの検証を始めなければという思いでいます。
3. IBM Quantum Challenge秋で日本人が最優秀
これは驚きました。私も参加しましたが、すごいの一言。おめでとうございます。おじさんも何とか追いつきたい。
4. 中国科学技術大学などの研究チームが理化学研究所の「富岳」で6億年かかる計算を200秒で計算
今月初めのに発表された論文ですね。しかも、光の波の性質を使った量子コンピュータだそうです。-272℃に冷やさないと電子の波の性質を使った量子コンピュータは制御できないのですが、こちらは常温で動くんだと思っています(間違ってたらごめんなさい)!!

他にも、Mircosoft Azure Quantumは現状previewですが、今年中に公開されると聞いていたので気になっています。
あと今年はgoogleさん静かじゃなかったでした(私が知らないだけかも)?なんか年明けにドカーンって発表あったりw

IBM Quantum Challengeに参戦

IBMが「IBM Quantum Challenge そう遠くない量子の未来のためのプログラミング」と銘打って、量子コンピュータのプログラミング大会を11月9日から11月30日までの期間で開催しました。

今年から本格的に量子アルゴリズムを学び始めた私にとって、今の実力がどの程度なのかを測る意味で参加してみました。

結果:5題中3題まで解くことができました。正直もう少しできると思っておりましたが、時間切れ。約3週間、毎朝3時間頑張ったこともあり、学ぶものが多くありました。

良い機会でした!IBMさん、ありがとうございます。

上でも書きましたが、一位を取られた日本人の方は本当にすごいなぁの一言です。

この大会で面白いなぁと思ったのは、単にプログラミングが書ければ良いわけではなく、プログラミングのスコアが計算されるところ。

プログラム(量子回路)を評価する対象がいくつか考えられるようです。
量子ビット数、深さ、実行速度、命令数といったもの。

これらはどれも量子計算の結果に影響する重要な尺度で、今回のQuantum Challengeでは特に命令数を指標として、以下のようにプログラムを評価していました。

スコア = 単一量子ビットゲートの数+ CXゲートの数 ×10

任意の量子回路は単一量子ビットゲートとCXゲートと呼ばれるゲートに分解できるそうです(ここはちゃんと分りたい)。現在の量子コンピュータはノイズの多い実装になっており、CXゲートと呼ばれるエラー率は単一量子ビットゲートの10倍くらいの差があるそうです。よって、スコアを上記の様に定義したようです。

あとは、qRAMの実装についての問題が出題されました。RAMはコンピュータが計算した結果を、次の計算に使うために、一時的に置いておく装置のことですね。メインメモリと呼ばれているものです。量子コンピューターでどのようにしてRAMを実装するかは大問題です。今回のqRAMはメインメモリというかCPUのキャッシュメモリに近い使い方になるのかなぁと思いました。RAMに相当するものを量子コンピュータで実装できる日はまだ遠い???


画像2

上の様に3問目まで解きましたが、4問目は解けませんでした。色々と障害があり検証しながら一つずつ課題をつぶしましたが全部をつぶすことは時間内にはできませんでした。

最終問題もアイデアは持っていたものの取り組む時間が足らず…悔しいですね。

現在は上位スコアのプログラムが公開されているので、参考にしてお勉強させていただこうと思います。今後も開催されるようでしたら積極的に参加したいと思う大会でした。

最後まで読んでいただき、ありがとうございまた。
BrainPad アドベントカレンダーには私の記事以外にも量子コンピュータについて書かれているものがありますので、興味がありましたら読んでいただければと思います。
12月1日の記事:量子アニーラと数理計画ソルバーでシュレッダーに立ち向かう
12月18日の記事:Amazon Braket を使って量子コンピュータの実機を動かしました

量子コンピュータのアドベントカレンダーもあるので興味がある方はこちらも参照してみてください。
量子コンピューター Advent Calendar 2020

この記事が気に入ったらサポートをしてみませんか?