量子コンピューティング

量子SDKのパフォーマンス試験で実証された Qiskitの優位性

記事をシェアする:

新しい量子ベンチマークのオープンソース・パッケージである Benchpressを使って、Qiskit®のパフォーマンスを世界の主要な量子ソフトウェア開発キット(SDK)と比較しました。

主要な大学、国立研究所、および IBM®によって開発された 1,000以上のテスト項目を評価したベンチマーク結果で、量子回路の構築およびトランスパイルの能力において、Qiskitが最も高性能な量子ソフトウェア開発キットであることを示しました。

このブログでは、IBMが Qiskitと他の主要な量子ソフトウェア開発キットを比較した広範な試験結果 を紹介します。この試験では、量子SDKが十分な機能を備えていることを確認するためにいくつかの重要なタスクを評価しています。量子SDKは、回路を構築・操作する際に、実行速度と、トランスパイル結果として得られる回路の品質の最適なバランスを実現することが求められます。この試験では、Qiskit を BQSKit、Braket、Cirq、Staq、および TKET と比較しました。

結果として、Qiskit SDKは他のどの SDKよりも多くのテスト項目を完了することができました。しかもその際に、平均で比較して、より高速であるか、あるいは出力される2量子ビット・ゲートの数がより少ないか、あるいはこれらの両方でうわまわっていました。Qiskitは私たちが試験した中で最も高性能な量子SDKであり、2番目に高性能という結果になった TKETよりも2量子ビット・ゲート数で 24%少なく、トランスパイルは13%高速でした。

IBMは結果をまとめた論文とともに、Benchpressと名付けたオープンソース・パッケージの一部として、テストセットを公開します。私たちは Benchpressを、量子に関心を持った人たちが、さまざまな量子SDKについて有益な情報を収集できるように作成しました。オープンソースとして公開された Benchpressはパフォーマンス比較のためのオープン・フレームワークとなり、これを利用してユーザーは自分で量子SDKを評価できるようになります。

Benchpressを用いることで、量子SDKの継続的なソフトウェア開発進捗をユーザーが見守ることができるようになり、量子コンピューティングに使用する SDKについて情報に基づいた意思決定が可能になることが、私たちの望みです。IBMは、Benchpressのパッケージにさらに多くのテスト項目の追加を続けていきます。ぜひこれをお試しになり、また、オープンソースである Benchpressの開発にも積極的にご参加頂きたいと思います。

 

上図が示すように、すべての量子ソフトウェア開発キットが、回路の作成/操作と、回路のトランスパイルの両方が可能というわけではありません。

 

Benchpressスイートに含まれる 1,066のテスト項目のうち、合格したテスト項目数。合格率の差は、各SDKの機能セットの違いをおよそ反映しています。たとえば Staq は回路操作をあまりサポートしていない一方で、Cirqと Braketは、回路合成とトランスパイルの機能を提供しません。目標デバイスのサイズが理由で、すべての SDK で 22テスト項目がスキップされました。

 

整えられた競技場

Qiskit のパフォーマンス向上は、Qiskitソフトウェア開発キットの最初のメジャー・バージョンである Qiskit SDK v1.0 をリリースした 今年はじめに始まりました。初期のテスト結果は、Qiskit v1.0 が高性能の量子SDKであることを示していましたが、正式な比較を行うまで Qiskit が世界最高性能の量子SDKであると宣言することはできませんでした。そこで、量子SDKの最重要タスクである回路の操作、作成、合成、およびトランスパイルを行う能力を評価する厳密なテストセットをIBMは組み上げました。

回路構築・操作は、量子SDK が量子回路の生成と変換を行う能力を評価します。自動的に回路を構築および操作するツールを提供する量子SDKもありますが、回路のコーディングと変換を手作業で行う必要があるSDKもあります。 高性能なSDK は、コーディング自体が実験結果の速やかな取得を妨げるボトルネックにならないように、素早く回路を生成および操作できる必要があります。 回路構築および操作タスクは 12項目のテストで構成されており、1時間以内に回路を構築および操作できることがそれらの成功条件です。

合成およびトランスパイルは、量子SDKが回路を入力として受け取り、量子ハードウェアで実行可能な形式に変換する能力を評価します。量子ハードウェアとしては、任意の量子ビット配置を持つ抽象的な量子ハードウェアと、IBM QuantumTM Heronチップといったような実際の量子ハードウェアの両方を想定します。これらのテスト項目では1時間以内に、最短の時間で 2量子ビット・ゲートが少ない回路へとトランスパイルできることが、高い評価結果となります。

これらのテスト項目のほとんど、およそ 90%は、オープンソース・ライブラリーから導入された標準的なベンチマーク・テストであり、量子コミュニティーによって使用されていたものです。例えば、Benchpressは、Pacific Northwest National Labs によって開発された QASMBench circuits と、University of Waterloo の Matthew Amy によって開発された Feynman circuits、および世界中の物理学者からなるチームによって開発された Hamiltonian circuitsを生成する際の量子SDKの能力を比較します。残りのテスト項目は、Qiskit のベンチマークに社内で使用していたテスト項目です。

 

SDKを評価する

私たちは 量子SDKが持つ機能に基づいて、回路構築および操作のテストは Braket、BQSKit、Cirq、Qiskit、およびTKETについて行い、トランスパイルのテストはBQSKit、Qiskit、Qiskit Transpiler Service、Staq、およびTKETで実行しました。テストを実行するのに十分な機能を提供していないソフトウェア開発キットはベンチマークしませんでした。例えば、CUDA-Qが一例です。

我々は、2つの重要な評価尺度である速度品質の点で、これらのテスト項目を実行する際の SDK の能力を広く比較しました。すなわち、SDKが回路を作成して操作するのにかかる時間を測定し、またそれとは別に、回路の合成とトランスパイルにかかる時間を個別に測定しました。 さらにまた、2量子ビット・ゲートの深さと数という2つの指標に基づいて、作成された回路とトランスパイルで得られた回路の品質も測定しました。それぞれのテスト項目については、SDK がテストに合格したか、失敗したか、テストを完了する機能がなかったか、あるいは失敗するものと予想されたか、の分類をしました。

結果、Qiskitは、試験された他のどの量子SDKよりも多くのテストに合格し、合格できる可能性のあるテストはすべて合格しました。平均するとQiskitは、2番目に高性能であるという結果になったTKETに比べても、トランスパイルが13倍高速で、生成した回路の2量子ビット・ゲート数は 24%少なくて済みました。他の SDKがテストをパスできなかった項目は、1時間以内にテストを完了できなかったか、テストにパスするのを妨げたバグがあった項目です。

つまり、Qiskit は最も高性能な量子SDKです。
 

 

なぜパフォーマンスがそんなに重要なのでしょうか。それは、量子コンピューターは、量子ソフトウェア開発キットなしでは計算を実行できないからです。そして、回路の構築、操作、およびトランスパイルに時間がかかるかどうかは、実際に研究者が量子システム上で問題を研究する際に、すぐに回路を実行できるか、それともそれに数日を要し、研究の進捗が妨げられてしまうかの違いにもなるからです。

これらの試験をIBMが行う際には、各SDKが提供する最良のツールを使用して、誠実かつ最善の努力で行いました。とはいえ、私たちは自分たちが Qiskit以外の他の量子SDK の専門家ではないことを認識しています。そのため、私たちは Benchpressをオープン・ソースとして公開し、関心のある人は誰でも内容を確認したり、自分でテストを実行できるようにしました。私たちは、この初期リリースを超えてオープン・ソースの共同作業によってBenchpress の機能が拡張され、信頼できる量子SDKベンチマーク・スイートとしての役割が確固たるものになることを願っています。

 

高性能な Qiskit の新機能

私たちは Qiskit の性能向上とアップグレードを継続しています。それらの性能向上の多くの部分は、コードを Rustプログラミング言語へとリファクタリングしていることによって生まれています。Rustのセキュリティーとメモリ管理機能は、高品質で効率的なソフトウェアを構築するのに有用です。Rustは Qiskit開発者に大変好評です。

さらにチームは、Qiskit が回路をトランスパイルする際に使用するSABREアルゴリズムの拡張である、 LightSABREアルゴリズムの詳細を記述する論文ををまもなく公開します。トランスパイルは、量子ビットの接続性の制約を守りながら、ゲート数とレイヤー数の最小化を目標に、回路を物理デバイスにマップする処理です。元のSABREアルゴリズムは、2018年にデビューした当時は高品質なソリューションであると言えましたが、実用規模の量子プロセッサーの時代にはその実行時間がボトルネックになってきていました。LightSABREは、Rustで書かれたアップグレードであり、より効率的にスケールし、同じ回路についてSABREと比較した場合、スワップ・ゲートの数を18.9%削減します。

ベンチマーク・テストでは、Qiskit Transpiler Service (QTS) のみが、標準の Qiskitトランスパイラーを超えて、レイヤー数が少なく高品質の回路を生成する能力を示しました。AI駆動のトランスパイラー・パスの利用により、特に大規模な回路で、回路品質の大幅な改善を達成することができたのです。標準の Qiskit SDKのトランスパイルと比較して、AIトランスパイラー・パスは、2量子ビット・ゲートを平均 24%削減し、実用規模の回路(100量子ビット以上)をIBM Quantumハードウェアのヘビー・ヘックス・トポロジーにトランスパイルする際に回路の深さを平均して 36%削減しました。

Benchpress回路について、Qiskit+AIでトランスパイルされた回路の、Qiskit SDKの場合と比較した深さ (小さいほど良い)

 

高性能なソフトウェア・スタックの構築

Benchpressは量子SDKが回路を構築およびトランスパイルする能力を測定するわけですが、量子SDKはソフトウェアとして閉じるのでなく、回路を実際のハードウェアで実行する能力も持っている必要があり、このことは量子SDKがひとつの量子コンピューティング・アーキテクチャーの表現であるということを意味します。 THINK 2024 で IBMは 量子のフル・スタック・ソフトウェアである Qiskit を再定義しました。これには、Qiskit SDK、Qiskit Functions、Qiskit Transpiler Service、Qiskit Serverless、Qiskit Runtime Primitives、および 生成AIを用いたコード・アシスタント・ツールであるQiskit Code Assistantが含まれます。これらのツールは全体として、ソフトウェア・スタック全体を通じた高いパフォーマンスを提供します。

IBMは、Qiskitが量子ハードウェア上で回路を実行する能力をベンチマークするための指標いくつかの値も継続的に評価しています。これらの指標はワークフローがどれほどうまく実行されるかを教えてくれます。その指標の中には、Qiskit Runtimeとハードウェアの組み合わせにより1秒あたりに実行できる回路レイヤーの演算数として速度を測定する CLOPS や、レイヤー状の回路における各 2量子ビット・ゲートの平均エラーである error per layered gateなどがあります。

私たちは、mirror circuitsやその他の手段でプリミティブの品質を測定する評価尺度をさらに強化する方法を探求しています。これらの新しい評価尺度はまだ正式にはなっていませんが、ユーザーが qiskit-device-benchmarking リポジトリーでこれらのベンチマークを体験できるツールを用意しています。IBMはこれらの評価尺度を公開することで、ハードウェアとソフトウェアを連携させて高性能を実現することの重要性を示すとともに、他の量子コンピューター・ベンダーが彼らが持つ同様のデータを公開することを促します。

以上のすべてから、Qiskitはただ量子を勉強するためだけのツールではない、ということが明らかになったのではないでしょうか。Qiskitは、パフォーマンスに重きを置く研究者や開発者が選ぶべき量子SDKです。ぜひ、Qiskitをご利用ください。

 


この記事は英語版IBM Researchブログ「Qiskit leads quantum software development kits in performance, testing shows」(2024年9月16日公開)を翻訳し一部更新したものです。

立花 隆輝
訳:立花 隆輝
IBM Quantum, クライアント・テクニカル・リード、シニア・テクニカル・スタッフ・メンバー
量子コンピューターの社会実装に携わる。
More 量子コンピューティング stories

Qiskit Functions Catalogの発表

2023年、IBM QuantumTM プラットフォームで利用可能になった大規模量子コンピューターを利用して、愚直な古典手法ではシミュレーションが困難な問題の探求ができるようになりました。一つ一つの問題に量子コンピュータ […]

さらに読む

クラウドで Qiskit Functionsの基盤を築く Qiskit Serverless

Qiskit Serverlessを利用すればユーザーは、IBM Quantum™ platformの計算リソースをリモートで使用して計算タスクを構築、デプロイ、実行できます。 Qiskit Serverless は新し […]

さらに読む

Qiskit SDK v1.2がリリースされました!

主な新機能の最新情報や非推奨となった機能、Qiskitを世界で最も高性能な量子SDKとし続けるために進めている取り組みを含めて、Qiskit SDK v1.2のリリースの技術的要点をご紹介します。 2024年8月21日に […]

さらに読む