フォーム読み込み中
皆さま、こんにちは!IT運用本部の中井です。
この連載企画【One Tech】も始まって1ヶ月が経ち、今回で4回目になります!
【One Tech】とは、様々な部署・職種のエンジニアが世の中にある様々なIT関連のキーワードや流行の1つに着目し、独自あるいはその職種ならではの視点からIT関連の技術用語やトレンドについて執筆していく連載企画です。
今回は私、中井が「スーパーコンピュータと量子コンピュータ」について解説することにしました!
私自身、大学院ではスーパーコンピュータの研究をしていたので、量子コンピュータとの比較については時々話題になっておりました。今回ブログ執筆にあたり、量子コンピュータについて、改めて整理・理解するに適した企画だと思いまして、こちらのキーワードに着目してみました!「量子コンピュータ?初めて聞いた・・・」という方でもお気軽に読んでいただければと思います。
スーパーコンピュータといえば、理化学研究所と富士通が2014年から開発した「富岳」がスーパーコンピュータの世界ランキングで4冠を達成しました。新型コロナウイルスの感染対策のためのシミュレーション等、さまざまな分野で富岳での研究がされています。
スーパーコンピュータは、大きく分けてスカラ型とベクトル型があります。
ベクトル型は高性能で高速な計算ができるCPUで作成されたコンピュータで、スカラ型は通常のCPUを大量に繋げたコンピュータです。
コンピュータの計算を荷物の運搬で例えると、以下のイメージです。
現在では汎用CPUの性能が非常に高くなっているので、安価で作れるスカラ型のコンピュータが主流となっています。今、純粋なベクトル型スーパーコンピュータを生産している会社は世界中で日本のNECのみです。
しかしながら、最近またベクトルの技術が復権してきており、スカラ型とベクトル型両方の技術を組み合わせたCPUが開発されています。
先述したような違いはあれど、スーパーコンピュータは荷物を車で運ぶという観点は同じです。全く違う発想を得たものが量子コンピュータになります。
先ほどの荷物の運搬例でいうと、量子コンピュータはパラレルワールドで運ぶイメージでしょうか。
・・・うーん、よく分かりませんね。
まるでSFじゃん!と思った方も多いと思います。
ここで、「観測するまで物事の状態は確定しない」という量子力学の奇妙な考え方を説明する、”シュレーディンガーの猫”の話をしておきます。
”シュレーディンガーの猫”とは「一定確率で毒ガスを放出する装置と一緒に箱に入れられたネコは、蓋を開けて観測されるまで生きている状態と、死んでいる状態が重なり合った不可思議な状態にある」というものです。
コンピュータは0と1の組み合わせで計算していることはご存知かと思います。シュレディンガーの猫でいう箱が量子ビットにあたります。死んでいる状態が0、生きている状態が1とすると、0と1の状態どちらも取り得るビットです。
つまり量子コンピュータというのは「同時に2つの状態を取るビット」からなるコンピュータなのです。
2ビットあれば、00・01・10・11の4通りの状態を表すことが出来ます。この4つを入力するとすると、普通のコンピュータでは当然4回入力が必要です
しかし量子コンピュータでは1つのビットが同時に0と1の2つの状態を表しますので、1度の入力で計算できてしまいます。
しかし、答えも同時に複数の状態を取ってしまうと、正しい答えか分かりません。
量子コンピュータの答えの決定の方法には、汎用的な計算に利用できる「ゲート方式」とたくさんの選択肢の中からベストの答えを導き出す組み合わせ最適化問題に特化した「アニーリング方式」があります。
ここでは、一般的な「ゲート方式」について説明します。
ゲート方式では具体的にはあらかじめ設定したアルゴリズム(計算方法)に基づき、量子ビットを操作していきます。最初は「0」の状態のビットを複数の「ゲート」で操作し、それが「測定」されたときに、それぞれどのビットが0で、どのビットが1かの答えが出るという仕組みです。
シュレディンガーの猫で例えると、どの箱にどのような確率で毒ガスを放出する装置を置くかを決めるのがアルゴリズムです。「観測するまで物事の状態は確定しない」という量子力学の性質を活用して、アルゴリズムによって「観測」することで答えを出していると言えます。アルゴリズムによって、正しい答えが観測される確率を高くするよう設定します。
つまり量子コンピュータの計算方法は、最終的に正解が観測される確率は完全な1にはならないという特徴があるのです。
2019年の10月にGoogleが「量子コンピュータを用いて、スパコンで1万年かかる計算を200秒で実行した」というニュースが話題になりました。やはり量子コンピュータは、スーパーコンピュータよりも遥かに優れているのでしょうか?
しかしながら、一概にはそう言えないのが現状です。実は上記の発表は「ランダム量子回路のサンプリング」という特定の計算で、スーパーコンピュータは非常に苦手としていて量子コンピュータが得意とする計算でした。
つまり、どんな計算でも量子コンピュータがスーパーコンピュータの計算能力を超えるか、とは言えないわけです。スーパーコンピュータと量子コンピュータで得意な計算は異なることを念頭に置いておく必要があります。
量子コンピュータの得意とする計算としては、スーパーコンピュータでは困難な組み合わせ最適化問題や膨大な数の処理が挙げられます。
組み合わせ最適化問題が解決できれば、自動運転における交通渋滞緩和や、分子の構造分析を通じて進められる新薬の開発にも応用できると期待されています。
膨大なデータの処理によって、ビッグデータの解析が今よりも簡単になったり、ビッグデータ以外にも膨大なデータを掛け合わせたシミュレーションが可能になることも期待できます。
一方で、量子コンピュータにおける最大の課題は「誤りを察知し訂正し、正しい計算を続ける」ことですが、問題を解決できるレベルの処理能力を持たすためには数百万から数千万個の量子ビットの集積が必要となります。現在は2000量子ビットまで進展しているものの、百万量子ビットにはまだまだ満たないというのが現状です。
というのも、量子ビットには非常に繊細でノイズに弱いという特徴があります。
熱・電磁場・空気分子との衝突によって、量子ビットが量子的な性質を失ってしまうことがよく起こり、それによって計算結果に間違いが起こるのです。
また量子コンピュータは先述の通り、問題ごとに解を求めるアルゴリズムが必要になるということもあり、スーパーコンピュータの方が実用的なことが多いのです。
スーパコンピュータ | 量子コンピュータ | |
|---|---|---|
メリット | 汎用性が高い | 桁違いの処理能力 |
デメリット | 処理速度の限界がある | 不安定・ノイズに弱い |
今回はスーパーコンピュータと量子コンピュータの違いについて解説していきました。
意外と現在の量子コンピュータは万能ではない・・・と感じた方も多いかと思います。実際まだまだ発展段階です。しかしながら、既存の技術が発展しすぎている今、新しい視点の技術には夢がある!と私は思います。量子コンピュータのみならず未来を感じる技術はワクワクしますね!
量子コンピュータは従来のコンピュータとは異なり、情報学・機械工学のみならず量子力学の観点が大きいです。今後、技術が発展していくには様々な観点の組み合わせが重要なのかもしれません。
次回の【One Tech】もお楽しみに〜!
条件に該当するページがございません