2021-06-18
- AWS と Amazon Braket について (30 min)
- ログイン・セットアップ (10 min)
- Amazon Braket のデモ (5 min)
- Amazon Braket SDK を使った量子回路の扱い方
- 0_Getting_started.ipynb (10 min)
- 1_Running_quantum_circuits_on_simulators.ipynb (15 min)
- PennyLane を使った量子機械学習導入 (勾配法)
- 0_Getting_started.ipynb (10 min)
- 1_Parallelized_optimization_of_quantum_circuits.ipynb (10 min)
対応しているブラウザは「AWS マネジメントコンソールでサポートされているブラウザはどれですか?」を確認して下さい。
以下の3つの情報が事前に配布されます。
- ログイン URL
- https://XXXXXXXXXXXX.signin.aws.amazon.com/console (XXXXXXXXXXXX は AWS Account ID (12桁の数字))
- IAM ユーザー名
- WorkshopUser-i (i = 0, ..., 29)
- パスワード
- ランダム文字列
ログイン URL を開き、ユーザー名とパスワードを入力して「サインイン」ボタンを押します。初回ログイン時にはパスワードリセットが求められます。来週も必要になるので忘れないよう記憶しておいて下さい。 忘れた場合は管理者に連絡して下さい。
リージョンは、US の2つを利用します。参加者ごとの割り振りは以下です。ログイン後にこのリンクを開くと Amazon Braket のページに移動します。
- WorkshopUser-i (i = 0, ..., 14) -> North Virginia (
us-east-1
) - WorkshopUser-i (i = 15, ..., 29) -> Oregon (
us-west-2
)
Devices ページでは Amazon Braket で利用可能な Quantum Processing Units (QPUs), シミュレータ一覧が見れます。それぞれの詳細をクリックすると、トポロジーやキャリブレーションの情報が確認できます。
Notebooks ページを開き、作業環境となる Amazon Braket Notebook を作成します。
Notebook 作成手順:
- 右上の
Create notebook instance
ボタンを押す。 - "Notebook instance settings" > "Notebook instance name" に amazon-braket- workshop-<名前> (e.g. amazon-braket- workshop-hariby) と入力。
- "Permissions and encryption" > "Existing IAM role" で
AmazonBraketServiceSageMakerNotebookRole-ForBraketWorkshop
を選択。 - 右下の
Create notebook instance
ボタンを押して数分待つ。
マネージドシミュレータや QPU で計算を実行する際は、結果の保存先 (Amazon S3 のバケット名と prefix) を指定する必要があります。バケット名は事前に配布されたものを指定して下さい。プレフィックスは任意ですが、自分の名前を付けておくと後々探しやすいので便利です:
- バケット名 (
my_bucket
)amazon-braket-XXXXXXXX
- プレフィックス (
my_prefix
)- "自分の名前/それぞれのノートブック" が分かるように付けておくと後で識別しやすい (例:
hariby/getting-started/1
,hariby/pennylane/0
,hariby/pennylane/1
)
- "自分の名前/それぞれのノートブック" が分かるように付けておくと後で識別しやすい (例:
それを Jupyter Notebook 上で以下のように記述します:
my_bucket = "amazon-braket-XXXXXXXX
my_prefix = "hariby/getting-started/1"
s3_folder = (my_bucket, my_prefix)
それぞれの Jupyter Notebook を使って説明します。
- 0_Getting_started.ipynb (10 min)
- 1_Running_quantum_circuits_on_simulators.ipynb (15 min)
- 参考: Result types
PennyLane は量子コンピュータの微分可能プログラミングのための Python ライブラリです。
- 0_Getting_started.ipynb (10 min)
- 1_Parallelized_optimization_of_quantum_circuits.ipynb (10 min)
AWS マネージメントコンソールに戻り、Notebook インスタンスを選び、右上の Actions > Stop を押して、Status が Stopped
にした状態で来週の講義まで置いておいて下さい。
(補足説明)
もう少し自分で試したい方は、他の example を試した上で Stopped
にしてください。来週の講義が始まる5分ほど前に、Actions > Start
を選び InService
にしておくとスムーズに実機での実行が開始できます。
Amazon Braket の料金 は、 Notebook, Simulator, QPU それぞれで設定されています。
Notebook に関しては、裏で使われている Amazon SageMaker Notebook の料金に従います。デフォルトだと ml.t3.medium
(2 vCPU, 4 GiB Memory) のインスタンスで立ち上がり、単価は $0.05 / hour です (これが実際に立ち上げた秒数ぶん AWS アカウントに請求されます)。
シミュレーションは、SV1, DM1, TN1 それぞれ $0.075 / minute, $0.075 / minute, $0.275 / minute で、これも秒課金で請求されます。
QPU ハードウェアは、それぞれの QPU family ごとに値段が決まっています。1回の計算 (量子回路) を投げるごとにかかる Per-task price と、その中で何回測定するかで決まる Per-shot price の和が実際の料金になります。
Hardware Provider | QPU family | Per-task price | Per-shot price |
---|---|---|---|
D-Wave | 2000Q / Advantage | $0.30000 | $0.00019 |
IonQ | IonQ device | $0.30000 | $0.01000 |
Rigetti | Aspen-9 | $0.30000 | $0.00035 |
例: Rigetti Aspen-9 で 1000 shot のタスクをひとつ投げると、0.3 + 1000 * 0.00035 = $0.65 かかります。