量子ソフトウェア開発はまだ黎明期
このところ、大手企業だけでなく、資金力のある新興企業も含めた競争が繰り広げられている。IBM、インテル、グーグル、ハネウェル、ザナドゥ、IonQ、リゲッティ、アリババなどの企業が、より強力な量子コンピュータの開発にしのぎを削っている。彼らがそうするのは正当なことのように見える。量子コンピューターは、サイバーセキュリティーから金融、サプライチェーンから製薬、防衛から天気予報まで、多くの分野に劇的な影響を与えることが期待されている。
量子コンピューターには、量子ビット(古典的な「0または1」ビットに相当する量子ビット)と、これらの量子ビットを修正するゲートが含まれる。各社は、量子ビットの数、利用可能なゲートの種類、量子ビット間の接続性、エラー率、動作温度など、さまざまな次元で競い合っている。進歩のスピードはめまぐるしい。例えば、IBMは65量子ビットのハイエンド量子マシンを提供しており、来年には433量子ビットのバージョン、2023年には1000量子ビットを超えると予想している。
ハードウェアは写真の一部にすぎない
ハードウェアも重要だが、量子革命を起こすにはソフトウェアも欠かせない。
古典的なコンピューティングの世界では、最新のCPUはオペレーティング・システムやアプリケーション開発用のソフトウェア・ツールがなければほとんど役に立たない。強力なソフトウェアがなければ、量子コンピューティングはその期待に応えられないだろう。
しかし今日、量子ソフトウェア開発は黎明期にある。マイクロソフトのQ#、IBMのQiskit、グーグルのCirqのような量子プログラミング言語は、主にゲートやビルディングブロックレベルで動作する。必要なビルディングブロックがまだ実装されていない場合、ユーザーは量子ビットと量子ゲート間の相互接続シーケンスを正確に指定する必要がある。
このプロセスは、AND、OR、NOTの論理ゲートを苦労して配置してデジタル回路を作るのと似ている。論理ゲートの数が数十の場合はそれなりにうまくいくが、数千、数百万のゲートに拡張するのは現実的に不可能だ。
ソフトウェア・エンジニアとしての量子Ph.D.
量子ソフトウェアを書くことの複雑さには、もうひとつ不幸な副作用がある。量子プログラミングは古典的なプログラミングとは異なるため、量子ソフトウェアエンジニアは希少種である。量子情報理論の専門家であり、量子物理学を理解し、線形代数にも精通している必要がある。
今日、そのようなエンジニアは、一般的に主要大学の博士課程を卒業した者である。そのような資格を持つ人材は少なく、企業は新しく設立された量子グループの人員を確保するのが難しい。さらに、量子ソフトウェア・エンジニアは、オプション価格設定、分子生物学、サプライチェーン最適化など、チームが解決しようとする問題の領域に関する専門知識を持ち合わせていない。ゲートレベルで新しいアルゴリズムを定義する必要があるため、量子チームにドメイン固有の専門家を組み込むのは非常に難しい。
全体像を見る
美しい休暇の写真を撮ったものの、夕焼けの色をもっとドラマチックにしたいと思ったとき、特に何百万ものピクセルを持つ写真では、ピクセル単位で修正するのは面倒だろう。Photoshopやその他の画像編集ソフトを使う方が、やりたいことを指定し、それをピクセル単位で実行する方法を考えることができる。
同様に、チームメンバーが新しい量子アルゴリズムを開発した場合、彼らはそれをゲートごとにコーディングしたり、デバッグや保守をしたりしたくはないだろう。彼らは新しいコンセプトをゲートレベルの実装に変換する高水準言語を求めている。
どこかで見たことがあるような?
先に、量子プログラミングとデジタル回路設計のアナロジーを行った。デジタル回路設計の進化は、量子ソフトウェアの問題を解決するヒントになる。
デジタル回路がより複雑になるにつれ(インテル8086プロセッサのトランジスタ数は約2万であるのに対し、最新のi7のトランジスタ数は40億を超える)、VHDLのような設計言語が救いの手を差し伸べた。VHDL、Verilog、および同様のハードウェア記述言語では、設計者は実現したいことを記述した人間が読めるコードを書き、コンピュータ・プログラムにこのハイレベル記述を詳細なゲート相互接続に変換させる。
このような言語によって、真に複雑な回路の設計が可能になり、効果的なデバッグと保守ができるようになった。また、高水準言語はコードの再利用を促進するため、毎回車輪を再発明する必要がない。
期待すること
私は、VHDLのようなアプローチが量子コンピューティングに適用され始めると信じている。量子の言語構造は電子設計のそれとは大きく異なるかもしれないが、この「量子アルゴリズム設計」のコンセプトは同じである。VHDLには多くの優れた歴史があり、そこから洞察を得ることができる。
つのアドバイス
量子革命とこうした新しいソフトウェア・プラットフォームに備えるために、私は企業にこう提案する:
- 量子コンピューティングの概念を、その分野に特化した専門家に紹介するが、必ずしも低レベルのプログラミングを学ぶ必要はない。
- 量子ビットや量子ゲートに飛びつくのは避けよう。まず、量子アルゴリズムが何をする必要があるのか、人間が読めるような高レベルの記述を作成する。
- 高水準のモデリング言語を最適化された低水準の量子コードに変換できるプラットフォームの市場調査を続ける。
助けが来る
量子コンピューティングは、ソフトウェアの大幅な進歩なしには行き詰まるだろう。量子アルゴリズム設計ソフトウェアは、より高度なアルゴリズムをより高度なマシンに実装することを可能にするだけでなく、利用可能な労働力のプールを広げ、ドメイン固有の専門家が博士号レベルの量子エンジニアと一緒に働くことを可能にする。
ハードウェア、ソフトウェア、そして人々を統合することで、量子コンピューティングの大きな約束を実現することができる。
この記事はフォーブスに掲載されたものです。
![](https://cdn.prod.website-files.com/6051c82bb106f381a2f95f8f/60d993def86d25fabe813dfd_Rectangle%20416.jpg)
このところ、大手企業だけでなく、資金力のある新興企業も含めた競争が繰り広げられている。IBM、インテル、グーグル、ハネウェル、ザナドゥ、IonQ、リゲッティ、アリババなどの企業が、より強力な量子コンピュータの開発にしのぎを削っている。彼らがそうするのは正当なことのように見える。量子コンピューターは、サイバーセキュリティーから金融、サプライチェーンから製薬、防衛から天気予報まで、多くの分野に劇的な影響を与えることが期待されている。
量子コンピューターには、量子ビット(古典的な「0または1」ビットに相当する量子ビット)と、これらの量子ビットを修正するゲートが含まれる。各社は、量子ビットの数、利用可能なゲートの種類、量子ビット間の接続性、エラー率、動作温度など、さまざまな次元で競い合っている。進歩のスピードはめまぐるしい。例えば、IBMは65量子ビットのハイエンド量子マシンを提供しており、来年には433量子ビットのバージョン、2023年には1000量子ビットを超えると予想している。
ハードウェアは写真の一部にすぎない
ハードウェアも重要だが、量子革命を起こすにはソフトウェアも欠かせない。
古典的なコンピューティングの世界では、最新のCPUはオペレーティング・システムやアプリケーション開発用のソフトウェア・ツールがなければほとんど役に立たない。強力なソフトウェアがなければ、量子コンピューティングはその期待に応えられないだろう。
しかし今日、量子ソフトウェア開発は黎明期にある。マイクロソフトのQ#、IBMのQiskit、グーグルのCirqのような量子プログラミング言語は、主にゲートやビルディングブロックレベルで動作する。必要なビルディングブロックがまだ実装されていない場合、ユーザーは量子ビットと量子ゲート間の相互接続シーケンスを正確に指定する必要がある。
このプロセスは、AND、OR、NOTの論理ゲートを苦労して配置してデジタル回路を作るのと似ている。論理ゲートの数が数十の場合はそれなりにうまくいくが、数千、数百万のゲートに拡張するのは現実的に不可能だ。
ソフトウェア・エンジニアとしての量子Ph.D.
量子ソフトウェアを書くことの複雑さには、もうひとつ不幸な副作用がある。量子プログラミングは古典的なプログラミングとは異なるため、量子ソフトウェアエンジニアは希少種である。量子情報理論の専門家であり、量子物理学を理解し、線形代数にも精通している必要がある。
今日、そのようなエンジニアは、一般的に主要大学の博士課程を卒業した者である。そのような資格を持つ人材は少なく、企業は新しく設立された量子グループの人員を確保するのが難しい。さらに、量子ソフトウェア・エンジニアは、オプション価格設定、分子生物学、サプライチェーン最適化など、チームが解決しようとする問題の領域に関する専門知識を持ち合わせていない。ゲートレベルで新しいアルゴリズムを定義する必要があるため、量子チームにドメイン固有の専門家を組み込むのは非常に難しい。
全体像を見る
美しい休暇の写真を撮ったものの、夕焼けの色をもっとドラマチックにしたいと思ったとき、特に何百万ものピクセルを持つ写真では、ピクセル単位で修正するのは面倒だろう。Photoshopやその他の画像編集ソフトを使う方が、やりたいことを指定し、それをピクセル単位で実行する方法を考えることができる。
同様に、チームメンバーが新しい量子アルゴリズムを開発した場合、彼らはそれをゲートごとにコーディングしたり、デバッグや保守をしたりしたくはないだろう。彼らは新しいコンセプトをゲートレベルの実装に変換する高水準言語を求めている。
どこかで見たことがあるような?
先に、量子プログラミングとデジタル回路設計のアナロジーを行った。デジタル回路設計の進化は、量子ソフトウェアの問題を解決するヒントになる。
デジタル回路がより複雑になるにつれ(インテル8086プロセッサのトランジスタ数は約2万であるのに対し、最新のi7のトランジスタ数は40億を超える)、VHDLのような設計言語が救いの手を差し伸べた。VHDL、Verilog、および同様のハードウェア記述言語では、設計者は実現したいことを記述した人間が読めるコードを書き、コンピュータ・プログラムにこのハイレベル記述を詳細なゲート相互接続に変換させる。
このような言語によって、真に複雑な回路の設計が可能になり、効果的なデバッグと保守ができるようになった。また、高水準言語はコードの再利用を促進するため、毎回車輪を再発明する必要がない。
期待すること
私は、VHDLのようなアプローチが量子コンピューティングに適用され始めると信じている。量子の言語構造は電子設計のそれとは大きく異なるかもしれないが、この「量子アルゴリズム設計」のコンセプトは同じである。VHDLには多くの優れた歴史があり、そこから洞察を得ることができる。
つのアドバイス
量子革命とこうした新しいソフトウェア・プラットフォームに備えるために、私は企業にこう提案する:
- 量子コンピューティングの概念を、その分野に特化した専門家に紹介するが、必ずしも低レベルのプログラミングを学ぶ必要はない。
- 量子ビットや量子ゲートに飛びつくのは避けよう。まず、量子アルゴリズムが何をする必要があるのか、人間が読めるような高レベルの記述を作成する。
- 高水準のモデリング言語を最適化された低水準の量子コードに変換できるプラットフォームの市場調査を続ける。
助けが来る
量子コンピューティングは、ソフトウェアの大幅な進歩なしには行き詰まるだろう。量子アルゴリズム設計ソフトウェアは、より高度なアルゴリズムをより高度なマシンに実装することを可能にするだけでなく、利用可能な労働力のプールを広げ、ドメイン固有の専門家が博士号レベルの量子エンジニアと一緒に働くことを可能にする。
ハードウェア、ソフトウェア、そして人々を統合することで、量子コンピューティングの大きな約束を実現することができる。
この記事はフォーブスに掲載されたものです。