量子コンピュータのIBMQを学んでみた
1.概要
IBM製の27量子ビットの量子コンピュータ(IBMQ)が新川崎に設置されました。直接見る機会はありませんが、ネット経由で米国のIBMQを利用することができます。新しい技術に触れることはとても楽しいことです。数年前に量子コンピュータのセミナーを受けた時、五線譜のようなプログラミング手法を教わり、半分諦めました。今回、IBMQを操作するPythonライブラリのqiskitの学習をはじめました。qiskitを利用するとsimulatorが提供され、量子コンピュータの動作を学ぶことができます。
2.詳細
Ubuntu-20.04環境でQiskitのinstallを手順に従って導入します。次に、インストールされたバージョン確認をするのですが、参考資料の結果と異なりました。この内容を記述します。
(1) qiskitのinstallと確認
$ pip install qiskit
(2) 動作確認(Jupyter環境を利用)
import qiskit
qiskit.__version__
'0.20.2'と表示されますの予定です。
qiskit.__qiskit_version__
{'qiskit-terra': '0.20.2',
'qiskit-aer': '0.10.4',
'qiskit-ignis': '0.7.1',
'qiskit-ibmq-provider': '0.19.1',
'qiskit-aqua': None,
'qiskit': '0.36.2',
'qiskit-nature': None,
'qiskit-finance': None,
'qiskit-optimization': None,
'qiskit-machine-learning': None
}
上記結果ではNoneが複数表示されます。これはドキュメントと異なります。
(3) 試したこと
下記コマンドでqiskit-aquaを導入できます。
$ pip install qiskit-aqua
githubにはQiskit Aqua (NOW DEPRECATED)と記載があり、サポート終了とマイグレーションガイドがあり、大きく変わっているようです。しかし、私が試したサンプルプログラムは上記qiskit-aquaの導入で動作しました。
3.所見
何もわからずに触れてみました。Pythonで操作できるので何を実行しているかはわかりますが、裏側にある理論はわかりません。習うより慣れろでしょうか
4.追加
(1) 量子コンピュータIBMQをqiskitで利用してみた
1〜2年ほど前にqiskitライブラリを利用して、pythonプログラムを作成して、IBMQ実機をネット利用しました。その時は、量子コンピューターの考え方が良く分かりませんでした。最近、IBMQの2025年までのロードマップが開示され、量子コンピュータのHW進歩が急激に進んでいることを知り、もう一度、IBMQの学習を少しずつ取組んでいます。
学習環境はubuntu-20.04.4でjupyterを利用しています。jupyter環境の上で、pip install qiskitを実行してサンプルプログラムを学習していましたが、No module 'qiskit'のエラーが発生したことを記述します。
(a) Jupyter Notebook
(b) 問題が発生したqiskitのinstall
juputer上で下記コマンドでqiskitをinstallしました。
$ pip install qiskit
サンプルプログラムを実行するとNo module 'qiskit'のエラー発生しました。
(c) 原因
参考資料のfaqの「Jupyter Notebook を利用している時に次のエラーが出るのはなぜですか」を参照
(d) 対処方法
本ブログのjupyter notebook (05/21)の手順の中で、conda update --all 直後にqiskitをinstallしました。
$ conda update --all
$ pip install qiskit
(2) 量子コンピュータのIBMQでqiskit-GPUを利用してみた
qiskitは量子コンピューターを利用するpythonライブラリですが、計算処理効率を上げるためにnVidiaのGPUを利用できるとの記述があります。そこで、qiskitで実際にGPUを利用するために、qiskit-aer-gpuを追加して確認をしました。その内容を記述します。なお、nvidia GPUの環境設定に関しては、tensorflow学習時の設定を使いました。
(a) 導入
qiskitの導入直後にqiskti-aer-gpuを追加しました。
(参考)当ブログのIBMQ qiskit(続編) (06/20)
$ conda update --all
$ pip install qiskit
$ pip install qiskit-aer-gpu
(b) 確認事項
参考資料のシミュレーターのGPUシミュレーション記載を実行するとエラーは発生しません。従って、GPUは認識されているようです。
そこで、参考資料を活用して実際のプログラムでGPUを利用しました。qiskit versionが、0.16.0と少し古いのですが、記載されている通りに実行できます。私のGPU環境(Geforce 1050Ti)では、量子ビットは8程度が現実的な実行環境でした。
更に、参考資料のQiskit Aer 0.7.0からは変わるとの情報を試してみましたが、古い記述のままで利用できます。私の利用環境は、qiskit-aer 0.10.4なので、バージョンは上がっていますが、qiskit-aer側の事情が少し変わっているようです。
(3) 量子コンピュータのIBMQでqiskit-textbookを使ってみた
qiskitを利用した学習を進めていると、qiskit-textbookを利用する事例があります。qiskit-textbookはgitから導入する必要があり、その記述をします。
(a) 導入方法
参考資料に従ってpipコマンドで導入します。
(参考)当ブログのIBMQ qiskit-GPU (07/01)
$ conda update --all
$ pip install qiskit
$ pip install qiskit-aer-gpu
$ pip install git+https://github.com/qiskit-community/qiskit-textbook.git#subdirectory=qiskit-textbook-src
(b) 動作確認
下記コマンドをjupyter notebookのcellに入力します。
エラーなく実行されると動作確認は完了です。
print('Set up started...')
from qiskit_textbook.games import hello_quantum
print('Set up complete!')
参考
[外部サイト参照]
・日本初のIBM製「ゲート型商用量子コンピュータ」が新川崎で稼働。アメリカ、ドイツに次いで世界で3番目
・Qiskitのインストール
・Qiskit/qiskit-aqua
・Expanding the IBM Quantum roadmap to anticipate the future of quantum-centric supercomputing
・シミュレーター
・QiskitのシミュレータでGPUを使ってみる
・Qiskit Aer 0.7.0からbackend_optionsの指定方法が変わったので,その対策
・Qiskitテキストブックで作業するための環境設定ガイド
コメント
コメントを投稿