【レポート】「今日からはじめる量子コンピュータ開発」Amazon Braket ハンズオンワークショップ #AWSDevDay

2020.11.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS事業本部の梶原@福岡オフィスです。 2020年10月20日〜22日に行われたAWS DevDay 2020 のセッション「「今日からはじめる量子コンピュータ開発」Amazon Braket ハンズオンワークショップ」を受講しましたので、レポートをお届けします。
座学部分(前半)のレポートになります。

AWS Dev Day Online Japan 「オンデマンド」のサイトが公開されご登録後、ワークショップのページで、動画、資料の閲覧が可能です https://pages.awscloud.com/AWSDevDayOnDemandJapan_01.LandingPage.html

セッション情報

https://aws.amazon.com/jp/about-aws/events/2020/devday/sessions/?aws-devdays-japan-cards.sort-by=item.additionalFields.sortOrder&aws-devdays-japan-cards.sort-order=asc

スピーカー

宇都宮 聖子 (アマゾン ウェブ サービス ジャパン株式会社)

アマゾン ウェブ サービス ジャパン株式会社 Sr. ML Solution Architect。機械学習と量子コンピュータのワークロードをサポートさせていただいています。好きなサービスは Amazon SageMaker と Amazon Braket。(Twitter: @shokout ) 2003年〜2017年 国立情報学研究所にて、光半導体物性を用いた量子コンピュータ・量子情報研究に従事。

概要

一人でイチからスタートするには非常にハードルが高い量子コンピュータですが、Amazon Braket を使って、誰でも量子コンピュータにアクセスすることができるようになりました!Amazon Braket Python SDK を使うと、簡単に量子コンピュータのコーディングをスタートできます。 Amazon Braketでは、ユニバーサル量子計算として “Rigetti” と “IonQ”、量子アニーリングとして “D-Wave”を提供しています。ワークショップでは Braket で提供される量子コンピュータのシミュレータを使い、量子コンピュータ開発の考え方と、Amazon Braket Python SDK を使った量子コンピューティングのコーディングを体験いただきます。

資料

AWS Dev Day Online Japan 「オンデマンド」のサイトよりご登録後、動画、資料が閲覧可能です https://pages.awscloud.com/AWSDevDayOnDemandJapan_01.LandingPage.html

レポート

アジェンダ

  • 自己紹介
  • 量子コンピュータについて
  • Amazon Braketについて
  • Amazon Braket ハンズオン

自己紹介

  • AWSで機械学習のワークロードをサポート中
  • Amazon Braketがリリースされ、量子コンピュータも担当することになった
  • もともと、量子コンピュータ、量子情報を専門としていて、前職国立情報学研究所にて15年ほど量子コンピュータの研究をしていた
  • ここ最近また、量子コンピュータブームがやってきて、ホットになってきて、いま量子コンピュータ界隈に戻ってきたと感じている

量子コンピュータについて

20世紀の量子技術

  • 量子力学はすでに生活のさまざまなところで量子力学はつかわれている
    • MRI
    • レーザー
    • トランジスタ
  • 物理系を計算機でシミュレートする際に一番優れている物は量子コンピュータだということを提唱
    • リチャードファインマン
  • 量子コンピュータ
    • 超電子量子ビット
      • 人口電子
    • イオントラップ
      • 精度がよく計算できる
    • リュードベリ原子
    • シリコンフォトニクス
    • ノイズに対して敏感、商用化のハードルはたかいと思われていた。
    • ここ最近、急激に商業化がすすんで、AWSで提供可能になってきた
  • 様々な量子デバイスを使った量子コンピュータ

    • こちらは実際にAWSのBraketで提供している量子コンピュータ
    • D-Wave
      • 超伝導素子
      • 量子アニーリング
    • IONQ
      • 一次元にトラップされたイオンがならんでいる量子回路
    • rigetti
      • IONQ同等に超電導電子をつかったもの
  • Noisy Intermediate-Scale Quantum - 横軸は量子コンピュータを構成する量子ビットの数

    • 縦軸はエラーレートで量子ビットがどれくらい正確に操作できるかの性能を表すもの
    • 右に行けば行くほど量子ビットの数が増えていき
    • 下に行けば行くほどエラーレートが低くなり正確なコンピュータ
    • 量子コンピュータは実際に使いものになるのかならないのか?
    • 量子ビットが比較的すくないときはうまみがない
      • 今までは基礎研究の段階だった
    • 100k量子ビットを超え始めると活用可能になってくると言われている
      • 量子回路は壊れやすいので、誤り訂正が十分できるようになると力が発揮できる。
    • 今はNISQ時代
      • なにかしら有用なアプリケーションがあるのではないか?
    • 50量子ビットから100量子ビットがつかえるようになると有用な計算ができるようになるのではないか?
      • ジョーンプレスキル氏(AWSにJOIN)
  • NISQ時代で期待されていること
    • 量子コンピュータが得意な計算と、CPU(GPU)で特異な計算をハイブリッドで使っていく
    • AWS Braketを使って、量子ビットと古典計算機のハイブリッドに活用していしていくことに期待をしている
  • 量子コンピュータ どんな分野に応用できる?
    • すぐにこの分野に適用できるということではないが、期待されている分野として
      • 交通系
      • レコメンデーション
      • 人材配置
      • HPCが得意とする分野
    • まだまだ、研究開発段階、試行錯誤するための環境が必要
    • Amazon Braketはすべての科学者、研究者が簡単につかえるような環境を提供する

Amazon Braketについて

Amazon Braket

  • 数クリックで量子コンピュータの開発環境を立ち上げることができる
  • テスト環境も準備している
  • 実際の量子回路にセキュアにアクセス可能
  • ショット単位で課金されるのでスモールスタート可能
  • 高価な量子コンピュータも使用可能
  • AWSを介すことで、CPU(GPU)とのハイブリッド計算も可能
  • Managed Jupyter Lab環境を提供する

Amazon Braketによるマネージドな量子計算

  • AWSにログインし、もしくはローカルの環境からAmazon BraketにAPIでアクセス可能
  • 量子回路にアクセスして、計算させるためには、Amazon Braket SDK(BOTO3)を使用してアクセスする
  • 結果はS3に保存される(トレーサビリティあり)
  • 実行時のメトリクスなどはCloudWatchに出力される
  • これらの環境はマネージドサービスを使用することで、ユーザ側で作成する必要なくすぐに実行可能
  • 対象のQPUはデバイス名を書き換えるだけで使用可能

  • QPU, CPU,GPUの繰り返し計算によるQML,VQE

    • 日本のコンピュータからUSの量子コンピュータにアクセスするような場合、ネットワーク遅延が発生する
    • 近くのリージョンのEC2を使用することで、効率のよい量子計算ができないかと考えているところ

  • 量子コンピュータは現在2種類の量子コンピュータが提供されている
  • ユニバーサルゲートモデル
    • イオントラップ
    • rigetti(超電導)31qbits
      • 結合は限定的
    • IONQ 11qubits
      • 完全結合
  • 量子アニーリング
    • D-Wave 2048qbits
    • D-Wage アドバンテージ5760qbists
      • 先日リリースされ、公開当日からAWS Braketで使えるようになった
  • 現在4種類のハードウェアにアクセスすることができる
  • 古典シミュレータ
    • jupter labでうごくローカルシミュレータ
    • SV1
  • 古典シミュレータ(マーケットプレイス)
    • QUBO Solver(30,000node)
    • Simulated Bifucation Machine(10,000node)

Amazon Braket Python SDK

  • Amazon BraketもPythonのSDKを提供している
  • 通常Rigetti, IonQ の特徴を理解してそれぞれのインターフェイスを理解しないといけないところですが、固有の試用をできるだけ排除してAmazon Braketで共通した言語でアクセス可能
  • 量子アニーリング(D-Wave)はD-Wage社が提供しているオーシャンSDKをブラケット経由で使えるようになっている

Rigetti / IonQ / D-Wave / SV1 について

  • デバイスにもシミュレータを提供している
  • 実際のデバイスとローカルシミュレータを切り替えることができ、基本的な量子演算のプログラミングは共通して使用できることが特徴となっている

料金体系

  • 量子コンピュータ
    • タスク単位、ショット単位での課金体系
  • シミュレータ
    • 時間課金
  • 実際に量子演算をおこなっていく際は1,000~10,000のオーダーでショットを行うことがあり、1回の単位で数ドル、数10ドルとなるような計算もでてくる
  • 最初のコーディング、デバッグのフェーズではシミュレータを効果的につかっていただいてから、実際の実機に移っていただくという流れをお勧めする

AWS Quantum Solutions Labs

  • プロフェッショナルチームが量子コンピュータで解けるかどうか有料コンサルティングを提供
  • 最先端のソフトとハードの両面で開発を加速している

量子コンピュータの開発パートナー

- 量子コンピュータに特化したソリューションをもっているオフィシャルパートナー - 日本の企業ですと、Qunasysさん, blueqatさんの2社

参照情報(Reference)

Amazon Braket ハンズオン

引き続き、ハンズオンでは資料に沿って、Amazon Braketのハンズオンを実施する形式でした。 ハンズオン資料については、AWS Dev Day Online Japan 「オンデマンド」のサイト をご参考ください

感想

受講する前は量子コンピュータの知識は0で、最初は必殺技としか思えない単語ばかりで、シュレディンガーの猫しか知っている単語はなかったのですが、座学とワークショップを通して、0から1へ、1からその先へ、いや、量子学的には0か1かわからない状態には進めたかと思います。
ワークショップの内容は各量子コンピュータ(Amazon Braket)を使用し、量子コンピュータがどのような可能性があるのかがわかるハンズオンでした。旧来のコンピュータの場合は指数的に計算量が増えるのにもかかわらず、同じ計算を量子コンピュータで実施した場合は計算量は線形になること。Amazon Braketを使用して簡単に量子状態(計算)をつくりだせ、実施できることなど、オッ、っと思うことが多かったです。
量子学自体がとても難しい印象がありますが、AWSで手軽にマネージドサービスで研究できる環境がさくっと作れるところはとても有用だなと思いました。
話がとんでしまいますが、ときおりハンズオンの最中に猫の声が聞こえた気がしましたが、実際にいるかどうかはわからず。この状態を表すことができるのか!とこそっと思ってました。

参考情報

レポートまた、意味の分からない用語などは以下のサイトを参考に調査しました。

AKIBA.AWS 第15回で「Amazon Braketのすごさを知ろう~量子コンピュータことはじめ~」について話しました #akibaaws