IBM Quantum は、量子コンピューティング業界で最もアクセスしやすい無料プランを提供しています。無料の IBM ID があれば、最大 127 量子ビットの実際の量子プロセッサにアクセスできます。費用も、クレジットカードも、申請も不要です。それが実際に何を意味するのか、正確に見ていきましょう。
無料プランに含まれるもの
IBM Quantum の Open Plan では以下が利用できます:
- 一般公開されているすべての量子システムへの無制限アクセス
- 月あたり 10分の量子時間(回路が QPU 上で実際に実行されている時間)
- IBM シミュレータへのアクセス(時間制限なし。statevector、QASM、matrix product state)
- Qiskit Runtime: 回路を実行するための最新の IBM 実行環境
- チュートリアルやコースを備えた IBM Quantum Learning プラットフォーム
月10分の制限は厳しく聞こえますが、実際にはほとんどの研究用回路は数ミリ秒の実 QPU 時間で完了します。量子アルゴリズムを試している個人開発者がこの制限に達することはめったにありません。
2026年8月アップデート:Heron r2とボーナス計算時間
IBMは2026年3月、より高性能なHeron r2プロセッサ(ibm_kingston)をOpen Planに追加し、無料枠ユーザーは従来のHeron r1システムより明らかに優れた2量子ビットゲート忠実度にアクセスできるようになりました。しばらく実行していない場合は、service.backends()のリストにibm_kingstonが表示されているか確認する価値があります。
IBMはまた、アクティブユーザー向けに1回限りのプロモーションを実施しました。12か月間のいずれかの期間に少なくとも20分のQPU時間を記録したユーザーは、以降12か月間で180分のボーナス(標準の月間割り当ての18倍)を選択できました。この特典は特定の登録期間に限定されたものであり、Open Planの月10分という基本枠を恒久的に変更するものではありません。したがって、まだ有効だと思い込まず、Open Planページでご自身のアカウントに現在何が適用されているか確認してください。
システムの構成は逆方向にも変化します。IBMは2026年4月初旬にibm_torinoを廃止しました。これはOpen Planの運用における通常の一部です。新しいハードウェアが登場すればシステムが追加され、既存のシステムは耐用年数を終えると廃止されます。だからこそ、下記のservice.backends()のスニペットは、どんな静的な表よりも重要です。この記事にある一覧は現在の状態ではなく、あくまである時点のスナップショットとして扱ってください。
利用可能な無料 QPU
2026年半ば時点で、IBMのOpen Planは次のようなシステムへのアクセスを含みます:
| システム | 量子ビット数 | 技術 | 一般的なキュー |
|---|---|---|---|
IBM Heron r2(ibm_kingston) | 156 | Heronプロセッサ、高忠実度 | 30〜120分 |
| IBM Eagle | 127 | 超伝導 | 10〜60分 |
| IBM Heron r1 | 133 | Heron プロセッサ | 30〜120分 |
IBMは定期的にシステムを廃止・追加しています。この表はあくまでスナップショットであり、保証ではありません。現在のリストを確認するには Qiskit Runtime サービスを使用してください:
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService(channel="ibm_quantum")
backends = service.backends(
operational=True,
simulator=False,
min_num_qubits=1
)
for b in backends:
print(f"{b.name}: {b.num_qubits} qubits, status: {b.status().status_msg}")
10分でのセットアップ
ステップ1: 無料アカウントの作成
quantum.ibm.com にアクセスし、無料の IBM ID を作成します。支払い情報は不要です。
ステップ2: SDK のインストール
pip install qiskit qiskit-ibm-runtime
ステップ3: 認証情報の保存
IBM Quantum ダッシュボードにログインした後、Account ページから API トークンをコピーします。
from qiskit_ibm_runtime import QiskitRuntimeService
# Run this once to save your token locally
QiskitRuntimeService.save_account(
channel="ibm_quantum",
token="YOUR_API_TOKEN_HERE",
overwrite=True
)
認証情報は ~/.qiskit/qiskit-ibm.json に保存されます。次回以降はこの操作は不要です。
ステップ4: 最初のジョブを投入する
from qiskit import QuantumCircuit
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler
# Build a Bell state
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Connect and pick the least-busy free QPU
service = QiskitRuntimeService(channel="ibm_quantum")
backend = service.least_busy(
operational=True,
simulator=False,
min_num_qubits=2
)
print(f"Submitting to: {backend.name}")
# Transpile for the target device
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)
isa_qc = pm.run(qc)
# Submit
sampler = Sampler(mode=backend)
job = sampler.run([isa_qc], shots=1024)
print(f"Job ID: {job.job_id()}")
print(f"Status: {job.status()}")
result = job.result()
print(result[0].data.c.get_counts())
キュー待ち時間を理解する
キュー待ち時間は、無料プランで最もよくある不満の種です。何が起きているのかを説明します:
- あなたは世界中の他のすべての Open Plan ユーザーと QPU を共有しています
- ジョブはシステムごとにキューに入れられます。
least_busy()は最も待ち時間の短いものを見つけるのに役立ちます - 一般的な待ち時間: システムの負荷に応じて5分から2時間
キュー待ち時間を最小限に抑えるヒント:
- オフピーク時間帯に実行する(ヨーロッパの朝 = アメリカの夜)
- 特定のシステムを指定するのではなく
service.least_busy()を使う - 開発時にはローカルで Aer シミュレータを使用し、最終検証のときだけ実機に投入する
- SamplerV2 のリスト入力を使って複数の回路を1つのジョブにまとめる
代わりに無料のクラウドシミュレータを使う
ほとんどの開発作業では、IBM のクラウドホスト型シミュレータは実機のキューに並ぶよりも高速です:
# IBM cloud QASM simulator (up to 32 qubits, no queue)
backend = service.backend("ibmq_qasm_simulator")
# Or use the Statevector simulator (exact simulation)
backend = service.backend("simulator_statevector")
これらのシミュレータはキュー待ち時間がなく、即座に実行されます。実際のノイズ特性が必要な場合や、実機でベンチマークを取りたい場合には実 QPU を使用してください。
HLQuantum を IBM Quantum で使う
複数の SDK を使用している場合、HLQuantum は IBM ハードウェアへのよりすっきりしたインターフェースを提供します:
import hlquantum as hlq
qc = hlq.Circuit(2)
qc.h(0).cx(0, 1).measure_all()
# Run on IBM's free QPU
result = hlq.run(
qc,
backend="qiskit",
device="ibm_sherbrooke", # or use "auto" for least busy
shots=1024,
error_mitigation="zne"
)
print(result)
HLQuantum はトランスパイル、ジョブの投入、結果の解析を自動的に処理します。高度な設定については Qiskit SDK ガイド の全文を参照してください。