Stable Diffusionの電気代を実測 ~ 画像生成AI実験メモ ⑦

ローカルPCで Stable Diffusion を使用した画像生成を楽しんでいますが、クラウドでの画像生成との大きな違い、それは(PCやGPUを所有していれば)、画像を生成するたびに発生するコストが電気代くらいだということかと思います。

クラウド上の画像生成AIでは、月額料金や生成回数に応じた料金がかかりますよね。それがローカルPCでは発生しないのが大きな魅力です。

とはいえ、画像生成時、GPUの負荷がかかるたびにGPU温度が跳ね上がるのを見ていると、いったい、どれくらいの電気代がかかるんだろう、と気になってしまうもの。

特に高性能なGPUほど消費電力も大きいため、画像を大量に生成すると電気代もかなり増えるのではないか、と以前から気になっていました。

そこで今回は、スマートプラグを使用してPC全体の消費電力量を実測し、Stable Diffusionによる画像生成にどれくらいの電気代がかかるのかを調べてみました。

現在メインで使用しているRTX 5070 Ti(以下 5070 Ti)搭載のOMEN35Lに加え、以前にメインで使用していたRTX 2060 SUPER(以下 2060 SUPER)搭載のOMEN25Lでも測ってみたいと思います。

本記事に掲載している人物画像は、すべて生成AIにより作成したものであり、特定の実在人物をモデルにしたものではありません。

スマートプラグとは?

今回、計測に使用するのは、TP-Linkの Tapo P110M です。

詳細は、公式サイトで確認して頂くのが一番かと思います。

一般に、スマートプラグとは、コンセントと家電の間に挟んで、電源のON/OFFなどをスマホやネットワーク経由で行う機器の総称で、例えば、

・スマホから離れた場所の家電をON/OFFする
・決まった時刻に自動で電源を入れる/切る
・(機種によっては)消費電力を測定/記録する

といったようなことができます。

接続した機器のON/OFF制御が遠隔でできるので、もともとはその用途で購入したものだったんですが、ほぼリアルタイムで電力使用量の確認ができる「電力モニタリング機能」も大きな売りのひとつです。

今回は、その電力モニタリング機能を使用して、PCの消費電力を実測しようという試みです。

手持ちのスマホに Tapoアプリをインストールし、TP-Link IDを作成してログイン。その後、スマートプラグをWi-Fiに接続させると、スマホで電力使用量のモニタリングができるようになります。

今回は本筋ではないので導入の詳細も省きますが、いろいろ出来るスマートプラグ。いずれ、このスマートプラグをテーマとした話も書いてみたいですね。

ひとまずは、5070 Ti搭載のOMEN35L、2060 SUPER搭載のOMEN25Lの消費電力量を計測することが出来るようになりました。

アイドル時の消費電力

まずは、安静時、なにも処理をしていない、というと語弊がありますかね。OSが起動しているものの、意図的にはアプリを開いていない状態で、どれくらいの電力消費があるかを確認しておきます。

とはいえ、その差分だけを「画像生成に要する消費電力量」とするつもりはありません。24時間稼働させることが前提のサーバ機なら、その考え方もありでしょうが、画像生成をするためにPCの電源を入れるわけですし、実際に電力消費量として電力会社に支払う額になるわけですからね。

特に何もしなくても、これだけ消費しているんだ、ということの参考に、ということです。

電気代は、2026年8月時点の関西電力「従量電灯A」の第3段階料金を基準とし、電力量料金28.59円/kWh、燃料費調整単価-1.26円/kWh、再生可能エネルギー発電促進賦課金4.18円/kWhを合計した 31.51円/kWh として算出しています。

月間使用量300kWh超に適用される料金を基準にしていますので、実際の電気料金は契約プランや月間使用量などによって異なります。使用量が少ない家庭だと、これより安くなる、ということですね。

では、さっそく。

機種1時間あたりの
消費電力量
1時間あたりの
電気代
OMEN35L(RTX 5070 Ti)0.045kWh約1.418円
OMEN25L(RTX 2060 SUPER)0.052kWh約1.639円

いきなり意外な気がしたのが、5070 Ti のOMEN35Lの方がアイドル時の消費電力量が低かった、ということ。これは、OMEN25Lに接続している周辺機器や増設したドライブの数なども影響してくるかと思います。ですので、あくまでも私の環境では、ということです。以降の数値の参考にして頂ければ、と思います。

計測の方法は、Tapoアプリで開始時点の「エネルギー使用量」を記録し、1時間後にもその数値を記録して、差分を消費電力量としています。

計測開始時の画面キャプチャ
1時間後の画面キャプチャ

画像生成時には、生成前のエネルギー使用量と、生成後の同項目値を記録して、差分を消費電力量とします。

以下、その計測方法で、これらのPCで計測を行っていきます。

SD1.5(512×512)の画像生成

まずは、画像生成の基本から。

SD1.5で 512×512 サイズの画像を生成してみます。

設定するプロンプトやパラメータは、このときのものを使用しました。

このテーマに記載した、最後の512×512サイズの画像を生成した時のものとなります。

逐一、プロンプトやパラメータを記載するべきかもしれませんが、その値に本質的な意味はあまりありませんので、生成時間に影響する項目だけ、挙げさせて頂きます。

・Sampring steps:20
・サイズ(Width x Height):512 x 512

サイズが広がれば生成時間が増えるのは当然として、Sampring stepsも、ほぼ数値に比例して生成時間が増加します。

逆に、Samplerの設定やCFG Scale、プロンプトの単語数は生成時間への影響は小さいようですね。

盛りに盛ったプロンプトだと時間がかかりそうな気がしますが、生成時間への影響ということでは小さいようです。

さすがに1枚の生成時間では消費電力量の計測が難しいですので、Batch countを100にして、100枚生成の消費電力量を調べることに。

同時に参考として生成時間も出してみました。こちらは、複数連続生成のうち、約半数程度のファイル生成に要した時間をファイルプロパティの作成日時から出したものです(例えば、5枚の生成時間なら最後の生成ファイルと、その5つ前=ラスト6番目に生成されたファイルの作成日時の差異を出して5で割る、という方法です)。

GPU100枚での
消費電力量
1枚あたりの
消費電力量
1枚あたりの
電気代
1枚あたりの
生成時間
RTX 5070 Ti0.012kWh0.00012kWh約0.00378円約1.3秒
RTX 2060 SUPER0.026kWh0.00026kWh約0.00819円約3.8秒
今回 5070 Ti で生成した中の1枚

このサイズ感のSD1.5生成画像が、1枚あたり 5070 Ti だと0.00378円。思った画像が生成できない!と300回試行錯誤しても、ほぼ1円です。

2060 SUPER の方がGPUとしての消費電力が格段に小さい(5070 Ti = 300W / 2060 SUPER = 175W前後)ので、1枚あたりの単価も抑えられるのではないか、と思っていたんですが、生成に要する時間が約3倍になるのでトータルでは高くなっちゃうんですね。

※アイドル時の差があるので、実際の画像生成に要する電力量の差は縮まるのでは?と思われるかもしれませんが、1時間で0.007kWhの差、ということは、1秒だと約0.0000019444…kWhの差。ほぼ誤差ですね。

SD1.5(1280×720)の画像生成

続いては、SD1.5でHDサイズの画像を生成してみます。

SD1.5では、512×512が学習時の画像スケールに近いため、このサイズを超えると一つの構図として扱いにくくなり、プロンプトで一人と指定しても二人になったり、顔が複数できたりとおかしな画像が頻発するようになります。なので、小さく作って拡大する、というのがよく使われる手法で、ここでも同様に、640×360で作成して、Hires.fixで縦横2倍、1280×720の画像にしてみます。

このあたりのことは、この記事でも詳しく書いています。

メインのパラメータは、サイズ以外 512×512のときと同様で、サイズのみ 640×360となります。

それに、Hires.fixで、
・Upscaler : 4x-UltraSharp
・Hires steps : 18
・Denoising strength : 0.25
・Upscale by : 2
としました。

さすがに今回は100枚生成をするのは時間がかかりすぎるので、5070Tiでおよそ2分程度になると見込まれる、20枚の連続生成としました。

GPU20枚での
消費電力量
1枚あたりの
消費電力量
1枚あたりの
電気代
1枚あたりの
生成時間
RTX 5070 Ti0.012kWh0.0006kWh約0.0189円約6.4秒
RTX 2060 SUPER0.045kWh0.00225kWh約0.0709円約37.5秒
今回 5070 Ti で生成した中の1枚

さすがに20枚ともに構図崩壊はありませんでした。

このHDサイズの画像の生成が、1枚あたり 5070 Ti だと0.0189円。512×512サイズと比べると時間・消費電力量ともに、ほぼ5倍となっています。画素数的には3.5倍ですが、Hires.fixという後処理があるので、まぁ妥当ですかね。

一方、2060 SUPERだと512×512に比べて消費電力量で約9倍、時間で約10倍となっています。

だんだんとVRAM容量の差が見え始めてきた感じですかね。

SD1.5(1280×720)・LoRA/Depth/ADetailer使用の画像生成

SD1.5での最後は、Depthでポーズを決め、LoRAを使用して、ADetailerで顔崩れの補正までする、といういろいろ盛り込んだ画像生成です。

Depthの陰影画像の生成等は時間に含めません。

こちらも、SD1.5ですので 640×360で生成して、Hires.fixでHDサイズに拡大します。

DepthやADetailerの設定値などは、記事中のものをそのまま使用しています。

処理時間に影響しそうなところでは、

・Sampring steps:30
・サイズ(Width x Height):640 x 360

・ADetailer steps:20

・Upscaler : 4x-UltraSharp
・Hires steps : 18
・Upscale by : 2

こんなところでしょうか。

生成枚数は、前項の結果を基に調整しました。5070 Ti と 2060 SUPER とで明らかに差が出てきているので生成枚数にも差をつけています。

GPU15枚での
消費電力量
10枚での
消費電力量
1枚あたりの
消費電力量
1枚あたりの
電気代
1枚あたりの
生成時間
RTX 5070 Ti0.015kWh0.001kWh約0.0315円約10.9秒
RTX 2060 SUPER0.041kWh0.00273kWh約0.0861円約41.0秒
今回 5070 Ti で生成した中の1枚

さすがはDepthを使用した安定の構図です。

実は、LoRAの使用有無は、生成時間にほぼ影響しません。ちょっと意外ですけどね。もちろん、LoRAを組み込むごとにVRAM使用量が増えますので、限界を超えると(共有メモリ使用が必要になると)一気に減速することが予想はされます。

今回、ADetailerを単独で使用した場合と、Depthを単独で使用した場合のケースは調べていないのですが、それぞれに生成時間の増加要因とはなっています。

5070 Ti だと、その有無で消費電力量・生成時間ともに1.7倍程度に増加してますね。

とはいえ、それでもまだ1枚あたり0.0315円。30枚生成しても1円になりません。

一方で、2060 SUPERは、違う傾向が現れました。

消費電力量で約1.2倍、生成時間で約1.1倍と、5070 Ti よりも ADetailer、Depthの使用に対する影響が少ないんです。これ、逆に言うと、Hires.fix(画像拡大)の処理時間が圧倒的に比率が高い、ということなんですよね。

1枚あたり41秒と、量産するにはちょっと「待ち」が入りますが、電気料金的にも0.0861円と、気軽に楽しめる範囲かな、と思います。

5070 Tiとの差では、生成時間で約3.8倍とGPUの性能差が見えてきています。消費電力量では約2.7倍になりましたが、高性能=消費電力量激増、という当初の印象からは、ちょっと違った結果となりました。

SDXL(1024×1024)の画像生成

続いては、SDXLでの画像生成。

SDXLでの基本サイズとなる1024×1024での生成です。

プロンプト等は、このときのものを使用しています。

このテーマに記載した、最後の1024×1024サイズの画像を生成した時のものですね。

生成時間に影響しそうなところでは

・Sampring steps:35
・サイズ(Width x Height):1024 x 1024

です。

試しに1枚生成した時間から勘案して、20枚の連続生成としました。

GPU20枚での
消費電力量
1枚あたりの
消費電力量
1枚あたりの
電気代
1枚あたりの
生成時間
RTX 5070 Ti0.018kWh0.0009kWh約0.0284円約8.9秒
RTX 2060 SUPER0.124kWh0.0062kWh約0.195円約102.9秒
今回 5070 Ti で生成した中の1枚

5070 Ti では、1枚あたり10秒を切る時間で生成できますし、電気代も約 0.0284円と、40枚ほど生成して1円と少しです。プロンプトの修正やその他パラメータの調整など、気兼ねなく出来るんじゃないでしょうか。

あまり比較する意味は無いんですが、SD1.5の512×512の生成時間・消費電力量と比べてみると、いずれも7倍前後。

画素数は4倍になっていますし、Sampring stepsは1.75倍ですから、単純に掛け合わせると7倍。偶然の一致なのか、SD1.5とSDXLって実は画素・Stepあたりの生成時間はほとんど変わらないのか。

SDXLはSD1.5よりも重いモデルなので時間がかかるもの(時間がかかって当然)と思っていたんですが、この結果を見る限り、あまり変わらないのかな、という感じですね。

その一方で、劇的に遅くなったのが 2060 SUPER です。

同じくSD1.5の512×512と比較すると、生成時間で約27倍、消費電力量で約24倍となっています。

VRAM容量の上限突破が影響してますね。

このときに同じ条件で生成したのが1枚あたり63秒でしたから、ひょっとしたら、直前の実行内容(VRAMのキャッシュ)などが影響していたのかもしれません。

SDXL(1280×720)の画像生成

では、ということで、同じ条件でサイズだけ 1280×720 として生成してみました。

GPU20枚での
消費電力量
10枚での
消費電力量
1枚あたりの
消費電力量
1枚あたりの
電気代
1枚あたりの
生成時間
RTX 5070 Ti0.016kWh0.0008kWh約0.0252円約7.9秒
RTX 2060 SUPER0.048kWh0.0048kWh約0.151円約80.8秒
今回 5070 Ti で生成した中の1枚

5070 Ti でSD1.5の512×512の生成時間・消費電力量と比べてみると、いずれも6倍強。

画素数は約3.5倍、Sampring stepsは1.75倍ですから、単純に掛け合わせると約6.2倍。やっぱりSD1.5とSDXLって画素・Stepあたりの生成時間はほとんど変わらないようですね。

一方の 2060 SUPER は、同様に SD1.5の512×512と比較すると、生成時間で約21倍、消費電力量で約18倍となっています。

5070 Ti での減少幅以上に減っているのはロジカルな説明はつきませんが、VRAMに影響しているんだろうな、ということは推測できます。厳密には、テスト項目ごとに毎回PCを再起動して条件を揃える必要があるのだろうとは思いますが、いろいろな画像を生成する過程で生じる、ある意味リアルな数値ではあると思いますので、あえてそのまま掲載することにしました。

SDXL(1920×1080)の画像生成

画像生成最後の計測は、SDXLでのフルHDサイズの画像生成。

LoRAも使用しますが、これが生成時間に、ほとんど影響しないのは前述の通り(実際に影響しなかったことも確認済み)です。

LoRAを使用してフルHDの画像を生成する、という、ありがちなシチュエーションかな、と考えての設定です。

但し、これは 5070 Ti ですらVRAM容量をオーバーすることが判っています。なので、2060 SUPERにとっては地獄でしかないんですが、何事も経験です。

生成は 1280×720 で行い、Hires.fixで、
・Upscaler : 4x-UltraSharp
・Hires steps : 18
・Denoising strength : 0.25
・Upscale by : 1.5
として、フルHDの画像としています。

GPU10枚での
消費電力量
2枚での
消費電力量
1枚あたりの
消費電力量
1枚あたりの
電気代
1枚あたりの
生成時間
RTX 5070 Ti0.023kWh0.0023kWh約0.0725円約23.2秒
RTX 2060 SUPER0.079kWh0.0395kWh約1.245円約12分27秒
今回 5070 Ti で生成した中の1枚

5070 Ti で、生成に20秒を超える結果となっています。とはいえ、1分間で3枚弱が生成できるわけですから、十分に実用範囲かな、と思います。

処理後半で共有GPUメモリが使用されているのが、専用GPUメモリ(16GB)をオーバーしている、ということですね。

1280×720での生成と比べると、消費電力量・生成時間ともに、およそ3倍弱。差はかなり大きく感じます。

ですので、パラメータの調整などは Hires.fixの設定をOFFにして行い、狙いに近づいたところで Hires.fix をONにして完成版を生成する、という使い方が時間と消費電力量を無駄にしない使いかたかな、と思います。

とはいえ、フルHDでも1枚あたりの電気代は約 0.0725円と、100枚生成しても約7.25円ですから、趣味の日常使いとしてはほとんどコストを意識する必要は無いのかな、と思いますね。

もっとも、1,000枚生成したとしても約72.5円、10,000枚生成しても約725円ですから、驚くような金額にはなりません。(← これ、たとえで出した現実離れした数字です。1枚の生成に平均 約23.2秒かかりますので、10,000枚の生成に64時間27分かかります)

その一方、2060 SUPER にとっては過酷過ぎる条件でした。

2枚しか生成していませんが、1枚あたり12分27秒、電気代も1.245円と、5070 Tiと比べると大きく差がついています。

5070 Ti と比べると電気代で約17倍、生成時間で約32倍となりました。

2060 SUPER での1280×720の生成と比べると、消費電力量で約8倍、生成時間で約9倍ですので、さすがに日常使いとしても厳しい結果となっていますが、1280×720では生成時間が約80秒ですので、このサイズで画像の調整を行い、完成品だけをHires.fixでフルHDサイズで仕上げる、という使い方が現実的でしょうね。

ひと昔、いや数十年前に、MSX(8bitCPUのZ80)で一晩かけてレイトレーシングのプログラムを実行したことと比べると、10分ちょっとなんて、あっという間です。

フルHD生成を常用ではなくピンポイントで利用するなら、VRAM 8GBの 2060 SUPER でも十分に楽しめるのではないでしょうか。

SD1.5のLoRA作成

続いては、LoRAの作成にどれくらいの電気代がかかるのか、いくらでLoRAを作れるのか、という計測です。

計測方法は、画像生成と同じく、LoRA作成の実行前のエネルギー使用量と、完了後の同項目値を記録して、差分を消費電力量とします。生成時間は生成時の出力内容を使用しています。

まずは、SD1.5のLoRAです。

このときに作成した学習素材をそのまま利用します。

・顔のアップ(1024×1024):10枚
・胸から上(896×1152):10枚
・上半身(896×1152):6枚
・腰から上(768×1344):4枚
の計30枚ですね。

Epoch80のつもりだったのに Max train steps を2240に制限してしまっていたので(正しくは2400)、若干仕上がりは異なるんですが、大きくは変わらないかとそのまま使用しました(あえて 5070 Ti も 2060 SUPER も同じ設定値にしています)。

結果は次の通りです。

GPU消費電力量電気代生成時間
RTX 5070 Ti0.025kWh約0.788円7分24秒
RTX 2060 SUPER0.062kWh約1.954円16分18秒

Max train stepsを2400にしていたら、1.0714倍延びるので、5070 Ti で7分56秒、2060 SUPERで17分28秒となったでしょうか。電気代もそれぞれ 0.844円、2.093円 程度になるかと思います。

が、そんなもんです。

SD1.5で、総ステップ数2400前後の、十分に実用的なLoRAが、1~2円程度で作成できるんです。

学習素材を変更したり、パラメータを変えたりと、いくらでも手軽に実験できそうな金額ですよね。

SDXLのLoRA作成

では、SDXLだとどうでしょうか。

こちらは、

このテーマのときに使用した学習素材をそのまま利用しました。

いずれも 1024×1024サイズの26枚になります。

Epoch数を80としているので、総ステップ数は2,080となります。

GPU消費電力量電気代生成時間
RTX 5070 Ti0.122kWh約3.844円41分6秒
RTX 2060 SUPER0.318kWh約10.020円89分36秒

こちらは、時間を要する分だけ、消費電力量も増加してますね。

SD1.5のときと同様、2060 SUPER は 5070 Ti と比べて、消費電力量が2.5倍前後、生成時間が2.2倍ほど、となっています。

2060 SUPERは生成時間がかかるので電気代はおよそ10円。5070 Tiでは 4円弱です。こちらも、ひとつのLoRAを仕上げるのに10回ほど試行錯誤したとしても100円に収まりますね。

ところが、この 5070 Ti での生成は、2060 SUPER でのVRAM容量の制約に合わせて batch sizeを1にしていたんですね。これを2にすると、当然処理時間は短縮します。

GPU消費電力量電気代生成時間備考
RTX 5070 Ti0.076kWh約2.395円21分14秒batch size = 2
RTX 2060 SUPER0.318kWh約10.020円89分36秒batch size = 1

となりました。生成時間は半分ですが電気代が半分にならないのが面白いところで、並行処理をする分だけ、GPU負荷が上がるんですね。当然消費電力量も上がる、と。

とはいえ、ほぼ同じLoRAがおよそ2.4円で作成できるわけですから、気軽にLoRA作成と、LoRAを使った画像生成を楽しめるのではないかと思います。

まとめ

今回実際に測定してみて、まず驚いたのは、ローカルでの画像生成そのものにかかる電気代が想像していた以上に小さかったことです。

そしてもう一つ意外だったのが、RTX 5070 TiとRTX 2060 SUPERを比較した結果です。5070 Tiの方が消費電力は大きいため、買い替えた当初は画像生成時の電気代も高くなるのではないかと思っていたんです。

しかし実際には、処理を短時間で終えられる5070 Tiの方が、全ての項目で、1枚の画像を完成させるまでの消費電力量は少なくなりました。特にSDXLやHires.fixのような重い処理になるほど、その差は大きくなっています。

PCの消費電力を見るときは「何W使っているか」に目が行きがちですが、画像生成のような処理では、その状態が何分続くのかも同じくらい重要だということなのでしょうね。

ローカル画像生成のコストを電気代という視点から調べ始めた今回の実験でしたが、結果的には、GPUの性能差が処理時間だけでなく、処理1回あたりの消費電力量にも大きく影響することが分かりました。

GPUの価格が高止まりしている昨今、なかなか買い替えに踏み切るのは難しいでしょうが、高性能なGPUへ買い換える方にも、現在の8GBクラスのGPUを使い続ける方にも、画像生成環境を考えるうえで何らかのヒントにつながる結果になったのではないかと思います。