「AIへの質問1回当たりの電力」は、そのままでは調達の比較指標になりません。何を成功と数え、どこで電力を測り、失敗や再試行を含めたか。まずその条件をそろえます。ここでは、AIがサポート返信を下書きし、担当者がポリシーと照合して承認する業務を例に、数値を追える小さな計算表を作ります。以下の測定値はすべて説明用の架空データであり、Meydoやベンダーの実測値、電力網の公表値ではありません。
比較する仕事と合格条件を先に決める
候補A・Bに同じ代表的な問い合わせ10件を与え、難しいエスカレーションも含めます。モデル、プロンプト、検索対象、ハードウェア、地域、ソフトウェア版、回答長の方針、応答時間の上限を記録し、比較時に条件が変わらないようにします。試行と再試行はすべて電力計測に含め、分母にはAPI呼び出し回数ではなく、担当者が確認して受理した完了タスク数を使います。短い回答でも必要なエスカレーションを逃したなら、省エネの成功例には数えません。MLCommonsのMLPerf Powerの説明も、電力だけでなくワークロード、性能、精度・品質条件を組にして評価しています。ただし、ここでの試算はMLPerfへの提出でも、その認定を受けた結果でもありません。
求める元データは、時刻付きのIT入力電力(サーバーに加え、帰属を説明できるネットワーク・ストレージ)、専用の測定境界がある場合は同じ時間帯の施設入力電力、両境界のアイドル時の記録、リクエストと品質判定のログ、区間ごとの場所と時刻です。GPUのテレメトリーだけなら、それはもっと狭い境界の値です。IEAによるデータセンターの構成要素の整理にはサーバー、ストレージ、ネットワーク、冷却などが含まれますが、データセンター全体の電力使用量を「AIの質問1回」の普遍的な値へ換算する根拠にはなりません。
架空の計測表で計算する
次の6行はすべて架空の入力値です。AとBを同じ仮想地域で、それぞれ連続する10分区間を3回計測した設定です。「施設入力」は付帯設備を含む専用施設相当の仮想メーターを意味し、サーバーのコンセント値でも実際のコロケーション請求値でもありません。ITのアイドル基準は各区間100 W、施設入力のアイドル基準は130 Wと仮定します。排出係数はkg CO2e/kWh単位の例示用の平均値で、実際の地域の検証済みデータではありません。
| 候補 | 区間(各10分) | IT入力 W | 施設入力 W | 例示用排出係数 kg CO2e/kWh |
|---|---|---|---|---|
| A | 1 | 160 | 205 | 0.4 |
| A | 2 | 180 | 230 | 0.5 |
| A | 3 | 140 | 185 | 0.3 |
| B | 1 | 150 | 190 | 0.4 |
| B | 2 | 150 | 190 | 0.5 |
| B | 3 | 150 | 190 | 0.3 |
各行の使用電力量(kWh)は、電力(W)×10/60時間÷1,000。候補ごとに3行を合計します。場所に基づく排出量の例示計算では、アイドル分を引く前の施設入力電力量にその行の係数を掛けて足します。合計電力量に都合のよい時間帯の係数だけを掛けてはいけません。この係数は技術比較の仮置きであり、GHGインベントリの作成手法や、処理によって電力網の排出量が増減したという証拠ではありません。現行のGHG ProtocolのScope 2ガイダンスでは、購入した電力等の企業インベントリについて、地域の平均的な供給を扱う所在地基準と、品質要件を満たす契約上の情報を扱う市場基準を区別します。証書だけでも、所在地基準の推計だけでも、その時間の電力が物理的に排出ゼロだったとは証明できません。
架空の入力から、AはITが0.080 kWh、施設入力の総量が約0.103 kWh、12試行中8件受理。BはITが0.075 kWh、施設入力の総量が0.095 kWh、11試行中9件受理となります。受理された1件当たりの施設入力電力量は、Aが約13 Wh、Bが約11 Wh。時間帯ごとの係数を対応させた所在地基準型の例示値は、受理1件当たりそれぞれ約5.3 g CO2e、約4.2 g CO2eです。実在のベンダー間の差ではなく、作った数字から出る計算結果にすぎません。
アイドル基準を引くのは、別に表示する増分を問う場合だけです。増分のIT電力量はAが0.030 kWh、Bが0.025 kWh、施設入力はAが約0.038 kWh、Bが0.030 kWh。共有サービスを常時稼働させる電力量全体として増分だけを示してはいけません。年間の施設PUEを10分の仕事に機械的に掛けて「実測施設電力」とするのも誤りです。The Green GridのPUEの定義は、データセンター全体の使用電力量をIT機器の使用電力量で割ったもの。ここで計算できる約1.29(A)、約1.27(B)は、仮想の専用境界で同じ短時間に得た施設入力/ITの比にすぎず、認証済みの施設PUEでも、共有施設の消費をこの業務へ配賦する係数でもありません。
計算を再現するには、次のコードをenergy-worksheet.pyとして保存し、Pythonの標準ライブラリだけでpython energy-worksheet.pyを実行してください。受理件数がゼロの場合や、施設入力がIT電力より小さい不整合な行はエラーにします。数値はなお架空であり、実際の主張には校正された計測器、時刻を同期した記録、帰属方法の説明が必要です。
"""Illustrative, synthetic meter worksheet; not a benchmark or inventory.
Run: python energy-worksheet.py
Replace every input with measured, timestamp-aligned observations before using on a vendor claim.
"""
from decimal import Decimal as D
# Every number below is invented for arithmetic demonstration only. One row = ten minutes.
HOURS = D(1) / D(6)
IDLE_IT_W = D(100) # separately observed idle at same meter boundary
IDLE_WALL_W = D(130) # illustrative facility-equivalent idle, not a real facility meter
TRAINING_KWH = D(2) # hypothetical attributable training energy, excluded from operational result
EXPECTED_LIFETIME_SUCCESSES = D(10000) # hypothetical allocation denominator
# kg CO2e/kWh: illustrative location/time average factors; NOT certified grid data.
ROWS = {
'A': [(D(160), D(205), D('0.4')), (D(180), D(230), D('0.5')), (D(140), D(185), D('0.3'))],
'B': [(D(150), D(190), D('0.4')), (D(150), D(190), D('0.5')), (D(150), D(190), D('0.3'))],
}
# Same ten evaluated cases per option; attempts include failures/retries; only accepted tasks count.
COUNTS = {'A': (D(12), D(8)), 'B': (D(11), D(9))}
def calculate(rows, attempts, successes):
if not rows or successes <= 0 or attempts < successes:
raise ValueError('Nonempty rows and valid attempts/successes required')
if any(it < 0 or wall < it or ef < 0 for it, wall, ef in rows):
raise ValueError('Invalid meter boundary or emissions factor')
it_kwh = sum((it * HOURS / 1000 for it, _, _ in rows), D(0))
wall_kwh = sum((wall * HOURS / 1000 for _, wall, _ in rows), D(0))
idle_it = IDLE_IT_W * HOURS * len(rows) / 1000
idle_wall = IDLE_WALL_W * HOURS * len(rows) / 1000
emissions_kg = sum((wall * HOURS / 1000 * ef for _, wall, ef in rows), D(0))
return dict(it_kwh=it_kwh, wall_kwh=wall_kwh,
incremental_it_kwh=it_kwh-idle_it,
incremental_wall_kwh=wall_kwh-idle_wall,
wall_it_ratio_not_pue=wall_kwh/it_kwh,
location_kg=emissions_kg,
wall_wh_per_success=wall_kwh*1000/successes,
location_g_per_success=emissions_kg*1000/successes,
conditional_training_wh_per_success=TRAINING_KWH*1000/EXPECTED_LIFETIME_SUCCESSES)
if __name__ == '__main__':
for name, rows in ROWS.items():
attempts, successes = COUNTS[name]
result = calculate(rows, attempts, successes)
print(f'{name}: {int(attempts)} attempts, {int(successes)} accepted tasks')
for key, value in result.items():
print(f' {key}: {value.quantize(D("0.0001"))}')
# Negative controls: do not silently divide by zero or accept mismatched boundaries.
for bad_rows, attempts, successes in [(ROWS['A'], D(1), D(0)), ([(D(200), D(100), D('0.4'))], D(1), D(1))]:
try:
calculate(bad_rows, attempts, successes)
except ValueError:
pass
else:
raise AssertionError('Invalid input accepted')
print('Input guards: PASS')
学習の配賦とScope 2の算定は別の話
この表は再試行を含む推論時の稼働だけを扱っています。製品にモデル学習分も割り当てるなら、学習実行の電力量、この製品へ帰属させる割合、想定する生涯の受理済みタスク数を別々に出してもらいます。たとえば帰属分の学習電力量を架空の2 kWhとすると、将来の受理件数が1万件なら1件当たり0.2 Wh、1,000件なら2 Whです。どちらの生涯件数も観測していません。追加学習、実験、ストレージ、機器製造、施設外ネットワーク、利用者の端末は、別途測るか範囲を見積もらない限り対象外です。複数の顧客が共用するモデルの学習全量を、一件の試験導入へ押しつけることもできません。
ベンダーが企業としてScope 2を主張する場合は、所在地基準と市場基準の双方について、係数の対象年・地域、契約手段の種類、償却の記録、該当する品質基準の根拠を確認します。市場基準の「再生可能」という数値を、この表の物理的な電力網を表す係数欄へ代入しないでください。現行のインベントリ算定の参照先は2015年のGHG Protocol Scope 2ガイダンスです。一方、2025年の改定に向けた意見募集草案は、所在地基準の係数を選ぶ際の地域・時間の細かさや、特定の契約手段の時間単位のマッチングを提案し、実行可能性に応じた措置や例外も議論しています。草案の時間単位の提案は、現時点で有効な義務ではありません。表の区間別推計は任意の分析であって、草案への準拠や、回避排出量の算定を意味しません。
小さな値より、判断を支える記録を
この仮想試験では、Bの施設入力電力量が小さく、受理件数も1件多い。ただし安全性と応答時間の条件をともに満たして初めて、Bを選ぶ理由になります。Aだけが重大なエスカレーションを正しく扱えた場合や、Bの短い回答で確認担当者の負担が増えた場合は、結論が変わります。通常負荷と混雑時の両方で再試験し、遅延の分布と失敗の種類を残してください。この規模の試験を順位表にせず、複数日にわたる反復結果と不確実性の幅で判断します。
施設入力が取得できなければ、ITだけの使用電力量と、付帯設備について明示した仮定の幅を示し、仮定したPUEを「施設の実測値」と呼ばないこと。時刻、地域の排出係数、契約証拠が欠けるなら、該当する排出量欄は理由を添えて不明のままにします。アイドル値が不安定だったり施設を共用したりする場合は、総量と増分配賦の感度幅を併記し、他の利用者との重なりを説明します。受理件数がゼロなら「受理1件当たり」は有限の値になりません。使用電力量と失敗件数をそのまま報告します。
ベンダーに渡す依頼は具体的です。電力計の生データと校正・境界の説明、リクエストIDと再試行、品質判定、版と地域、係数の出所と算定方式、除外項目と不確実性をそろえてもらう。端末上のAIを比べるなら、バッテリーと熱設計を含む境界へ切り替わります。端末上のエージェント型AIに必要なハードウェアも参照してください。データセンターの施設入力やPUEの欄をスマートフォンへ転用しないことが、比較の出発点です。
