量子ソフトウェア開発における台本の裏返し
私はこの2018年のPLOS ONEの「量子コンピューティングにおけるオープンソースソフトウェア」に関する論文に出会い、フルスタックのソフトウェア開発プロセスを描いた彼らの図に注目した。
一番左の部分(問題の定義)は自明である。どのような問題(「最良のルートを見つける」、「分子の基底状態を決定する」、「金融オプションの価値を計算する」)を解決しようとしているのか分からなければ、そのために量子コンピュータを使うことを正当化するのは難しい。
一番右の部分(コンパイラやトランスパイラ)を作るのは難しい問題だが、ほとんどの場合、それはハードウェア・プロバイダの責任である。コンピュータがどのような接続性を持っているか、ネイティブ・ゲート・セットは何か、ノイズやコヒーレンスの特性は何か、ハードウェアがどのようなユニークな機能を持っているかは、ハードウェア・プロバイダが一番よく知っているので、彼らがコンパイラを作るのに最も適した立場にある。コンパイラーは、「私がコンパイルしたいゲートはこれです」以上のことを理解することで恩恵を受けるかもしれないが、それはまた別の日に議論することにしよう。
問題をどのように量子回路に変換するかは実に難しい問題であり、問題や回路が大きく複雑になればなるほど、なおさらである。
今日の典型的なプロセスは次のようなものだ:
問題が定義され、個々のステップに分解されると、量子ソフトウェア・エンジニアは、各ステップを実装する既存の回路を探す。設計者は、そのブロックを特定のユースケースに適合させるため、手作業で修正を加える。設計者は、個々のブロックを接続し、利用可能な量子リソースや性能・精度の目標に適合するように最適化することに懸命に取り組む。そして、ゲートレベルの回路が完成すると、最終的にコンパイラ/トランスパイラに送られ、シミュレータや量子プロセッサで実行される。
問題は、これらのステップのほとんどが手作業であることだ。その結果、エラーが発生しやすくなり、設計者は、たとえ世界一流の輸出者であったとしても、実装オプションのほんの一部しか合理的に調べることができず、利用可能な最適化のほんの一部しか実行できず、数日から数週間後にはこの問題に疲れ果ててしまうかもしれない。
Classiqのアプローチは違う。それは2つの単純な気づきからきている:1)量子回路を作るのは難しい、2)コンピュータ(古典的なコンピュータ)が人間を劇的に凌駕するタスクがある。
そのため、Classiqのアプローチは台本をひっくり返すことになる。このプロセスのほとんどのステップを人間が行うのではなく、人間が問題を定義し、その問題を相互に関連する機能的なステップに分解します。その時点から、プロセスは完全に自動化され、より速く、より良く行われます:
人間の設計者は、コンピュータに何をすべきかを指示し、その結果を検討する(そして必要に応じてパラメータや制約を変更する)。人間は完全なコントロールを保持するが、コンピュータは作業を劇的に加速し、改善する。
Classiqがどのように貴社の量子力学の取り組みを加速させるか、今すぐお問い合わせください。
私はこの2018年のPLOS ONEの「量子コンピューティングにおけるオープンソースソフトウェア」に関する論文に出会い、フルスタックのソフトウェア開発プロセスを描いた彼らの図に注目した。
一番左の部分(問題の定義)は自明である。どのような問題(「最良のルートを見つける」、「分子の基底状態を決定する」、「金融オプションの価値を計算する」)を解決しようとしているのか分からなければ、そのために量子コンピュータを使うことを正当化するのは難しい。
一番右の部分(コンパイラやトランスパイラ)を作るのは難しい問題だが、ほとんどの場合、それはハードウェア・プロバイダの責任である。コンピュータがどのような接続性を持っているか、ネイティブ・ゲート・セットは何か、ノイズやコヒーレンスの特性は何か、ハードウェアがどのようなユニークな機能を持っているかは、ハードウェア・プロバイダが一番よく知っているので、彼らがコンパイラを作るのに最も適した立場にある。コンパイラーは、「私がコンパイルしたいゲートはこれです」以上のことを理解することで恩恵を受けるかもしれないが、それはまた別の日に議論することにしよう。
問題をどのように量子回路に変換するかは実に難しい問題であり、問題や回路が大きく複雑になればなるほど、なおさらである。
今日の典型的なプロセスは次のようなものだ:
問題が定義され、個々のステップに分解されると、量子ソフトウェア・エンジニアは、各ステップを実装する既存の回路を探す。設計者は、そのブロックを特定のユースケースに適合させるため、手作業で修正を加える。設計者は、個々のブロックを接続し、利用可能な量子リソースや性能・精度の目標に適合するように最適化することに懸命に取り組む。そして、ゲートレベルの回路が完成すると、最終的にコンパイラ/トランスパイラに送られ、シミュレータや量子プロセッサで実行される。
問題は、これらのステップのほとんどが手作業であることだ。その結果、エラーが発生しやすくなり、設計者は、たとえ世界一流の輸出者であったとしても、実装オプションのほんの一部しか合理的に調べることができず、利用可能な最適化のほんの一部しか実行できず、数日から数週間後にはこの問題に疲れ果ててしまうかもしれない。
Classiqのアプローチは違う。それは2つの単純な気づきからきている:1)量子回路を作るのは難しい、2)コンピュータ(古典的なコンピュータ)が人間を劇的に凌駕するタスクがある。
そのため、Classiqのアプローチは台本をひっくり返すことになる。このプロセスのほとんどのステップを人間が行うのではなく、人間が問題を定義し、その問題を相互に関連する機能的なステップに分解します。その時点から、プロセスは完全に自動化され、より速く、より良く行われます:
人間の設計者は、コンピュータに何をすべきかを指示し、その結果を検討する(そして必要に応じてパラメータや制約を変更する)。人間は完全なコントロールを保持するが、コンピュータは作業を劇的に加速し、改善する。
Classiqがどのように貴社の量子力学の取り組みを加速させるか、今すぐお問い合わせください。