量子コンピュータ・システムの作り方

7K Views

February 27, 25

スライド概要

量子コンピュータは新しい計算技術として注目され、世界中で研究開発が進められています。しかし現状では、「コンピュータ」というよりも「実験装置」に近い存在であり、OSもなく、標準的なレイヤ化も確立されていません。ITシステムとして安定運用するためには、従来コンピュータが発展してきた経緯や設計思想を踏まえ、数多くの課題を解決する必要があります。

本セミナーでは、量子コンピュータの概要を簡単に紹介した後、実用的な量子コンピュータを安定的に運用するために必要な研究開発について解説します。また、大阪大学が進める量子コンピュータのクラウドサービス運用事例や、多数のソフトウェアをオープンソース化する取り組みについてもご紹介します。大阪大学では「量子コンピュータのLinux」を目指して活動を展開しており、その実態や挑戦を通じて、新しい計算技術をITシステム化する面白さをお伝えします。

(これは、オープンソースカンファレンス2025 Tokyo/Springでのセミナー資料です https://event.ospn.jp/osc2025-spring/session/2012996)

profile-image

大阪大学量子情報・量子生命研究センター Quantum Computer(QC) programmer/system software for QC/developing QC clouds 実用的な量子コンピュータを実現するため、ソフトウェアを開発しています。量子コンピュータ・クラウドの中の人。 量子コンピュータの面白さを多くの人に広めたいと思い、量子コンピュータの入門書、入門記事等を書いています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

【オープンソースカンファレンス2025 Tokyo/Spring】 量子コンピュータ・システムの作り方 2025/02/21(金) 大阪大学 量子情報・量子生命研究センター(QIQB) 特任研究員 束野 仁政(つかの さとゆき) 1

2.

自己紹介 つかの さとゆき @snuffkin 量子クラウドの中の人 ◆量子コンピュータ・エンジニア • ソフトウェア開発会社を経て、 大阪大学量子情報・量子生命研究センター(QIQB) 特任研究員 • 量子コンピュータのシステムソフトウェアに関する研究・開発・運用 ◆量子コンピュータの面白さを広める活動 ➢「ラズパイ電子工作&光の実験で理解する量子コンピュータ」 (CQ出版社・共著) ➢「量子コンピュータの頭の中」(技術評論社) ➢ ビジネス書でも専門書でもない。難しい量子力学は無しで、 計算したりプログラミングしたり、手を動かして理解する入門書 ➢ 数式で理解する量子コンピュータの本で一番簡単だと思います ➢ 大学1年生の輪講でも使われていて、好評のようです ➢ 384ページ。図が180個くらい。 書泉グランデ 数学書 年間ベスト4 2

3.

私が量子コンピュータを開発している理由 • 従来コンピュータが発展し、生活を変えていく様子を見て育った • そういう変化を、今度は自分たちが作りたい ↓ • 量子コンピュータの発展に内側から貢献したい 3

4.

本日お話する内容 • ITシステムの目線で見た量子コンピュータの話 • 量子力学や実験装置(物理デバイス)話は、ほぼ登場しません • 目次 1. 量子コンピュータの歴史と量子コンピュータ概要 2. 量子クラウドの歴史 3. 現在の量子クラウド 4. 量子コンピュータ・システムの内側 5. まとめ 4

5.

量子コンピュータの歴史と 量子コンピュータ概要 5

6.

量子ンピュータの歴史 • 1980年代にファインマン等により提唱 • 2010年代後半から、各国で研究が活発化 • 2019年 Googleが特定の計算でスパコンより高速化(当時) • 特定の計算の高速化が期待されており、開発中 (実用化はまだ先) ファインマン スパコンで1万年の 計算を200秒で解いた (実用性のない問題) “Quantum supremacy using a programmable superconducting processor”(2019) https://www.nature.com/articles/s41586-019-1666-5 6

7.

量子コンピュータとは? • 量子力学の性質を利用して、高速に計算を行うコンピュータ • 量子重ね合わせや量子もつれを利用して計算を行う 線形代数の言葉で標語的に表現すると、 • (特定の)ユニタリ行列のかけ算を高速に行える • 𝑛量子ビットは、2𝑛 次元ベクトルを表現できる • 量子ビットに対して、扱えるベクトルのサイズが指数的に大きい • 従来コンピュータで𝑚 × 𝑚行列のかけ算の計算量はO(𝑚2.37 )くらい 高速なアルゴリズムを発見できた計算が高速になる • あらゆる計算が高速になるわけではない • スパコンなど、従来コンピュータとは共存 7

8.

量子コンピュータの計算 • 0と1ではなく、球面の点で表す(1量子ビットの場合) • |0ۧと|1ۧと表記する。| ۧをケット記号と呼ぶ ➢1量子ビットに多くの情報を詰め込める 量子力学による計算ルール • 球面上のどこにいるか、直接わからない • 測定する(見る)と、|0ۧか|1ۧに変化する ➢測定するまでは、|0ۧか|1ۧか決まらない • どちらに変化するか、確率的に決まる ➢|0ۧに変化する確率 = (1 + 𝑧)/2 ➢|1ۧに変化する確率 = (1 − 𝑧)/2 半径1の球面 (ブロッホ球) 測定 測定 8

9.

量子コンピュータの計算 • 球面上を回転させて計算する Xゲート X軸で180°回転 Yゲート Y軸で180°回転 Zゲート Z軸で180°回転 9

10.

量子コンピュータの計算 • 重ね合わせ • |0ۧでも|1ۧでもない状態(重ね合わせた状態) • 右の図の座標は(1,0,0) • 𝑧 = 0なので次のようになる ➢|0ۧに変化する確率 = (1 + 𝑧)/2 = 1/2 ➢|1ۧに変化する確率 = (1 − 𝑧)/2 = 1/2 • 測定するまで、|0ۧか|1ۧか決まらない 測定するたびに結果が変わる →従来コンピュータと異なる計算ルール • 測定して得られる値は1個(並列計算と異なる) シュレディンガーの猫 10

11.

量子コンピュータの計算 • 量子もつれ • 量子ビット同士が相関する • 量子コンピュータの計算で よく利用される • 2022年ノーベル物理学賞の 受賞テーマは量子もつれの研究 離れた量子同士が 相関する アスペ クラウザー ツァイリンガー • 量子複製不可能定理 • 「任意の量子状態を複製する」 ような操作は存在しない →計算途中でバックアップできない 11

12.

量子クラウドの歴史 12

13.

量子コンピュータのクラウド化 • 実験装置からITシステムへ • 2016年 IBMが量子コンピュータをクラウド公開 • 公開した頃の様子がIBMのブログで紹介されている https://research.ibm.com/blog/quantum-five-years • 当時は5量子ビット。現在は156量子ビットの実機が一般利用可能 • Qiskit(量子ブログラミング・ライブラリ)はなく、GUIから利用していた 2016年当時の画面 • クラウド化の効果 https://wired.jp/2016/05/09/ibm-letting-anyone-playquantum-computer/ • クラウド化する以前は、実験の研究者しか 扱えなかった • 誰でもいつでもどこからでも、利用可能 • 理論の研究者だけでなく、一般の方も 13

14.

クラウド化により、参入者が増加 • 2019年 AWSがAmazon Braketを開始 https://aws.amazon.com/jp/blogs/news/amazon-braket-get-started-with-quantum-computing/ • 2020年 MicrosoftがAzure Quantumを開始 https://cloudblogs.microsoft.com/quantum/2020/05/19/azure-quantum-preview-new-developer-training-learning-tools/ クラウド公開されている実機(一部) 超伝導 イオン トラップ 中性原子 光 ※SpinQはNMR方式の実機も公開している 14

15.

日本の量子コンピュータ地図(~2025年予定) ロゴは開発した機関 共同研究の場合は先頭の機関のロゴを記載 凡例 導入機関(場所) 方式 理研(埼玉県和光市) 超伝導,光,イオン 産総研(茨城県つくば市) 中性原子,超伝導,光 大阪大(大阪府豊中市) 超伝導 OQC(東京都江東区) 超伝導 理研(兵庫県神戸市) 超伝導 東京大(神奈川県川崎市) 超伝導 15

16.

現在の量子クラウド 16

17.

クラウド公開されていた最大の量子コンピュータ(IBM) ◆IBMが433量子ビットの超伝導量子コンピュータを公開(2023年5月) • 利用するには特別な契約が必要 • 2025年2月時点では、非公開 2016年当時の実機(5量子ビット)は 今は公開されていない 紫色の箇所は、実行精度が低い箇所 利用者やトランスパイラは精度の高い箇所を選べる 紫色(19量子ビットある)はエラー率が1のため、 動作していないと思われる(2023年8月時点) 1000量子ビット級のハードや、3次元チップの ハードが出てきたら表現に工夫が必要 17

18.

実際、何量子ビットが利用できているか? 世界初の大規模な 量子コンピュータ実機利用調査 実機利用論文のarXivへの投稿数 Current numbers of qubits and their uses. Nat. Rev. Phys. (2024) arXiv:2307.16130 2022年12月のarXivで利用された量子ビット数 • 平均値 10.5 • 中央値 6 実機利用論文の量子ビット数 データベースも公開しています https://fujiilabcollaboration.github.io/qc_survey_site/ 18

19.

量子コンピュータの現状 現在の量子コンピュータは ライト兄弟の初飛行に たとえられるような段階 Scott’s Supreme Quantum Supremacy FAQ! https://www.scottaaronson.com/blog/?p=4317 大勢乗せる(大量の量子ビットを扱う) 安全に飛ぶ(正確に計算する) 長時間飛ぶ(長時間計算する) 19

20.

量子コンピュータ・システムの内側 20

21.

阪大の超伝導量子コンピュータ 制御装置がマイクロ波を送受信 希釈冷凍機 (円筒状) 希釈冷凍機の中身 64量子ビットのチップ 提供:理化学研究所 熱雑音を防ぐためチップ周辺は ほぼ絶対零度(10mK) • 環境の影響を受けやすい →けれど、制御したり測定したい • 大きな計算は量子誤り訂正が必要 • 計算以外もスケールする必要あり 21

22.

従来コンピュータのハードウェア、ソウトウェア ◆様々な構成要素から成り立っている • CPU • GPU • バス • メモリ • SSD • HDD • ファン • 電源 • … マザーボード • アプリケーション • アルゴリズム • プログラミング言語 • コンパイラ • 機械語 • 命令セット • ミドルウェア、OS • … CPUとアルゴリズムだけでは、コンピュータは動かない 構築・システムソフトウェア・運用などの技術も必要 スーパーコンピュータ「富岳」は16万台のコンピュータが協調動作する 日々どこかが壊れるが、システムとしては計算できる(耐障害性) 22

23.

阪大量子クラウド(2023年12月) オープンソース化を進めている OQTOPUS → https://github.com/oqtopus-team ユーザやジョブを管理 フロントエンド層 クラウド層 マイクロ波の 波形生成 ユーザが量子プログラミング OSSにするのが一般的 プログラミング バックエンド層 ユーザ認証 ジョブ管理 スケジューリング トランスパイル マイクロ波信号 波形生成 マイクロ波信号 送受信 計算処理 クラウドサーバ エッジサーバ measurement tool 制御装置 量子チップ ouqu-tp qmt server ユーザ QURI Parts riqu OpenQASM3形式 →IBM,AWSなどが策定 凡 例 まだ標準規格が無い 従来の技術が活躍 超伝導量子回路で 計算を実行 量子チップ固有の命令に変換 インターネット通信 量子回路の最適化, etc. ローカル通信 マイクロ波の 送受信, FPGA 23

24.

【量子コンピュータ・システムの内側】 フロントエンド層 24

25.

フロントエンド層のライブラリ Pythonで量子プログラミング • 量子回路ライブラリはPythonが多いため、学習コストが低い • 科学計算ライブラリ(NumPy,SciPy)が整備されている フロントエンド・ライブラリとして、まずQURI Partsをサポート https://resou.osaka-u.ac.jp/ja/research/2023/20231220_1 より Pythonプログラムそのものはクラウドに送信せず、 OpenQASM 3(のサブセット)を送信する(QURI Parts riqu) HTTP通信なので、CLIからも量子回路を実行できる 25

26.

Webブラウザでシミュレーション、実機アクセス Qulacs Simulator https://qulacs-gui.github.io/qulacs-simulator/ • ドラッグ&ドロップで 量子回路を作成し、 シミュレーション可能 • アカウントがあれば 実機でも実行できる 26

27.

【量子コンピュータ・システムの内側】 クラウド層 27

28.

クラウド層の設計 標準的なクラウド開発スキル • サーバレス・アーキテクチャを採用 • 開発者はサーバ管理せずに済む • リソースを柔軟に確保 • スケールしやすい設計 →ユーザアクセスの 負荷はクラウド層で受け止める • FastAPI on AWS Lambda • AWSへのデプロイはTerraformを利用 • インタフェース仕様は標準的な技術を利用 URLの例 • URL設計はRESTful APIを採用 • インタフェース仕様はOpenAPIフォーマットで記述 • 量子回路のフォーマットはOpenQASM 3(のサブセット) 28

29.

Web画面(ジョブ一覧、APIドキュメント) ジョブ一覧 • 簡単な絞り込み機能 • ジョブのキャンセル、 削除 標準的なフロントエンド開発スキル APIドキュメント • APIトークンの発行 • APIの確認 (curlコマンドなど) 29

30.

Web画面(ジョブ詳細) ジョブIDや実行結果など ジョブの情報を参照する 説明は省きますが、システム 管理者向けの画面もあります 30

31.

【量子コンピュータ・システムの内側】 バックエンド層 31

32.

バックエンド層の機能 アルゴリズムのスキル トランスパイラ • ユーザが実装した量子回路のゲートを 量子デバイスがサポートするゲートに変換 変換 hは未サポート rz,sx,rzに変換 • 量子プログラムの量子ビット(virtual qubit)を量子デバイスの量子ビット (physical qubit)にマッピングする。量子ビット間の接続性を考慮 ➢ 最適なマッピングを求めるのはNP困難問題 ➢ ノイズの少ない場所を使いたい virtual qubit physical qubit • 短い量子回路に変換 変換 32

33.

【量子コンピュータ・システムの内側】 運用 33

34.

QCOps(これからの機能) • 開発(Dev)と運用(Ops)が協調してシステムを発展させてくことが重要 • そのための文化、グッドプラクティス、ツールなどがDevOps • 機械学習システムではMLOpsと呼ばれている • 同様に、量子コンピュータ・システムではQCOpsを確立する必要がある オブザーバビリティ(可観測性) • 元々は制御理論の用語 • ITでは「システムの状態を把握する能力」 と捉えて、システム運用に必要な 概念として重要視されつつある 成熟度を上げていく必要あり https://speakerdeck.com/newrelic2023/20230523-findy-newrelic-o11y1 34

35.

オブザーバビリティに必要な情報の収集 metric(CPU使用率、メモリ使用率等) log(プロセスをまたいで参照・検索可能) 35

36.

オブザーバビリティに必要な情報の収集 trace(機能ごとの処理時間を把握) このページは未来像です まだ実現していません service map(機能ごとのエラー率などを把握) https://www.elastic.co/guide/en/kibana/current/service-maps.html https://www.elastic.co/guide/en/kibana/current/spans.html 36

37.

オブザーバビリティや データ分析のスキルが重要 オブザーバビリティに必要な情報の収集 分析用データの収集 デバイスの情報を可視化 • ジョブ件数(Success,Failure,Cancelled) • ジョブ滞留時間(平均値、最大値) 量子ビットごとに可視化し、時系列の変化が分かる • キューの保持件数 • 演算精度(fidelity) • 量子ビットの計算寿命(T1,T2) 37

38.

システム管理・監視(今後開発が必要) システム監視のスキルが重要 • 量子コンピュータはスパコンのような規模になっていくと想定 • 一部の監視項目について、簡易なアラートは行っている • 本格的なシステム監視が必要 監視ソフトウェアの例: Zabbix • 主な機能 • 現在状態表示 • 監視対象データの収集 • アラート履歴 • カレントアラート • アラート通知 • マスク機能 38

39.

量子コンピュータのシステムソフトウェアのOSS化 • 「量子コンピュータのLinux」を目指すべく活動中 • https://github.com/oqtopus-team • 複数の組織で開発している • コントリビュートは大歓迎 • 基本的にOSS • GitHubでコードを管理。CD/CIにGitHub Actionsを利用 • Read the Docsでドキュメントを公開 • Codecovでカバレッジをチェック • ZenodeでDOI(Digital Object Identifier)を管理 39

40.

まとめ 40

41.

量子コンピュータシステムの課題 そもそも開発者が少なすぎる • レイヤ分割 • レイヤ分割により、ソフトウェア、ハードウェア共に互換性が高まる • 全体を提供しないと動かない→部分的に提供できる • 標準化、オープン化 • 参入障壁を低くし、発展しやすくする • (従来コンピュータ)1980年代、IBMが規格をオープンにしたため、パソコ ン市場が活発化した • 安定した運用、耐障害性 • 24時間運用できる状態にする • 量子系を安定した状態に保つのが難しい • 運用しながらキャリブレーション ご興味ある方はぜひDMください @snuffkin • ハードウェア障害などへの耐性 • 量子状態はコピーできないので、バックアップ不可。壊れる前に対応? 41

42.

量子コンピュータのオススメ本 量子コンピュータの仕組みや歴史などを一般向けに解説 「驚異の量子コンピュータ」 藤井啓祐 著(岩波書店) 「量子コンピュータが本当にわかる!」 武田俊太郎 著(技術評論社) 計算やプログラミングで学ぶ理系向け入門 「量子コンピュータの頭の中」 束野仁政 著(技術評論社) 42