2022年度 立教大学大学院 人工知能科学研究科 量子情報特論
今年度の量子情報特論では、全14回の授業のうち、3回を Amazon Web Services (AWS) が担当します。 2022/10/14 の座学に引き続き、Amazon Braket を用いた演習 (ハンズオン) を2回に分けて実施するので、そのハンズオンの内容について以下にまとめます。
この授業では、演習の時のみ利用可能な AWS アカウントを発行し、AWS の量子コンピューティングサービスである Amazon Braket を用いて Python で量子コンピューティングのプログラミングを体験します。Amazon Braket を利用するための日本語コンテンツは GitHub に公開しています。
- Event Engine 経由で AWS マネージメントコンソールにログインします [YouTube]
- 大学ドメインのメールアドレスで認証を行なって下さい。
- Event Hash は当日共有します。
- Braket ノートブックインスタンス作成 [YouTube]
- 作成時、
Git repository — optional
の項目からClone a public git repository from url
を選択し、https://github.com/aws-samples/amazon-braket-examples-jp.git
を貼り付けて下さい。自動で日本語サンプルリポジトリがクローンされます (忘れたら後でgit clone
も可能)。 - ノートブックインスタンス作成には数分 (5分ほど) かかります。待ち時間の間に Braket で利用可能なデバイス (Simulator/QPU) について解説します。
- 作成時、
- ノートブックインスタンスの作成が完了したら、
amazon-braket-examples-jp / workshop
を開いてください。以降 Jupyter Notebook を使って順に説明していきます。
- このノートブックではベル状態の生成を Amazon Braket Python SDK を用いて行うことで、Braket の基本的な使い方について解説します。
Circuit
による量子回路・ゲートの記述、Braket Local Simulator による計算方法について理解し、Simulator のshots
パラメータによる測定結果と計算時間の比較を行います。
- このノートブックでは GHZ 状態を、上記 Local Simulator とオンデマンドな State Vector シミュレータ (SV1) で計算し、その使い分けについて解説します。
- また、ノートブックを少し書き換えて、Oxford Quantum Circuit (OQC) の Lucy を使った QPU 実機での計算を行います [script]。
- Lucy は現在日本時間の 6-9pm で利用可能で、8量子ビットまでの回路が実行できます。量子ビットのトポロジーや実機のノイズについて実際の計算を通して体験し、QPU 利用のポイントを理解します。
- このノートブックでは Grover のアルゴリズムの概要について解説し、オンデマンドシミュレータ SV1 を用いて実際にアルゴリズムを実行します。
- 量子オラクルと振幅増幅の繰り返しにより解探索を行う手順と、3量子ビットの例で実際のオラクルの構築 (Braket SDK でのカスタム CCZ ゲートの定義) 方法について説明します。Quantum Amplitude Amplification のノートブックも紹介します。
はじめに、前回同様に Braket ノートブックインスタンスの環境準備を行なってください。ハンズオン後半では、amazon-braket-examples-jp / workshop / pennylane
以下にある PennyLane のノートブックと、英語の Braket examples
を用います。
- このノートブックでは、量子・古典ハイブリッドアルゴリズム (変分量子アルゴリズム) を記述するのに便利なオープンソースのライブラリ PennyLane の使い方について説明します。また、量子機械学習の PennyLane 実装 についてもいくつか紹介します。
- Quantum Approximate Optimization Algorithm (QAOA) による組合せ最適化問題の求解について解説します。具体的には、グラフの最大クリーク問題と最大カット問題を取り上げます。
- Variational Quantum Eigensolver (VQE) を用いた水素分子の基底エネルギー計算を例に、量子コンピュータの量子化学計算への応用について解説します。
もし時間が余れば、以下のノートブックについても紹介します:
- オンデマンド Tensor Network シミュレータ (TN1)
- オンデマンド Density Matrix シミュレータ (DM1) とノイズモデル
- NVIDIA cuQuantum で高速化された PennyLane Lightning
lightning.gpu
による GPU シミュレーション - Qiskit provider for Amazon Braket [ブログ]
- Jupyter の Home で、
New > Terminal
を選択- その中 (Terminal 画面) で、以下のコマンドを打つ
cd SageMaker/
git clone https://github.com/qiskit-community/qiskit-braket-provider.git
- Jupyter の Home (ファイルブラウザ) に戻り、Notebook:
qiskit-braket-provider > docs > tutorials > 0_tutorial_qiskit-braket-provider_overview.ipynb
を開く