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 に参加できます。 また、ブログ、記事、ビデオを通じて専門家や愛好家から学ぶこともできます。
オンライン コード エディターで Q# コード サンプルを試し、 Code with Azure Quantum、クラウド ベースの Quantinuum H シリーズ エミュレーターにジョブを送信するか、オンライン コード エディターで 1 回クリックして、 VS Code for the Web でコードを開き 構成済みの量子環境で作業を続けます。
Azure Quantum Web サイトは 無料 であり、azure アカウント 必要ありません 。 開始するには、Microsoft (MSA) メール アカウントが必要です。 詳細については、「 Explore Azure Quantum」を参照してください。
Azure ポータル
ヒント
初めてのユーザーは自動的に
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)が用意されています。 QDK を使用すると、Q# 量子プログラムの記述、コードのデバッグ、リアルタイムのコード フィードバックの取得、 target コンピューターの選択を行うことができます。 QDK は、フォールト トレラント量子コンピューティング (FTQC) 用の唯一の開発キットです。
QDK には、Azure Quantum で量子プログラムを実行する 2 つの方法が用意されています。
- オンライン開発: オンライン コード エディターおよび web 用 Visual Studio Code で量子コードを記述。
- ローカル開発: Visual Studio Code 用の QDK 拡張機能をインストールし、量子コードをローカルに記述します。 詳細については、「 VS Code への QDK のインストールを参照してください。
Q# のサポートに加えて、QDK では量子コンピューティング用の Qiskit と Cirq のサポートが提供されているため、既に他の開発言語で作業している場合は、Azure Quantum で回線を実行することもできます。
Note
Azure Quantum プロバイダーでローカル量子プログラムを実行するには、Azure Quantum ワークスペースが必要です。 詳細については、「Azure Quantum ワークスペースを作成する」を参照してください。
ハイブリッド量子コンピューティングとは
ハイブリッド量子コンピューティングとは、従来のコンピューターと量子コンピューターが連携して問題を解決するためのプロセスとアーキテクチャを指します。 Azure Quantum で使用できる最新世代のハイブリッド量子コンピューティング アーキテクチャを使用すると、従来の命令と量子命令を混在させることで、量子コンピューターのプログラミングを開始できます。
- バッチ量子コンピューティング: 複数の回線を 1 つのジョブにバッチ処理すると、ジョブの送信間の待機がなくなり、複数のジョブをより高速に実行できます。 バッチ量子コンピューティングを利用できる問題の例としては、Shor のアルゴリズムと単純な量子位相推定があります。
- 対話型量子コンピューティング (セッション): ジョブを論理的に 1 つのセッションにグループ化し、セッション以外のジョブよりも優先順位を付けることができます。 このアプローチを使用できる問題の例としては、変動量子固有ソルバ (VQE) と量子近似最適化アルゴリズム (QAOA) があります。
- 統合量子コンピューティング: 量子コンピューティングとクラシック コンピューティングを統合することで、量子プログラムは単なる回路から離れる可能性があります。 プログラムでは、一般的なプログラミングコンストラクトを使用して、中間回路の測定を実行し、量子ビットを最適化して再利用し、QPU にリアルタイムで適応できるようになりました。 このモデルを利用できるシナリオの例として、アダプティブ フェーズ推定と機械学習があります。
- 分散量子コンピューティング: 分散量子コンピューティング モデルを使用すると、量子リソースと分散リソース間でリアルタイムの計算が可能になります。 このモデルを利用できるシナリオの例としては、複雑な材料モデリングや完全触媒反応の評価があります。
詳細については、「 Hybrid 量子コンピューティングを参照してください。
量子コンピューティングでのリソース推定
量子コンピューティングでは、リソースの推定とは、特定のハードウェア特性を想定 (またはパラメーターとして取得) して、特定のアルゴリズムに必要な量子ビットの数、量子ゲートの数、処理時間など、リソースを理解する能力です。 量子ソリューションに必要な量子ビットの数と量子ビット テクノロジの違いを理解すると、イノベーターは、将来のスケーリングされた量子マシンで実行するために量子ソリューションを準備および調整し、最終的に量子への影響を加速することができます。
Azure Quantum Resource Estimator は、スケーリングされた量子フォールト トレラントなエラー修正システム専用に設計されており、アーキテクチャの決定を評価し、量子ビット テクノロジを比較し、特定の量子アルゴリズムを実行するために必要なリソースを決定できます。 事前に定義されたフォールト トレラント プロトコルから選択し、基になる物理量子ビット モデルの前提条件を指定できます。
Azure Quantum Resource Estimator は、量子ビット パラメーター、量子エラー修正 (QEC) コード、エラー予算、その他のパラメーターなどの一連の入力を考慮して、レイアウト後の物理リソース推定 計算します。 Quantum Intermediate Representation (QIR) プログラムを入力として受け取るため、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 を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示