タグ: ベンチマーク

  • Max-Cutの量子最適化、最良の1件と平均の成績をどう比べるか

    Max-Cutの量子最適化、最良の1件と平均の成績をどう比べるか

    量子最適化の結果に「最適解が得られた」とあっても、それが1回だけなのか、何度も得られたのかで受け取り方は変わります。たくさん試した末の1件と、少ない試行で繰り返し得られる良い答えは、同じ成績ではありません。

    二つのグループに分ける組合せ問題「Max-Cut」を使うと、この違いを小さな例で確かめられます。QED-Cの共同研究による評価方法と公開実装を手掛かりに、最良値、平均、そこへ至る試行の量を分けて見ていきます。[1]

    簡単にまとめると?

    • Max-Cutは、点を二組に分け、組をまたぐ辺の数を大きくする問題です。最良の1件と標本全体の平均は、違う問いに答えます。
    • 試行回数を増やすと、同じ分布でも良い答えを一度は引き当てやすくなります。最良値の比較には、試行数と時間の条件が必要です。
    • 結果を読むときは、問題、成績の指標、試行予算をそろえます。量子回路だけでなく、パラメーターを更新する古典計算の時間も区別します。

    Max-Cutの「良い答え」を、四つの点で考える

    正方形の四つの頂点に点を置き、隣同士を4本の辺で結んだグラフを考えます。それぞれの点を赤か青に分け、両端の色が違う辺を数えます。この数がcut値です。色を交互に置けば4本すべてが組をまたぎ、この例の最大値は4になります。全点を同じ色にすれば0本です。

    4点への二色の割当ては16通りあります。色を逆にしたものも別の割当てとして数えると、cut値が0の割当ては2通り、2は12通り、4は2通りです。どの割当ても同じ確率で選ぶなら、平均は2ですが、最良の答えとして4を得る可能性もあります。

    これは説明のために全16通りを数えた独立の小例です。原著が評価に使う、各点につながる辺が3本のグラフとは異なり、量子回路の実行結果でもありません。原著のMax-Cutでも、組をまたぐ辺を多くするという目的は同じです。[1]

    「最良」と「平均」で順位が入れ替わる

    同じ正方形の問題から、次のような4回分の答えが得られたとします。AとBは指標の違いを見るために作った標本で、装置やアルゴリズムの測定値ではありません。

    最大cut値が4の同一問題で、4回分の標本を比べる仮例
    標本 4回のcut値 最良値 平均 平均÷最適値4
    A 4、0、0、0 4 1 0.25
    B 2、2、2、2 2 2 0.50

    最良の答えだけならAが上です。一方、標本全体の平均ではBが上になります。一度でも良い候補を得て採用したいのか、繰り返し良い候補が出るかを見たいのかによって、必要な指標が変わるわけです。ただし、4回の標本だけで、次回以降もBの方が安定すると確定できるわけではありません。

    原著は、標本の平均を最適値で割る近似比に加えて、最良の測定結果や、良い側の一部を重視する指標も比較しています。平均の近似比が1なら、その標本はすべて最適値ですが、最良値の比が1でも他の答えの質は分かりません。[1]

    符号にも注意が要ります。確認した公開実装は、最小化する計算へ渡すため平均cut値にマイナスを付け、成績を記録するときに符号を戻して最適値で割っています。ここでは一貫して正のcut値で比べています。値が大きいほど良いのか、小さいほど良いのかを確かめるだけでも、異なる出力の取り違えを防げます。[2]

    最良値は、試す回数にも左右される

    先ほどの16通りを毎回独立に同じ確率で選ぶ方法では、1回で最適値4を得る確率は2÷16、つまり12.5%です。同じ選び方でも8回試せば、一度以上4を得る確率は約65.6%になります。最適値を一度も引かない確率を使い、1−(7/8)8で求められます。

    選ぶ仕組みは改善していません。それでも、試す回数を増やすだけで「最適解を得られた」と報告しやすくなります。一方、この選び方の1回あたりの期待cut値は2のままです。この計算は一様で独立な試行の仮例であり、学習中の量子回路の出力確率を表すものではありません。

    量子近似最適化アルゴリズム(QAOA)は、量子回路から得た標本を評価し、古典計算で回路のパラメーターを更新していきます。回路を何回測ったかを示すshotsだけでなく、更新を何回行い、初期値を変えて何回やり直したかも、結果を得るための予算に含まれます。最終回のshots数だけでは、探索全体でどれほど試したかは分かりません。[1]

    同じ時間での質か、同じ質に届く時間か

    原著が整理する比較の一つは、時間を決めたときに、どの程度の答えが得られるかです。もう一つは、目標とする答えの質へ届くまでに、どれだけの時間がかかるかです。前者は締切がある仕事に、後者は必要な品質を先に決められる仕事に対応します。[1]

    その時間が量子処理だけなのか、古典計算も含むのか、準備などを含む全体の経過時間なのかで、比較の意味は変わります。回路の中だけが速くても、パラメーター更新に時間を使えば、候補を得るまでの総時間が同じように短くなるとは限りません。

    結果の表を見るときは、まず同じ問題を比べているかを確かめます。次に、平均なのか最良値なのか、既知の最適値を分母にしているのかを読みます。最後に、shots、更新回数、やり直し回数と、時間に含めた範囲を見ます。大きな問題で最適値そのものが分からない場合、既知の最良値との比を「最適値との比」と呼ばない区別も必要です。

    原著の結果は、こうした評価方法を具体化するための例であり、すべての装置や設定を尽くした性能順位ではありません。良い答えを1件得たという数字に、答えの分布と試行予算を添えることで、その結果が自分の用途に合うかを判断しやすくなります。[1]

    参考資料

    1. Thomas Lubinskiほか「Optimization Applications as Quantum Performance Benchmarks」arXiv:2302.02278v2、2024年2月1日改訂。Max-Cutの定義、品質指標、時間との関係、結果の適用範囲。本文ではこの保存版を参照。
    2. SRI International / QED-C「QC-App-Oriented Benchmarks:Max-Cut公開実装」commit 21dfc331ce61a2170b06f88259aa19f901c021bc。compute_sample_meanと品質比の記録処理を参照。
  • QED-Cの量子ベンチマーク、結果の品質と実行時間を同じ条件で比べる

    QED-Cの量子ベンチマーク、結果の品質と実行時間を同じ条件で比べる

    量子コンピューターを選ぶとき、「量子ビットが多い」「計算が速い」という数字だけでは、任せたい計算に向くかは分かりません。同じ問題を解かせたのか、結果はどれくらい理想に近いのか、時間には準備や待ち時間も入っているのか。比較する前に揃えたい条件があります。

    Quantum Economic Development Consortium(QED-C)の研究者らは、用途に近いアルゴリズムを使い、回路の大きさと結果の品質を一緒に見るベンチマークを提案しています。原論文と公開実装から、性能グラフを読むときに何を確かめればよいかをたどります。[1][2]

    簡単にまとめると?

    • 量子ビット数だけでなく、同じ問題・回路の大きさ・結果の品質を揃えて比較します。
    • 「結果の忠実度」は理想的な出力分布との近さを表す指標で、そのまま正解率にはなりません。
    • 回路の変換条件と、どこからどこまでを測った時間なのかを確認してから、用途への適合を判断します。

    答えが分かる小さな計算で、回路を試す

    アルゴリズムの名前が同じでも、入力や問題の大きさが違えば、装置がこなす仕事は変わります。この研究では、問題の大きさごとに回路を選び、入力やパラメーターを変え、結果を集めます。実機が動かせる命令へ変換するコンパイラーも通るので、評価対象にはハードウェアだけでなく、その変換の仕方も含まれます。[1]

    具体例が、量子フーリエ変換(QFT)を使うQFT(1)ベンチマークです。整数を量子ビットに入れ、QFTで別の表現に移し、その表現の中で1を加え、逆QFTで戻します。正しい結果があらかじめ分かるため、得られた出力と比べられます。

    説明用に3量子ビットで考えると、表せる整数は0から7です。入力が3なら結果は4、7なら一周して0になります。この例は原論文の手順を小さい数で確かめたもので、実機の測定結果ではありません。また、答えを確かめやすい回路が動いたことだけで、実務の量子計算まで有利になったとは言えません。論文も、このQFTの入力条件と、一般の用途で必要になる条件を区別しています。[1]

    グラフの位置と色を、一緒に読む

    図1の縦軸は回路が使う量子ビット数、横軸は共通の基準で数え直した回路の深さです。深さは、同時には進められない操作を何段重ねるかに関係します。色は、その位置に集まる回路の「結果の忠実度」の平均です。同じ量子ビット数でも、深い回路まで品質を保てるかを見るための表示になっています。[1]

    三つのアルゴリズム群について、縦軸に回路幅、横軸に回路深さ、色に平均結果忠実度を示すノイズシミュレーターのプロット
    図1 回路の幅・正規化した深さ・結果の忠実度を合わせて示す、ノイズを含むシミュレーターの例。左・中央・右は異なる種類のアルゴリズム群です。灰色の背景は量子ボリュームからの予測であり、各マスの実測値ではありません。Thomas Lubinskiほか「Application-Oriented Performance Benchmarks for Quantum Computing」IEEE Transactions on Quantum Engineering, 4 (2023), 3100332、Fig. 1(出版版p.2)。原論文、CC BY 4.0。出版版PDFから図領域のみ切り出してPNG化。図内の描画・配色・注記は変更していません。 図中の実行日時は2022年10月15日。図は横にスクロールでき、原寸でも開けます。 原寸図を開く。出典[4]

    これはノイズを含むシミュレーターの例です。灰色の背景は、別の総合指標である量子ボリュームから予測した領域で、実行結果を塗った色とは違います。予測と色が合わない場所も、アルゴリズムによって得意・不得意が変わる手掛かりになります。現在の実機の順位表としては読めません。

    横軸にも注意が必要です。論文の「正規化した深さ」は、共通のゲート集合や接続条件へ変換して数えます。一方、実機では量子ビットの接続に制約があり、状態を入れ替える操作などが追加されます。同じ横軸の値でも、実機での操作段数や所要時間が同じとは限りません。変換はコンパイラーの手法にも依存するため、その版や設定を揃える必要があります。[1]

    忠実度0.6を「正解率60%」と読まない

    原論文の指標は、観測した出力分布と理想の分布との近さを求め、一様なランダム出力を基準の0、理想との一致を1とするように尺度を調整します。基準を下回る値は0に丸めます。そのため、表示された値は、単純に正解が出た割合とは異なります。[1]

    たとえば先ほどの3量子ビットのように正解が1種類なら、均等な当てずっぽうで当たる割合は8分の1です。仮に正解が出た割合を60%とすると、この指標は(0.60−0.125)÷(1−0.125)で約0.54になります。これは定義を使った説明用の検算で、装置の性能値ではありません。

    理想の出力自体が一様なら、この尺度の基準を作れません。また、平均値だけでは、特定の入力で悪い結果が出ることを見落とします。論文の付録Bは、指標とアルゴリズムの正解確率が食い違う例を示しています。自分の用途で何を正解とするか、どの入力を含めた平均かを併せて読む必要があります。[1]

    「何秒」の始まりと終わりを揃える

    利用者が結果を得るまでは、回路の作成、実機向けの変換、古典計算とのやり取り、量子回路の実行があります。共有サービスなら、順番待ちも加わります。原論文の時間評価は主に量子回路の実行部分を扱っており、依頼してから結果が戻るまでの全体時間ではありません。提供側APIの時間項目も、範囲が必ずしも同じとは限らないと指摘しています。[1]

    たとえばパラメーターを変えて何度も計算するとき、毎回回路を作って変換し直す方法と、変換済みの回路へ値だけ渡す方法では、準備の負担が変わります。量子回路の実行時間だけが短くても、作業全体が速くなるとは限りません。次の条件を合わせると、比較結果を用途に結び付けやすくなります。

    表1 比較前に揃える条件。原論文を基にQuantum Seaが整理。
    確認するもの 比較で取り違えないために
    問題と入力 同じアルゴリズム、大きさ、回路の選び方と入力条件か
    品質の数え方 何と照合した指標か、何回実行したか、平均の対象やばらつきはどうか
    回路の変換 コンパイラーの版・最適化・接続条件が同じか
    時間の範囲 準備、変換、反復、量子実行、待ち時間のうち何を含むか

    公開コードも、指標の定義と版を確かめる

    QED-Cは実行用のコードを公開しています。ただし、READMEはこれを性能標準ではなく、複数の実行環境で参照用アプリケーションを試すための試作群と位置付けています。確認した固定版のパッケージ表記は2.0.8で、コードのライセンスはApache 2.0です。コードが公開されていること自体は、特定装置で性能を再現できた証拠ではありません。[2]

    実際、この版の指標計算には、測定する量子ビットが16を超える場合、処理の負担を抑えるために一様分布を基準とした再尺度化を省く分岐があります。その場合、同じfidelityという項目名でも、返すのは再尺度化前の分布の近さです。論文の説明とコードの出力を結ぶには、版だけでなく、その条件でどの処理が通るかも必要です。本稿は保存した実装を読んだ範囲であり、このパッケージや実機を実行した評価ではありません。[3]

    自分の仕事に向く量子計算機を探すなら、まず小さい既知の問題で出力を確かめ、回路を大きくしたときの品質と、結果までにかかる時間を追います。そこで得た比較を、別の問題や現在の装置へ広げる前に、入力・指標・変換・時間範囲をもう一度揃える。それが、このベンチマークから得られる実用的な読み方です。

    参考資料

    1. Thomas Lubinskiほか「Application-Oriented Performance Benchmarks for Quantum Computing」。arXiv:2110.03137v3、2023年1月10日投稿版(PDF表紙の日付は1月11日)。本稿は第III節、第V節、付録A・B・CとFig.1を参照。書誌・版/原論文PDF。
    2. QED-C Standards TAC「QC-App-Oriented-Benchmarks」。README、pyproject.toml、LICENSE。2026年10月14日確認。固定版README/版情報/コードの利用条件。
    3. 同リポジトリ qedclib/metrics.py、hellinger_fidelity_with_expected・rescale_fidelity・polarization_fidelity。固定版の指標計算。
    4. 図1の使用版:Thomas Lubinskiほか「Application-Oriented Performance Benchmarks for Quantum Computing」、IEEE Transactions on Quantum Engineering 4 (2023)、論文番号3100332、DOI: 10.1109/TQE.2023.3253761。2023年3月7日公開、出版版の現行版日付は2023年4月19日、全32頁、Fig.1はp.2。出版社DOI/出版社公開PDF/CC BY 4.0。図はこの出版版から採用し、本文の技術説明は参考資料[1]の版を基にしています。

    公開実装の確認コミット:21dfc331ce61a2170b06f88259aa19f901c021bc。本稿の数値例と表はQuantum Seaによる説明用の整理です。

  • SPEC CPU 2026、52のベンチマークで「速さ」と「処理量」を分ける

    SPEC CPU 2026、52のベンチマークで「速さ」と「処理量」を分ける

    サーバーの性能表で、CPUの横に大きなスコアが並んでいます。その数字が高いほど、一つの仕事が早く終わるのでしょうか。それとも、たくさんの仕事を同時に処理できるのでしょうか。

    SPEC CPU 2026は、その二つを分けて比較するベンチマークです。計算性能を測る試験プログラムを52本収録し、速さを見るSPECspeedと、単位時間あたりの処理量を見るSPECrateを用意しています。整数と浮動小数点の分類を組み合わせ、四つの測定系に分かれます。[3]

    2026年のOCP APAC Summitでは、非営利の性能評価団体SPEC(Standard Performance Evaluation Corporation)のDavid Reiner氏が、新版の変更点を紹介しました。2026年5月に公開されたこの新版から、CPUの数字を読むときに押さえたい点を見ていきます。[1・2・6]

    簡単にまとめると?

    • SPEC CPU 2026は、一つの仕事を終える速さと、複数の仕事を同時に処理する量を分けて測ります。
    • スコアはメモリーやコンパイラーにも左右され、同じ版・測定系と構成条件を確かめて比較します。
    • 任意のエネルギー測定はシステム全体が仕事に使ったエネルギーを見るもので、CPU単体のTDPではありません。

    CPUだけでなく、メモリーとコンパイラーも測る

    SPEC CPUという名前ですが、結果はCPUチップだけでは決まりません。キャッシュや主記憶の構成、プログラムを実行できる形に変換するコンパイラーと、その最適化も測定対象に含まれます。実際のアプリケーションに由来する計算を、こうした組み合わせで動かした結果です。[2・3]

    たとえば同じCPUを積んだサーバーでも、メモリーの構成やコンパイラーの設定が違えば、結果をそのまま「CPUの差」とは読めません。性能表の構成欄まで見ることで、どのような条件で出た値なのかが分かります。

    SPECspeedは一つの仕事、SPECrateは同時に進める仕事

    SPECspeedでは、各ベンチマークを一つずつ実行し、仕事を終えるまでの時間を測ります。SPECrateでは、同じベンチマークの複数のコピーを同時に動かし、単位時間あたりにどれほど仕事を進められるかを見ます。[3・4]

    測定系ベンチマーク数スコアが高いときの意味
    SPECspeed 2026 Integer13整数系の仕事を、より短い時間で終える
    SPECspeed 2026 Floating Point13浮動小数点系の仕事を、より短い時間で終える
    SPECrate 2026 Integer14整数系の仕事を、単位時間あたりにより多く処理する
    SPECrate 2026 Floating Point12浮動小数点系の仕事を、単位時間あたりにより多く処理する

    整数系にはコンパイラーやデータ圧縮、浮動小数点系には流体や大気のシミュレーションなどが入っています。表の本数は、四つのスイート(試験プログラムの組)を合計して52本です。[4]

    ここで気をつけたいのが、SPECspeedの「一つ」は、1コアや1スレッドという意味ではないことです。一つの仕事を複数のスレッドに分けて進められるベンチマークもあります。Reiner氏の資料では、整数系SPECspeedで並列処理を使えるものが、前版の10本中1本から、新版では13本中9本へ増えたと説明しています。[2]

    SPECrateは各コピーを1スレッドで動かします。見るときは「何コピーを同時に実行したか」、SPECspeedなら「何スレッドを使ったか」も一緒に確かめると、サーバーの使い方を想像しやすくなります。[4・5]

    52本に増え、暗号化検索やグラフ探索も加わった

    前版のSPEC CPU 2017は43本、新版は52本です。ただ増やしただけでなく、扱うアプリケーションの分野も広がりました。LLVMコンパイラーやPythonインタープリター、機械翻訳など、いまのソフトウェアを支える処理が加わっています。[2・6]

    新しいセキュリティ分野の例が750.sealcrypto_rです。これは、データを復号せずに計算できる「準同型暗号」を使う検索です。データベースと検索条件を暗号化したまま照合する処理が含まれています。[2・7]

    854.graph500_sでは、点と線でつながりを表すグラフをたどります。ある点から近い順に探す幅優先探索や、点どうしの最短経路を求める処理を使います。また、772.marian_rには英語をドイツ語へ訳すニューラル機械翻訳が含まれます。「CPUが速い」の中に、異なる種類の仕事があることが見えてきます。[8・9]

    52という数は、入力条件の数ではありません。各ベンチマークには、入力データや処理内容を定めたワークロードがあります。発表では、このワークロードの種類も増やしたと説明しています。同じプログラムを違う入力で動かすことで、特定の処理だけに偏らず、CPU内部のさまざまな動きを調べる狙いです。[2]

    baseとpeakでは、最適化の条件が違う

    結果の名前の末尾には、baseやpeakが付きます。baseは、同じスイートの同じ言語に共通するコンパイラー設定を使うなど、最適化の条件をそろえた測定です。peakは、ベンチマークごとに設定を選ぶ余地が広くなります。baseも最適化を行うため、「何も調整していない状態」という意味ではありません。[5]

    比較するときは、まずSPECspeedかSPECrateか、IntegerかFloating Pointか、baseかpeakかを合わせます。そのうえで、CPUの個数と有効なコア数、メモリー構成、OS、コンパイラー、コピー数やスレッド数を読みます。条件が異なる構成を比べる場合は、何が違うのかも含めて判断することになります。[5]

    たとえばサーバー全体の処理能力を知りたいなら、コア数の異なる機種どうしを比べる意味があります。一方で、その差を「1コアあたりの速さ」と呼ぶには、別の切り分けが必要です。何を選ぶための比較なのかを先に決めると、スコアの使い道がはっきりします。

    CPU 2017の点数から、CPU 2026へは換算できない

    旧版と新版のスコアを並べて、その増減を性能向上率として読むことはできません。SPECは、CPU 2017とCPU 2026の結果を相互に換算する式はないと説明しています。プログラム、入力データ、実行規則に加え、スコアの基準となる参照機も変わっているためです。[4]

    同じサーバーで新版の点数が小さくなっていても、それだけで性能が落ちたとは言えません。世代の異なるCPUを比較したいときも、両方を同じ版・同じ測定系で測った結果から出発するのが基本です。

    電力を測るなら、仕事を終えるまでのエネルギーも見る

    SPEC CPU 2026には、電力を測定してエネルギー指標を出すオプションがあります。これは全ての結果に自動で付くものではありません。規則に対応した電力計と温度センサーを使い、対象システムとは別の制御用システムで測定データを集めます。[3・5]

    電力計を置くのは、AC電源と測定対象システムの間です。CPU単体の消費電力や、仕様表のTDPを示す数値ではありません。エネルギー指標は、実行時間の代わりに仕事に要したエネルギーを使い、参照機との比から計算します。[4・5]

    電力とエネルギーは、見ているものも異なります。たとえば、ある処理中の平均電力が小さくても、終了までに長い時間がかかれば、その仕事で使うエネルギーは増える場合があります。性能とエネルギーの結果を並べることで、処理量を増やしたいのか、仕事あたりのエネルギーを抑えたいのか、目的に沿って考えやすくなります。

    自分の仕事に近い測定から読む

    SPEC CPU 2026は、計算を中心とする仕事を比べるための共通の基準です。ネットワークやストレージの性能を主に測るものではなく、機械翻訳が含まれるからといって、AIサービス全体の応答時間を表すわけでもありません。自分が使うアプリケーションの性能を、そのまま代わりに測れるものではないとSPECも説明しています。[4]

    性能表に出会ったら、最初に点数の大きさを見る前に、名前を最後まで読んでみる。版、speedかrateか、整数か浮動小数点か、baseかpeakか。そして構成と実行条件へ進む。その順番で読むと、一つの数字が、自分の仕事に合うサーバーを考えるための手がかりになります。

    参考資料

    2026年9月26日確認。OCP公式掲載スライドとSPECの公開文書をもとに構成しました。講演動画の発言や質疑は未確認です。

    [1]Open Compute Project「2026 OCP APAC Summit」発表一覧。演題・登壇者と公式資料への導線。

    [2]David Reiner「SPEC CPU 2026 — What’s New, What’s Improved and Why it Matters」公式掲載スライド。全17頁。測定対象はp.8、世代差とワークロードはpp.10–12、分野別の例はpp.13–14。

    [3]SPEC「SPEC CPU 2026」。四つの測定系、52ベンチマークと任意のエネルギー測定。

    [4]SPEC「CPU 2026 Overview / What’s New?」。測定範囲、各スイートの本数、コピー・スレッド、指標の計算と旧版からの移行。

    [5]SPEC「CPU 2026 Run and Reporting Rules」。base・peak、実行条件、測定機器、構成情報の開示。

    [6]SPEC「SPEC Releases the SPEC CPU 2026 Benchmark Suites」。2026年5月5日の公開発表と変更点。

    [7]SPEC「750.sealcrypto_r」。暗号化したデータベースと検索条件を使う準同型暗号のベンチマーク。

    [8]SPEC「854.graph500_s」。幅優先探索と全点対最短経路を使うベンチマーク。

    [9]SPEC「772.marian_r」。英語からドイツ語へのニューラル機械翻訳。