
ベンダー・ロックインにさようなら! 量子プログラムの変換・最適化ソフトウェアをユーザーが選択
新たなフレームワーク「Tranqu」を開発、オープンソースとして提供
研究成果のポイント
- 量子プログラムを変換・最適化する処理 (トランスパイラ)をユーザーが選択できるソフトウェアを開発
- 基本的に、量子プログラムを実行するユーザーは1つのベンダーのサービスに縛られてしまう(ベンダー・ロックイン)が、量子プログラムの性能は量子プログラム自体とトランスパイラの組み合わせによって大きく変わるため、常に1つのトランスパイラが最適とは限らない。そのため、ユーザーが目的に応じて最適なトランスパイラを自由に選べることが望ましい
- 量子プログラムや量子チップ情報の形式をトランスパイラにあわせて変換し、ベンダー・ロックインを解消
- 研究者が独自に開発したトランスパイラを呼び出すことも可能
概要
大阪大学大学院基礎工学研究科の藤井啓祐教授、大阪大学量子情報・量子生命研究センターの桝本尚之特任研究員(常勤)、宮地孝輔特任研究員(常勤)、宮永崇史特任研究員(常勤)、森俊夫特任研究員(常勤)、束野仁政特任研究員(常勤)、TISインテックグループのTIS株式会社(本社:東京都新宿区、代表取締役社長:岡本 安史)は、量子プログラムを量子チップで実行できるように変換・最適化する処理(トランスパイラ)をユーザーが選択できるソフトウェア「Tranqu」(トランク)を開発しました。
これにより、ユーザーが特定の企業や研究機関(以下:ベンダー)に縛られずにトランスパイラを選択でき、より精度の高い実行結果を得られるようになります。(図1)
本ソフトウェアは、大阪大学が中心となって開発している量子システム・ソフトウェア群「OQTOPUS」(オクトパス)のひとつであり、オープンソースとして公開しました。(https://github.com/oqtopus-team/tranqu)
図1. ベンダーに縛られずにトランスパイラを選択できる
研究の背景
量子コンピュータで計算を実行するには、人間が書いた量子プログラムを量子チップ用に翻訳する必要があります。この翻訳作業を行うソフトウェアを「トランスパイラ」と呼びます。トランスパイラは次の2つの重要な役割を担っています。
1. 量子チップが理解できる基本命令や、量子チップ自体の形状に合わせた量子プログラムの変換
2. 量子プログラムの最適化(ノイズの影響を減らすため、プログラムをできるだけ小さくする)
現在、量子コンピュータのクラウドサービスを提供するベンダーは、専用のトランスパイラを提供しています。この場合、一度あるベンダーのサービスを選ぶと、実質的にそのベンダーが提供するトランスパイラしか使えなくなってしまいます。これは、次の理由によります。
1. 各ベンダーが独自の量子プログラム形式と量子チップの情報形式を使用している
2. 特に量子チップの情報について、異なるベンダー間での形式変換が難しい
結果として、ユーザーは1つのベンダーのサービスに縛られてしまいます。これをベンダー・ロックインと呼びます。(図2)
図2. トランスパイラのベンダー・ロックイン
このベンダー・ロックインには重大な問題があります。なぜなら、量子プログラムの性能は量子プログラム自体とトランスパイラの組み合わせによって大きく変わるため、常に1つのトランスパイラが最適とは限らないからです。実際、実行結果が理想値と大きく乖離していたため調査を行ったところ、トランスパイラによって精度の低い量子ビットが利用されるよう変換されていたケースが確認されました。このケースでは別のトランスパイラを試した結果、精度の高い量子ビットを利用できることが判明しましたが、そのトランスパイラは簡単には量子クラウドで利用できないものでした。このような背景により、ユーザーが目的に応じて最適なトランスパイラを自由に選べることが理想的です。
本研究開発では、Python言語を利用し、このベンダー·ロックインの問題を解決する新しいフレームワーク「Tranqu」を開発しました。大阪大学はベンダーから独立した研究機関であるため、特定のベンダーに依存せず、柔軟で中立的なフレームワークを実現できました。
研究の内容
Tranqu は、複数の量子プログラミング環境に対応し、効率的なトランスパイル処理を実現する統合的なフレームワークとして機能します。入力された量子プログラムを目的の形式に変換し、適切なトランスパイラで処理する一連の流れを自動化します。(図3)
1. 入力フェーズ(ユーザー): ユーザーは普段使い慣れた量子プログラミング環境で量子プログラムと量子チップ情報を記述
2. 形式変換フェーズ(Tranqu): ユーザーが選択したトランスパイラが受け入れ可能な形式に量子プログラムと量子チップ情報の両方を自動変換
3. トランスパイル実行フェーズ(Tranqu): 変換された量子プログラムと量子チップ情報を元に、トランスパイラを実行し量子プログラムを変換・最適化
4. 出力フェーズ(Tranqu): トランスパイルされた量子プログラムとともに、トランスパイル前後の回路の大きさの変化といった重要な指標をユーザーに提供
図3. Tranquがトランスパイラを実行する流れ
Tranquはフレームワークとして設計しており、次のような拡張も可能です。
・研究者による独自トランスパイラの組み込み
・新しい量子プログラム形式への対応
・異なる量子チップアーキテクチャへの適応
このアーキテクチャにより、ユーザーは単一のインタフェースを通じて、複数のトランスパイラを効率的に活用できます。
本研究成果が社会に与える影響(本研究成果の意義)
本研究開発により、ユーザーが特定のベンダーに縛られずにトランスパイラを選択できるようになり、より精度の高い実行結果を得られるようになります。また、Tranquはフレームワークとして開発しており、研究者が独自に開発したトランスパイラをTranquから呼び出せます。これらにより、量子コンピュータ・クラウドサービスを利用した研究の加速が期待されます。
さらに、Tranquの適用範囲の拡大も予定しています。
・利用可能なトランスパイラ、変換可能な量子プログラムと量子チップ情報の形式は、今後、サポート対象を拡大していく予定です。
・大阪大学が運用している量子クラウドでも、Tranquを利用できるようにする予定です。これにより、複数のベンダーからトランスパイラを選択できる量子クラウドになります。
特記事項
本研究開発は、科学技術振興機構(JST)共創の場形成支援プログラム(COI-NEXT)「量子ソフトウェア研究拠点(研究代表者:北川勝浩)Grant No.JPMJPF2014」、内閣府総合科学技術・イノベーション会議の戦略的イノベーション創造プログラム(SIP)「先進的量子技術基盤の社会課題への応用促進」(研究推進法人:量子科学技術研究開発機構)の研究チームの一つ「国産量子コンピュータによるテストベッドの利用環境整備と運用(研究開発責任者:萬伸一)」によって実施されました。
参考URL
大阪大学量子情報・量子生命研究センター
https://qiqb.osaka-u.ac.jp/
SDGsの目標
用語説明
- 大阪大学が運用している量子クラウド
大阪大学に設置された超伝導量子コンピュータ国産3号機のクラウドサービス(2023年12月23日運用開始)。
研究者が遠隔地から量子アルゴリズムを実行したり、ソフトウェアの改良・動作確認をしたり、ユースケースを探索したりすることが可能になった。