量子コンピューティング
Qiskit SDKの設計理念
2024-07-10
カテゴリー IBM Research (コンピューティング) | 量子コンピューティング
記事をシェアする:
Qiskit SDKの開発を方向づけてきた理念や設計上の意思決定を明らかにしている新しい論文が公開されました。これは研究者が論文でQiskitを参照する際にちょうどよい引用可能な資料にもなっています。
Qiskitは最初 2017年にオープンソースのソフトウェア開発キット(SDK)として発表されましたが、今では、量子ワークロードの構築、最適化、調整、実行をするのに世界で最も高性能で包括的なソフトウェア・スタックへと進化を遂げています。今日Qiskit SDKは、この包括的な Qiskitソフトウェア・スタックの一部となっていますが、それでも極めて重要であるという点に変わりはありません。そのアーキテクチャー、機能、量子コンピューティングの回路モデルは、ソフトウェア・スタック全体の、Qiskit SDK以外の残りの部分の開発に大きく影響を与えています。しかし、Qiskit SDKが今のようになった理由と、その開発に影響を与えた考え方や基本原則はどんなものでしょうか?
arXivで最近公開した論文「Quantum computing with Qiskit」は、Qiskit SDKの開発に当初から影響を与えてきた理念や重要なデザイン決定についての新しい洞察を提供しています。論文は、SDKのアーキテクチャーや中核部品について概要を記述しています。また、Qiskitと同時に開発された、あるいはQiskit周辺で開発されたプラグイン、拡張機能、その他のツールなどで賑わっているエコシステムについても簡単に紹介しています。
そして「Quantum computing with Qiskit」のおそらく最も重要なポイントは、Qiskitとは一体何であり、量子情報学においてQiskitを研究者がどのように利用するかを説明する、引用可能で信頼できる参照資料となっているということです。以下で参照方法の例をご覧ください。完全な文献情報については、arXivで公開されている論文を確認してください。
「Quantum computing with Qiskit」の著者には、2017年にQiskitの最初のバージョンを開発した開発者も含まれています。彼らはそれから今までにQiskitが高度で多目的なツールになったきた経緯を目の当たりにしてきました。以下ではこの論文の興味深い要点を簡単に紹介し、読者が論文を最大限に活用する方法をいくつか紹介します。
Qiskitの設計理念
最も経験豊富なQiskit開発者であっても、この論文が掘り下げている、今日のQiskit SDKを形成する設計理念には新しい発見があるかもしれません。この理念は、以下のいくつかの基本原則で定義されています。
量子回路の重要性
Qiskitの設計理念は、量子回路の本質的な重要性を中心に構成されています。Qiskitは、量子回路を、量子データに対するあらゆる操作を含みうるものとして、非常に広く定義しています。この柔軟なフレームワークは、同じ回路モデルを使用して、さまざまな異なる抽象レベルで量子計算を表現することを可能にしています。物理学者はノイズやそのほかの量子的な現象を研究するために低レベルの回路を構築することができる一方で、アプリケーション開発者は高い抽象度で回路を構築できます。Qiskitは、このような抽象度の選択を可能にすることで、開発者が自分の研究課題の中心部分に当てられる時間を増やします。
モジュール性と拡張性
Qiskitのオブジェクトは、研究者が自分のニーズに最適な形で新しい機能を追加できる柔軟性を持つように設計されています。量子の研究者は、Qiskitの開発者には予測できないような新しい実験を常に考案します。モジュール化され拡張可能なアーキテクチャーは、Qiskitのフレームワーク全体を再設計しなくても、研究者がソフトウェアの一部をカスタマイズしたり拡張したりすることを可能にしています。このようなQiskitの設計理念の基本原則はQiskitのエコシステムに活気をもたらし、多くのオープンソース拡張機能が開発されることでQiskitを柔軟で強力にしています。
パフォーマンスと使いやすさ
パフォーマンスと使いやすさを優先するということは、Qiskitコードは速く動作するだけでなく、習得しやすく使いやすくなければならないということですが、これらは時に相反する目標です。たとえば、Qiskitは当初からPythonで主に記述されていますが、Pythonは必ずしも高速なプログラミング言語ではありません。そこで、Qiskit v1.0のリリース前にはパフォーマンスを向上させるために、Qiskit内部の最も計算量を必要とする部分をRust言語で再実装しました。この転換により、Qiskitの開発者は二つの世界の良いところどりができるようになりました。Rust実装がもたらすパフォーマンスの改善を享受できる一方で、使い慣れたPython構文でQiskitとやり取りすることができます。
例で見るQiskit
この新しい論文には、Qiskitの設計理念の概要だけでなく、Qiskitを使用して物性物理学における複雑な問題を解決するワークフローの詳細な例が含まれています。この例は、Qiskitのいくつかの強力な機能を具体的に示しています。
特に論文は、Qiskitを多用途向けにしている重要な機能である、トランスパイラーのリターゲット機能に焦点を当てています。Qiskitは非常に柔軟で、さまざまな異なるバックエンドをターゲットとする能力を持っているので、あなたがバックエンドに新しいゲートを追加した時に、SDKはそれらをシームレスに統合して、その追加した新しいハードウェア機能がなんであれそれを活用するように回路を再最適化することができます。論文はまた、ダイナミック・サーキット(動的回路)の威力についても深掘りしています。これにより、開発者は回路の途中に古典的なロジックを追加して、回路を効率化することができます。
この論文の利用方法
この新しい論文はQiskitのソフトウェア・アーキテクチャーについても説明しています。回路を最適化するトランスパイラー、重要な数学的ツールを提供する量子情報モジュール、量子回路を評価して結果を得るプロセスを単純化するプリミティブ、そして量子状態、回路、バックエンドやそのほかのオブジェクトの可視化を生成するのに便利なQisikit可視化モジュールなどが、Qiskitの量子回路モデルをどのように支えているかを詳細に説明しています。
またこの論文では、さまざまな異なる種類の回路から最大の結果を得るために、トランスパイラー、プリミティブ、量子ハードウェアなどのツールをどのように使うべきかの詳細を含めて、コンポーネントの扱い方の有用な例を提供しています。
Qiskitの参照方法
APAスタイル(7th Edition)
Javadi-Abhari, A., Treinish, M., Krsulich, K., Wood, C. J., Lishman, J., Gacon, J., Martiel, S., Nation, P., Bishop, L. S., Cross, A. W., Johnson, B. R., & Gambetta, J. M. (2024, May 15). Quantum computing with Qiskit. arxiv.org/abs/2405.08810
MLAスタイル (9th Edition)
Javadi-Abhari, Ali, et al. Quantum Computing with Qiskit. arXiv:2405.08810, arXiv, 15 May 2024. arXiv.org, arxiv.org/abs/2405.08810.
Chicagoスタイル
Javadi-Abhari, Ali, Matthew Treinish, Kevin Krsulich, Christopher J. Wood, Jake Lishman, Julien Gacon, Simon Martiel, et al. “Quantum Computing with Qiskit.” arXiv, May 15, 2024. arxiv.org/abs/2405.08810.
この記事は英語版IBM Researchブログ「Defining — and citing — the Qiskit SDK」(2024年6月26日公開)を翻訳し一部更新したものです。
IBM Quantum, 量子人材開発, Qiskit Advocate
大学での授業、量子コミュニティー、量子プログラミングコンテストなどを中心に量子人材の育成を行う。
量子中心のスーパーコンピューターに必要なサーキット・カッティングを可能にするダイナミック・サーキット
Natureに掲載された新しい論文は、一つの量子プロセッサーでは実行不可能なサイズの量子回路を、二つの量子プロセッサーを接続して実行できることを世界で初めて示しました。 今日、世界で最も強力な古典的スーパーコンピューター […]
2年前に設定したチャレンジを達成した IBM Quantum
今回が初回となる IBM Quantum Developer Conferenceで、IBMはアルゴリズム探索を容易にする高性能な量子コンピューターと使いやすい量子ソフトウェアを発表しました。 IBM®は 2年前に、量子 […]
量子中心のスーパーコンピューティングの実現
(特別な工夫のない)愚直な古典計算では扱えないレベルの大規模な問題を解決できる能力を持った 実用規模の量子コンピューターが、ハイパフォーマンス・コンピューティングの未来を変えていきます。 歴史上初めて、コン […]