量子コンピューティング

Qiskit: 量子コンピューターに性能をもたらすソフトウェア

記事をシェアする:

IBMはユーティリティー・スケールの量子コンピュータを構築します。ユーザーの皆さんは画期的なアルゴリズムに応用します。そして、Qiskitは性能を提供します。

昨年、量子コンピューティングの新しい時代が始まりました。量子ユーティリティーの時代です(詳細はこちら)。初めて量子コンピューターは、愚直な、あるいは近似を使わない古典シミュレーションを超える回路を実行できるようになりました。しかし、私たちの真の目標は、コミュニティーが量子優位性を実現すること、すなわち、ユーティリティー・スケールの量子処理を使用して、最新の古典的手法を超える価値をユースケースにもたらすことです。ユーザーが量子優位性を実現する際に非常に重要になるのが、次世代の量子アルゴリズムを可能にする高性能で安定したソフトウェア・スタックです。より高性能なQiskitが必要なのです。

今年、私たちはQiskitオープンソース・ソフトウェア開発キットの最初の安定版、Qiskit SDK 1.xをリリースしました(リリースの要約はこちら)。Qiskitは、量子回路を開発・構築するための世界で最も人気のある量子開発ソフトウェアというだけではありません。私たちは、IBMの量子フルスタック・ソフトウェアとしてQiskitを再定義し、Qiskit SDKを、新しい生成AIコード・アシスタントツールも含めて、IBM Quantumシステムのためのプログラムを書き、最適化し、そして実行するためのミドルウェア・ソフトウェアおよびサービスへと拡張しました。

Qiskitは、有用な量子コンピューターを世界へもたらすという私たちのビジョンの実現を加速します。

 

これまで

Qiskitは、2017年にSDKとして初めてリリースされた後、すぐに量子コンピューティングの学習と研究のための、欠かせないソフトウェア開発ツールになりました。現在までに、600,000人以上の登録ユーザーがQiskitを使ってIBM Quantumコンピューター上で3兆回路以上を実行しています。研究者たちはQiskitとIBMシステムを使用して約2,900件の研究論文を発表し、世界中の700以上の大学がQiskitを使用した量子コンピューティングの講義を行っています。Unitary Fundの2023年のオープンソース・ソフトウェア調査では、回答者の69%が優先するオープンソース・ソフトウェア開発キットとしてQiskitを選択しました。

過去1年間、私たちは量子コンピューターが科学的発見のためのツールとして使用できることを実証してきました。現在、100量子ビット以上を備えたIBMの量子コンピューターでは、量子ハードウェアから真に価値のある結果をユーザーが生み出すことができるようになりました。専門家たちは、それぞれのドメインで、量子優位性を実現するというゴールを持ってアルゴリズムの探求を行なっています。Qiskitはこういった発展に呼応して、世界で最も高性能な量子コンピューティング・ハードウェアにふさわしい、最も高性能なソフトウェア・ツールセットへと成長しなければなりません。

Qiskitは、プログラミングから結果の後処理までのすべてのステップを含んだ、ユーティリティー・スケールの量子ワークロードを実行するという流れ全体のユーザー体験をユーザーに提供していきます。

 

量子ソフトウェアのビジョン

昨年、私たちは量子ワークロードの開発のための再利用可能なレシピであるQiskitパターンを導入しました。これは、ユーザーが量子回路を設計、最適化、実行、後処理するという4段階から構成されるユーザー体験です。ここでは、Qiskitがその各段階でユーザーをサポートする方法を説明します。

Qiskitパターンの第一段階は、更新されたQiskit SDK 1.xを使用して、解きたい問題を量子回路におとしこみます。Qiskit SDK 1.xは、広く人気のあるオープンソース開発キットから、高度に安定し、信頼性の高い、量子回路を構築し演算を最適化するためのユーティリティー・スケールのツールへと進化しています。ユーザーが探求している量子回路はますます複雑になってきており(100以上の量子ビットと千個以上のゲートを持つもの)、Qiskit SDK 1.xはその回路を開発を可能にしています。

第二段階では、著しく性能が向上したQiskit SDKと、新しいQiskit Transpiler Serviceを用いて、量子回路を最適化します。AIとヒューリスティックを駆使するQiskit Transpiler Serviceを用いると、Qiskit SDKのTranspilerに比べて、平均42%の2量子ビット・ゲートを削減することができます。2年前、Qiskitの性能改善のため、性能に最も影響を与えるコンポーネントを、PythonからRustにリファクタリングする取り組みを始めました。この取り組みはまだ完了していませんが、すでに目覚ましい成果を挙げています。例えば、バインディングとトランスパイルは、2年前のQiskit SDK 0.33の時点と比べて39倍高速になりました。また、最近行われたメモリー利用の精査により、Qiskit SDK 0.43と比べてメモリー・フットプリントが3倍以上削減されたため、ユーザーは大きな回路の開発を快適にできるようになりました。この改善は今後も引き続き行われていきます。

また、私たちは強化学習アプローチに基づく、AIで機能強化されたトランスパイル手法を実験しています。すでにこの探求は、多様なベンチマーク回路に対して、2量子ビットゲートの数と回路の深さの両方を削減するという有望な結果を挙げています。これらの高度なトランスパイル機能は、Qiskit Transpiler Serviceのベータ・リリースとしてPremiumユーザーに提供されています。これは、Qiskit SDKにプラグインとしてシームレスに統合されます。

Qiskitパターンの第三段階は、Qiskit Runtime Serviceを使用してワークロードを実行することです。ユーザーは、量子コンピューターから結果を取り出すための Qiskit Primitives(SamplerとEstimator)が大幅に改良されたことにお気づきになることでしょう。Primitivesは、Qiskit内で量子システムとのインターフェースを定義します。Qiskit Runtime Serviceは、先進的なエラー緩和を組み込んだプリミティブ・クエリーを実行しますが、さらにSamplerでは動的回路がサポートされています。

先立って2023年末に私たちは Qiskit Serverlessをリリースしました。Serverlessは、量子回路を実行するために必要なリソースをプロビジョニングします。しかしそれだけでなく、プロダクションのワークロードについてさらに考慮を行ない、ユーザーがコードを拡張および再利用できるように Qiskit を成熟させる必要があります。

私たちは、Qiskitパターンの一部として導入したビルディング・ブロックを抽象化し、Qiskit Functions というコンポーネントとして提供するための作業を行っています。Qiskit Functionsは、サーバーレス・レイヤーにある関数のカタログで、ユーザーがワークフローの一部としてアクセスできるようになります。Qiskit Functions は、IBMによって、また特定の問題タイプに対してはサードパーティー・インテグレーターによって提供されます。そこには、カスタム・エラー・ハンドリングのルーチンや後処理のテクニックなどが含まれます。


Qiskitスタック概要

 

AI + Functionsによる摩擦のない(フリクションレス)開発

開発者の皆さんはこのQiskitを用いた開発に一人で苦労する必要はありません。かねてから、私たちの目的の中心にあるのは摩擦のない(フリクションレスな)開発者体験です。2023年のIBM Quantum Summitで、私たちはQiskit AI Code Assistantをプレビューし、量子プログラミングをさらに簡単にすることを目指しました。そして今月、私たちはアルファ版のQiskit Code Assistant Serviceをリリースしました。

Qiskit Code Assistantは、watsonxのIBM Graniteに基づいた大規模言語モデル(LLM)を利用し、Qiskit SDK 1.xとIBM Quantumの機能に基づいて学習されています。そしてVisual Studio Codeの拡張機能とJupyter Labの統合が含まれています。来月には、利用可能なコードを生成するCode Assistantの能力を評価するための最初のQiskit HumanEvalベンチマークをリリースします。ベータ版に向けて、Code AssistantとQiskitパターンを使用して開発ワークフローをどのように高速化できるか、ユーザーにお試し頂きたいと考えております。

これは始まりにすぎません。次の6ヶ月間、私たちはQiskitのさらなる性能向上を継続し、最高の量子ソフトウェア・スタックにしていく予定です。

これは、QiskitとIBMの量子システムが結合してユーティリティー・スケールの成果を可能にするIBM Quantum Platformという、量子コンピューティングの大きなビジョンの一部です。Qiskitは、ハードウェアと同じくらい、量子ワークロードを実行するために重要です。

ユーティリティー・スケールの量子ワークフローが展開され、有用な量子コンピューティングのビジョンが現実になっていくこれからの時代にQiskitとIBMの量子システムがどのように進化していくのか、IBM Quantum Development Roadmapを今後もぜひフォローしてください。

 


この記事は英語版IBM Researchブログ「Qiskit: The software for quantum performance」(2024年5月15日公開)を翻訳し一部更新したものです。

堀井 洋
監訳:堀井 洋
IBM Quantum, シニア・テクニカル・スタッフ・メンバー, QCSC Softwareマネージャー
Qiskit-Aerの開発、量子コンパイラーの高性能化を担当後、量子中心型のスーパーコンピューティングにおけるソフトウェア開発を担当。
立花 隆輝
監訳:立花 隆輝
IBM Quantum, シニア・テクニカル・スタッフ・メンバー
量子コンピューターの社会実装に携わる。
More 量子コンピューティング stories

Qiskit向けの新しい推奨ノートブック環境

OVHcloudやqBraidが提供するJupyterベースの環境は、クラウド上でQiskitを扱うプロセスを簡略化します。 IBM®は、量子回路に初めて取り掛かろうとしている初心者に対しても、既に100量子ビットを持っ […]

さらに読む

ユーティリティー・スケールの計算タスクを効率化する実行モード

Qiskit v1.xで改善された新しい実行モード(execution mode)は、量子ワークロードの信頼性、予測可能性、そして効率を大幅に向上させています。 ユーティリティー・スケールの研究を行うためには、ユーティリ […]

さらに読む

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

主な新機能、改善点、非推奨となった機能などQiskit SDK v1.1.0リリースの要点をご紹介します。 2024年5月29日にQiskit SDK v1.1.0のリリースを発表しました!これは今年メジャーバージョンv […]

さらに読む