Azure Quantum とは

Azure Quantum は、さまざまな量子ソリューションとテクノロジを備えたクラウド サービスです。 コードを一度記述するだけで、変更をほとんど、またはまったく行わずに同じファミリの複数のターゲットに対して実行でき、アルゴリズム レベルでプログラミングに集中できます。

  • オープンなエコシステム: Microsoft およびそのパートナー製のさまざまな量子ソフトウェア、ハードウェア、ソリューションにアクセスできます。
  • 量子のインパクトを今すぐに: 従来型および高速化されたコンピューティング リソースで実行される事前構築済みのソリューション (最適化ソリューションとも呼ばれます) を利用します。

ヒント

無料試用版。 Azure サブスクリプションがない場合は、開始する前に無料アカウントを作成できます。 Microsoft では、量子ハードウェアで使用するために最大 10,000 米国ドルのクレジットを提供しています。 このクレジットを使い切ってもアカウントは維持されるため、無料の Azure サービスをご利用になれます。 明示的に設定を変更して課金を了承しない限り、クレジット カードに課金されることはありません。 Azure Quantum クレジット プログラムに申請することができます。

Azure Quantum の各部分

Azure Quantum には、量子ソリューションの主な手段として次の 2 つが用意されています。

  • 量子コンピューティング: 将来のスケーリングされた量子マシンに対応できるように、多様な量子ハードウェア プロバイダーについて学習し、実験し、プロトタイプを作成します。 他のソリューションとは異なり、1 つのハードウェア テクノロジにサイロ化されるわけではなく、さまざまな方法を利用して長期的な投資を保護します。
  • 最適化: 金融、エネルギー コスト、フリート管理、スケジュール設定など、さまざまな分野での運用コストの削減に役立つソリューションを開発します。

Azure Quantum と Quantum Development Kit ツールセットを使用すると、量子アルゴリズムと最適化ソリューションをプログラムした後、既存の Azure プラットフォーム内でそれらの量子ソリューションを適用して、汎用量子コンピューターが開発される前でも、実際の影響を実現できます。

Azure Quantum の使用者

Azure Quantum は、先進的に量子計算を運用環境に導入しようとする個人やチームを対象としています。

業界のソリューション

ビジネスに関しては、量子型のソリューションを取り入れることで、競争力を高め、イノベーションの最前線に存在することができます。 業界のソリューションを構築する場合、長期的なコスト削減ソリューションが求められるので、Azure Quantum が最新の最適化テクノロジを適用するための最良の手段となります。 Azure Quantum では、さまざまな業界向けのアプリケーションで、現在最も多様な量子リソースを利用できるという利点が得られます。

Azure Quantum と量子アプリケーションを使用してどのように実際の問題を解決できるかの詳細については、次のケース スタディを参照してください。

開発者向け

開発者は、Python や Visual Studio Code などの使い慣れたプログラミング ツールを使用して量子アプリケーションを作成し、同時に、量子に特化したプログラミング言語である Q# で量子コードを使用および記述することを学びます。 開発者は、Azure Quantum と Quantum 開発キットを使用して、量子プログラミングについて調べ、データ検索、量子機械学習、最適化ソリューションなどの量子アプリケーションについて詳しく知ることができます。

研究者

研究者は、Azure Quantum を利用して、量子アルゴリズムと理論をテストし、超伝導や複雑な分子形成などの量子システムを効率的にシミュレートできます。 Azure Quantum を使用すると、影響力の大きいソリューションを大規模に学習、構築、デプロイすることができます。これにより、量子コンピューティングを利用し、最新のイノベーションを活用できます。

研究リソースとキャリアの機会の詳細については、Microsoft 量子コンピューティング研究分野に関する記事を参照してください。 また、Azure Quantum は、量子コンピューティングと量子アプリケーションを教えるための優れたツールでもあります。 Azure Quantum クレジット プログラムに申請することができます。

量子に強い関心を持つユーザー

学生または量子に強い関心を持つユーザーの場合、Azure Quantum によって量子コンピューティングへの関心がさらに高まります。 さまざまな種類の量子テクノロジに触れることで知識の幅が広がり、量子コンピューティングと量子プログラミング言語 Q# の基本を学び、量子コンピューターが大きな影響を与える可能性のある分野を見つけます。

量子コンピューティングを使用する理由

量子コンピューターでは、量子物理学の固有の動作 (重ね合わせ、もつれ、量子干渉など) を利用し、それをコンピューティングに適用します。 これにより、従来のプログラミング方式に新しい概念が導入されました。 量子効果により、量子コンピューターで、計算する情報量が指数関数的に増え、より複雑な問題を解決できます。 量子コンピューターは、スケーリングできるように設計されている場合、今日の最も強力なスーパーコンピューターを超える機能を備えています。

Azure Quantum を使用すると、ソフトウェア、ハードウェア、事前構築されたソリューションにアクセスできるフルスタックのオープン クラウド エコシステムで、現在の量子コンピューティングの利点を活用できます。 Azure Quantum には、量子コンピューティングと最適化という 2 種類のソリューションが用意されています。

量子コンピューティング

化学反応、生物学的反応、物質形成などの量子力学的問題のシミュレーションを目的とする場合、計算に量子現象が使用されるため、量子コンピューターが非常にうまく機能します。 また、量子コンピューターを使用すると、金融サービス、機械学習、非構造化データの検索といった、多くの計算が必要なさまざまな分野で進歩を速めることもできます。

Azure Quantum では、研究者や企業は、量子コンピューティングを使用して、リスク管理、サイバーセキュリティ、ネットワーク分析、データ検索、ワクチン開発、または材料科学の複雑なシナリオをモデル化できます。 量子コンピューティングと量子アルゴリズムの詳しい使用方法については、「量子コンピューティングについて」を参照してください。

最適化

最適化は、所望の結果と制約をふまえて、問題に対する最適な解を見つけるプロセスです。 複雑な最適化問題は、車両の経路決定、サプライチェーン管理、スケジューリング、ポートフォリオ最適化、電力網管理など、あらゆる業界に存在します。 このような現実の問題を解決することで、コストの削減、プロセスの加速、リスクの軽減など、価値の高いメリットが得られます。

Azure Quantum では、CPU、FPGA、GPU、カスタム シリコンなどの従来のさまざまなコンピューティング シリコン ソリューションで実行する最適化の問題を実装しておくことができます。これは、その他多くの従来の最適化手法より迅速です。

その一方で、古典的なコンピューターでの量子効果のシミュレーションは、新しい種類の量子ソリューションの開発につながりました。 量子着想最適化 アルゴリズムでは、従来のハードウェアでの量子コンピューティングによって提供される利点の一部が活用され、従来のアプローチよりも高速になります。

Azure Quantum を使用すると、Microsoft およびそのパートナーによって開発された最先端の量子着想最適化アルゴリズムの幅広いセットにアクセスできます。

Azure Quantum での最適化ソリューションの詳細については、「最適化とは」を参照してください。

Q# および Quantum 開発キットとは

Microsoft Quantum Development Kit (QDK) は、Azure Quantum 向けの オープンソース の開発キットであり、これを使用すると、サービスを使用したオンライン、およびオフラインの両方で作業することができます。 QDK には、高レベルのプログラミング言語である量子プログラミング言語 Q# が含まれています。これを使用すると、アルゴリズムおよびアプリケーション レベルで作業に集中して、量子プログラムを作成できます。

Quantum 開発キット

QDK では、量子ソフトウェア開発プロセスを支援する一連のツールが提供されます。

  • すぐに使用できるライブラリ: 多くの量子アルゴリズムに共通するパターンを実装する "標準" ライブラリと、化学や機械学習などの分野固有のライブラリの両方が含まれ、コードを高レベルに維持するのに役立ちます。
  • 量子コンピューティング シミュレーター: プログラムの小さなインスタンスを実行して、実際にハードウェアにアクセスすることなくプログラムで何が実行されるかを確認できます。
  • ノイズ シミュレーター: ノイズとスタビライザー表現の影響のもとで Q# プログラムの動作をシミュレートできるようにします。
  • リソース予測ツール: ソリューションを実行するための実際のコストを提供します。たとえば、必要な量子ビット数やプログラムの所要時間などがあります。

Quantum Development Kit には、Visual Studio および Visual Studio Code 向けの拡張機能と、Jupyter Notebooks との統合が含まれています。

Quantum 開発キットは、Python や他の .NET 言語との相互運用性をサポートしています。 さらに、Azure Quantum 最適化 Python パッケージを使用して最適化ソリューションを編成することもできます。 コードは、量子システムの進化に適応します。

追加機能として、QDK は Qiskit および Cirq との統合をサポートしています。そのため、既に他の開発言語で作業している量子開発者は、Azure Quantum でもプログラムを実行できます。

量子プログラミング言語 Q#

なぜ量子プログラミング言語なのか 簡単に言えば、回路ではなくアルゴリズムを記述する必要があるからです。

Q# 言語を使用すると、従来のコンピューティングと量子コンピューティングを統合できます。 Q# では、アルゴリズムの実行中に従来の制御フローがサポートされます。 これにより、量子ゲートの固定シーケンスの回路モデルで直接表現するのが困難なアダプティブ アルゴリズムを明確に表現できます。

Q# 言語では、量子ビットが論理か物理かを指定しません。 これは、アルゴリズムの実行時にランタイムによって決定できます。 同様に、プログラム内の量子ビット変数から実際の論理または物理の量子ビットへのマッピングはランタイムによって決定され、そのマッピングは、トポロジやターゲット デバイスのその他の詳細が確認されるまで遅延される可能性があります。 ランタイムは、実行中に必要な任意の量子ビットの状態転送や再マッピングなど、アルゴリズムの実行を可能にするマッピングを決定する役割を担います。

スタンドアロンとして、ノートブック内で、またはコマンドラインで Q# を使用するか、Python や C# などのホスト言語を使用することができます。

量子ソフトウェア開発のワークフロー

Quantum Development Kit は量子に特化したプログラミング言語である Q# 用の開発キットであり、Azure Quantum は、量子クラウド プラットフォームです。

次の図は、量子プログラムが着想から Azure Quantum への実装を完了するまでにたどる段階と、各段階で QDK によって提供されるツールを示しています。

QDK のワークフロー

  1. 量子コードを記述する。 Visual Studio、Visual Studio Code、または Jupyter Notebooks 用の QDK 拡張機能を使用して Q# プログラムを作成できます。

  2. ライブラリを使用して、コードを高いレベルに維持する。 量子ライブラリを使用すると、実装で手間のかかる多くの作業がユーザーに代わって実行され、コードを高いレベルに維持することができるため、ユーザーは自分のアルゴリズムのロジックに集中できます。

  3. 従来のソフトウェアと統合する。 Quantum Development Kit を使用すると、Q# プログラムを Python および .NET と統合できます。これによって量子ソフトウェア開発者は、過去 70 年の間に従来のコンピューティングで行われた多くの進歩を活用できます。

  4. シミュレーションで量子コードを実行する。 プログラムを作成したら、量子シミュレーター (量子システムの動作をシミュレートする従来のプログラム) を使用します。これにより、実際のハードウェア アクセスを使用せずに、プログラムの小規模なインスタンスを実行して何が行われるかを確認できます。

  5. リソースを見積もる。 量子ハードウェアで実行する前に、プログラムを既存のハードウェアで実行できるかどうかを確認する必要があります。 QDK リソース エスティメーターを使用して、必要な量子ビットの数とプログラムの所要時間を確認できます。

  6. 量子ハードウェアでコードを実行する。 最終的に、最後のステップでは Azure Quantum を使用して量子ハードウェアでプログラムを実行します。

注意

ワークフローのすべてのステップで同じ Q# コードを使用します。 短期的には、現在のハードウェアの制限を考慮して、コードの一部を調整することが必要になる場合があります。 ただし、長期間の実行では、コードを変更することなく、さまざまなシミュレーターとハードウェア プロバイダーを切り替えることができます。

Azure Quantum で使用可能な量子クラウド ソリューション

プログラムの正確性を検証し、自分がアクセスできるハードウェアでの実行に適合していると判断したら、プログラムを Azure Quantum に送信する準備ができました。 次の図は、ジョブを送信した後の基本的なワークフローを示しています。

Azure 量子ジョブのフロー

Azure Quantum では、業界リーダーから現在入手可能な最も魅力的で多様な量子リソースの一部が提供されます。 現在、Azure Quantum は次のプロバイダーと提携しています。これにより、実際のハードウェアで Q# 量子プログラムを実行でき、シミュレートされた量子コンピューターでコードをテストするオプションが有効になります。

量子コンピューティング プロバイダー

問題の特性とニーズに最適なプロバイダーを選択します。

  • Honeywell Quantum Solutions: 忠実度が高く、完全結合された量子ビットを実現し、中間回路測定を実行する機能を備えたイオン トラップ型システム。
  • IONQ: 最大 11 個の完全結合された量子ビット用の動的に再構成可能なイオン トラップ型の量子コンピューター。これにより、任意のペア間で 2 量子ビット ゲートを実行できます。
  • Quantum Circuits, Inc: 強力なリアルタイムのフィードバックを利用した高速で忠実度の高いシステム。これにより、エラー訂正が可能になります。

詳細については、完全な量子コンピューティング ターゲット リストを参照してください。

最適化プロバイダー

最適化ソリューションの場合、次のプロバイダーから選択できます。

  • 1QBit: 検索技術を使用して QUBO の問題を解決する反復ヒューリスティック アルゴリズム。
  • Microsoft QIO: 数十年にわたる量子研究に着想を得た、最適化問題を言い換える複数のターゲットのセット。
  • 東芝 SBM: 東芝シミュレーテッド分岐マシンは、大規模な組み合わせ最適化問題を高速に解く、GPU 搭載のイジング マシンです。

詳細については、完全な最適化ターゲット リストを参照してください。

次の手順

Azure Quantum の使用を開始します。