Azure Quantum とは
Azure Quantum は、Azure のクラウド量子コンピューティング サービスで、さまざまな量子ソリューションとテクノロジを備えています。 Azure Quantum は、お客様の業務方法に適応し、成長を加速させ、テクノロジへの投資を無駄にさせない、量子コンピューティングへの柔軟かつ確実で開かれた道筋を保証します。
Azure Quantum が提供する最適な開発環境を使用すると、複数のプラットフォームのための量子アルゴリズムを一度に作成でき、一方で同じアルゴリズムを特定のシステム用に調整する柔軟性を維持できます。 コードを 1 回記述し、同じファミリの複数 targets に対してほとんどまたはまったく変更なしでコードを実行できます。これにより、アルゴリズム レベルでプログラミングに集中できます。
量子コンピューティングと量子アルゴリズムの詳しい使用方法については、「量子コンピューティングについて」を参照してください。
Azure Quantum での作業の開始方法
Azure Quantum の使用を開始するには、さまざまな方法があります。 まず、Azure Quantum Web サイトを確認するか、最初の Azure Quantum ワークスペースを作成できます。
Azure Quantum Web サイト
Azure Quantum (quantum.microsoft.com) は、量子コンピューティングを探索するための中心的なリソースです。 コードの記述と量子概念の理解を深めるのに役立つ、量子に焦点を当てたチャットボットである Azure Quantum の Copilot に参加できます。 また、ブログ、記事、ビデオを通じて専門家や愛好家から学ぶこともできます。
オンライン コード エディターの 「 Code with Azure Quantum」で Q# コード サンプルを試すか、クラウドベースの Quantinuum H シリーズ エミュレーターにジョブを送信するか、オンライン コード エディターで 1 回クリックして、 VS Code for the Web でコードを開き、事前に構成された量子環境で作業を続けます。
Azure Quantum Web サイトは 無料 で、Azure アカウントは 必要ありません 。 作業を開始するには、Microsoft (MSA) メール アカウントが必要です。 詳細については、「 Azure Quantum の探索」を参照してください。
Azure ポータル
ヒント
初めて使用するユーザーは、参加している各量子ハードウェア プロバイダーで使用するための無料の $500 (USD)Azure Quantum クレジットを自動的に取得します。 クレジットをすべて消費し、不足した場合は、Azure Quantum クレジット プログラムにお申し込みいただけます。
Azure Quantum は、新しいユーザーが使い始めるのが非常に簡単で無料です。 量子プログラムを Azure Quantum に送信するには、次の 2 つだけが必要です。
Azure アカウント: Azure アカウントをお持ちでない場合は、無料で登録し、 従量課金制サブスクリプションにサインアップします。 学生の場合は、学生 向けの無料の Azure アカウントを利用できます。
Azure Quantum ワークスペース: Azure Quantum ワークスペースは、実行中の量子に関連付けられている資産のコレクションです。 Azure Quantum ワークスペースを作成するには、Azure portal に移動し、[簡易作成] を選択します。これにより、ワークスペースが自動的に作成され、既定のプロバイダーが追加されます。 または、[Advance create] (事前作成) を選択し、ワークスペースの詳細を入力して、プロバイダーを選択します。
詳細については、「Azure Quantum ワークスペースを作成する」を参照してください。
Q# とは
Q# は、量子プログラムを開発および実行するためのオープンソースの量子プログラミング言語です。
量子プログラムとは、従来のサブルーチンに含まれる、呼び出す際に量子システムとやり取りすることによって計算を実行する、特殊なサブルーチンと考えることができます。Q# で記述されたプログラムでは、量子状態を直接モデル化するのではなく、古典的な制御コンピューターが量子ビットとやり取りする方法を記述します。 これにより、各targetマシン上の量子状態に完全に依存せず、マシンによって解釈が異なる場合があります。
Q# は、高度な抽象化を提供するスタンドアロン言語です。 量子状態や回路の概念はありません。代わりに、Q# は、従来のプログラミング言語と同様に、ステートメントと式の観点からプログラムを実装します。 したがって、Q# 言語では、豊富な古典的コンピューティングと量子コンピューティングの統合がサポートされています。
詳細については、「 量子プログラミング言語 Q#」を参照してください。
Q# 量子プログラムを記述するにはどうすればよいですか?
Azure Quantum では、 Azure Quantum Development Kit (モダン QDK) が提供されます。 Modern QDK を使用すると、Q# 量子プログラムの記述、コードのデバッグ、リアルタイムのコード フィードバックの取得、マシンの選択を行 target うことができます。 モダン QDK は、Fault-Tolerant Quantum Computing (FTQC) の準備ができている唯一の開発キットです。
注意
Microsoft Quantum Development Kit (クラシック QDK) は、2024 年 6 月 30 日以降はサポートされなくなります。 既存の QDK 開発者の場合は、量子ソリューションの開発を続けるために、新しい Azure Quantum Development Kit (モダン QDK) に移行することをお勧めします。 詳細については、「 Q# コードをモダン QDK に移行する」を参照してください。
モダン QDK には、Azure Quantum で量子プログラムを実行する 2 つの方法が用意されています。
- オンライン開発: オンライン コード エディターと Visual Studio Code for the Web で量子コードを記述します。
- ローカル開発: Visual Studio Code 用の最新の QDK 拡張機能をインストールし、量子コードをローカルに記述します。 詳細については、「 モダン QDK をインストールする方法」を参照してください。
Q# のサポートに加えて、QDK では量子コンピューティング用の Qiskit と Cirq のサポートが提供されるため、既に他の開発言語で作業している場合は、Azure Quantum で回線を実行することもできます。
注意
Azure Quantum プロバイダーでローカル量子プログラムを実行するには、Azure Quantum ワークスペースが必要です。 詳細については、「Azure Quantum ワークスペースを作成する」を参照してください。
ハイブリッド量子コンピューティングとは
ハイブリッド量子コンピューティングとは、従来のコンピューターと、問題を解決するために連携する量子コンピューターのプロセスとアーキテクチャを指します。 Azure Quantum で使用できる最新世代のハイブリッド量子コンピューティング アーキテクチャを使用すると、従来の命令と量子命令を組み合わせて量子コンピューターのプログラミングを開始できます。
- バッチ量子コンピューティング: 複数の回線を 1 つのジョブにバッチ処理すると、ジョブの送信間の待機がなくなり、複数のジョブをより高速に実行できます。 バッチ量子コンピューティングを利用できる問題の例としては、Shor のアルゴリズムと単純な量子位相推定があります。
- 対話型量子コンピューティング (セッション): ジョブを論理的に 1 つのセッションにグループ化し、非セッション ジョブよりも優先順位を付けることができます。 このアプローチを使用できる問題の例としては、変動量子固有ソルバ (VQE) と量子近似最適化アルゴリズム (QAOA) があります。
- 統合量子コンピューティング: 量子コンピューティングと従来のコンピューティングを統合することで、量子プログラムは単なる回路から離れる可能性があります。 プログラムでは、一般的なプログラミングコンストラクトを使用して、中間回路の測定を実行し、量子ビットを最適化して再利用し、QPU にリアルタイムで適応できるようになりました。 このモデルを利用できるシナリオの例として、アダプティブ フェーズ推定と機械学習があります。
- 分散量子コンピューティング: 分散量子コンピューティング モデルを使用すると、量子リソースと分散リソース間でリアルタイムの計算が可能になります。 このモデルを利用できるシナリオの例としては、複雑な材料モデリングや完全触媒反応の評価があります。
詳細については、「 ハイブリッド量子コンピューティング」を参照してください。
量子コンピューティングでのリソース推定
量子コンピューティングでは、リソースの推定とは、特定のハードウェア特性を想定 (またはパラメーターとして受け取る) 特定のアルゴリズムに必要な量子ビットの数、量子ゲートの数、処理時間など、リソースを理解する機能です。 量子ソリューションに必要な量子ビットの数と量子ビット テクノロジの違いを理解すると、イノベーターは、将来のスケーリングされた量子マシンで実行されるように量子ソリューションを準備および調整し、最終的に量子への影響を加速させることができます。
Azure Quantum Resource Estimator は、スケーリングされた量子フォールト トレラントエラー修正システム専用に設計されており、アーキテクチャ上の決定を評価し、量子ビット テクノロジを比較し、特定の量子アルゴリズムを実行するために必要なリソースを決定できます。 事前に定義されたフォールト トレラント プロトコルから選択し、基になる物理量子ビット モデルの前提条件を指定できます。
Azure Quantum Resource Estimator は、量子ビット パラメーター、量子エラー修正 (QEC) コード、エラー予算、 その他のパラメーター などの一連の入力を考慮して、レイアウト後の物理リソース推定を計算します。 これは入力として (QIR) プログラムをQuantum Intermediate Representation受け取ります。したがって、QIR に変換されるすべての言語がサポートされます。たとえば、Q# と Qiskit で Azure Quantum Resource Estimator を使用できます。
Azure Quantum で使用可能なプロバイダー
Azure Quantum では、業界リーダーから現在入手可能な最も魅力的で多様な量子リソースの一部が提供されます。 現在、Azure Quantum は次のプロバイダーと提携しています。これにより、実際のハードウェアで Q# 量子プログラムを実行でき、シミュレートされた量子コンピューターでコードをテストするオプションが有効になります。
問題の特性とニーズに最適なプロバイダーを選択します。
- IONQ: 最大 11 個の完全に接続された量子ビットに対して動的に再構成可能なトラップイオン量子コンピューター。これにより、任意のペア間で 2 量子ビット ゲートを実行できます。
- PASQAL (プライベート プレビュー): 室温で動作する中性原子ベースの量子プロセッサ。コヒーレンス時間が長く、量子ビット接続が印象的です。
- Quantinuum: 忠実度が高く、完全に接続された量子ビット、低いエラー レート、量子ビットの再利用、中間回路測定を実行する機能を備えたトラップイオン システム。
- Rigetti: Rigetti のシステムには、超電導量子ビットベースの量子プロセッサが搭載されています。 ゲート時間が短く、条件付きロジックの待機時間が短く、プログラムの実行時間が短縮されます。
各プロバイダーの仕様の詳細については、完全な Quantum コンピューティングの一覧をtarget参照してください。
近日公開予定のプロバイダー
- Quantum Circuits, Inc: フルスタックの超電導回路で、エラー訂正を可能にするリアルタイムのフィードバック、エンコードに依存しないエンタングリング ゲートを備えています。
次の手順
Azure Quantum の使用を開始します。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示