メインコンテンツへスキップ
見出し画像

【Stable Diffusion CPUイラスト生成対決】N100 vs i7 4770 ~10年前のハイエンドと現代のローエンド~

    こんにちは、Rcatです。
    いきなりですが、AIでCPU対決をします。
    というのも、現在PCを3台所持しておりまして、初回作は10年前、現在のメインは5年前、そして最近サーバー専用で導入したミニPCです。
    古いのはサーバー用途でLinuxを入れて使っています。
    今回はその10年前のと最新のミニPCで画像生成AIを動かしたらどれくらい差があるのか試してみました

    ハードウェア紹介

    10年前の自作PC

    ATXの自作PCです。PC欲しくて調べていたら自作できると知って組み立てちゃいました…。

    • CPU : Core i7 4770

    • MEM : DDR3-1600 8Gx2

    • GPU : -外した- (当時GTX760)

    最新のミニPC

    CPUのスコアを見ているともう4770と大して変わらないのでは?電力的にこっちサーバーにしようと考えて購入。

    • CPU : N100

    • MEM : DDR5-4800 16G

    • GPU : -

    こちらに関しては下記記事で紹介しています

    スコア比較

    まずは一般的なスコアを調べておきます。
    下記のサイトでスコアを調べました
    ノート向け : https://pcfreebook.com/article/458775622.html
    デスクトップ向け
     : https://pcfreebook.com/article/450856544.html

    i7 4770の方が25%程スコアが高いですね。
    TDPで1W当たりのスコアにするとN100の方が1100%ほど優れています。

    • N100

      • スコア : 5622

      • 性能 : 4C4T TDP:6W

    • i7 4770

      • スコア : 7074

      • 性能 : 4C8T TDP84W

    予想

    スコア的にはかなりN100が追い付いている感があり、メモリもシングルとデュアルの差があるが、速度もDDR5の方が倍以上あるため、足を引っ張るようなことにはならないと思う。
    気になるのはスレッド数か。

    検証開始

    検証はイラスト生成AI StableDiffusionが画像を一枚生成するのにかかる時間です。

    検証環境

    下記記事で行っている方法でCPUを使用した画像生成を行うようにセットアップします。

    OSはLinux(Ubuntu)です。
    セットアップは下記記事で行っているのと同じ方法です。
    この機会にi7 4770のPCをCentOS7からUbuntuに変更しました。

    その他

    N100 PCは使用中の為、nohupのログを参照することとします。
    使用中のPCで計測すると不利になるので、双方ともにcpulimitコマンドを使用し、使用率を50%に制限します。

    具体的にはこんな感じで制限します。
    ps - auxでSDのプロセスを特定
    cpulimitで制限開始。

    adminuser@i7-4770:~$ ps aux
    USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root           1  0.4  0.0 167816 12672 ?        Ss   22:01   0:11 /lib/systemd/
    root           2  0.0  0.0      0     0 ?        S    22:01   0:00 [kthreadd]
    root           3  0.0  0.0      0     0 ?        I<   22:01   0:00 [rcu_gp]
    root           4  0.0  0.0      0     0 ?        I<   22:01   0:00 [rcu_par_gp]
    root           5  0.0  0.0      0     0 ?        I<   22:01   0:00 [slub_flushwq
    root           6  0.0  0.0      0     0 ?        I<   22:01   0:00 [netns]
    root       45561  0.0  0.0  17428 11004 ?        Ss   22:17   0:00 sshd: adminus
    adminus+   45598  2.9  0.0  21940 12584 ?        S    22:17   0:39 sshd: adminus
    adminus+   45606  0.0  0.0  11272  3712 pts/1    S+   22:21   0:00 bash ./webui.
    adminus+   45630  195 35.3 8107632 5659992 pts/1 Sl+  22:21  36:32 python3 -u la
    adminuser@i7-4770:~$ cpulimit -p 45630 -l 200
    Process 45630 deteted

    TOPコマンドで確認します。
    4コアなのでCPUの部分が400で100%です。制限しない場合は400に近く、制限後は半分の200に近くなっています。

    制限前

    %Cpu(s): 45.9 us,  1.5 sy,  0.0 ni, 52.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :  15642.3 total,   1517.1 free,   6561.2 used,   7564.0 buff/cache
    MiB Swap:   2048.0 total,   2046.7 free,      1.2 used.   8577.7 avail Mem
    
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      45630 adminus+  20   0 8414336   5.6g 180380 S 375.0  36.9 207:46.01 python3

    制限後

    %Cpu(s): 25.2 us,  0.6 sy,  0.0 ni, 74.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :  15642.3 total,   1543.6 free,   6533.9 used,   7564.8 buff/cache
    MiB Swap:   2048.0 total,   2046.7 free,      1.2 used.   8605.0 avail Mem
    
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      45630 adminus+  20   0 8391296   5.6g 180380 S 207.6  36.8 220:28.64 pythn3

    ミニPCでも同様に制限します

    %Cpu(s): 60.9 us, 14.8 sy,  0.0 ni, 24.1 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
    MiB Mem :  15759.1 total,    824.1 free,  10579.7 used,   4355.3 buff/cache
    MiB Swap:   2048.0 total,   1593.0 free,    455.0 used.   4833.7 avail Mem
    
        PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
     960716 rcat      20   0 9326416   6.1g  46316 T 202.7  39.7  19312:36 python3

    検証結果

    i7 4770が倍近く早いことが判明。
    10年前の物と言えど、i7の肩書と消費電力の前にはN100も歯が立たなかったようだ…。

    N100 CPU
    Total progress: 100%|██████████| 20/20 [16:58<00:00, 50.91s/it]
    
    Core i7 4770 CPU
    Total progress: 100%|???????????????????????????| 20/20 [08:13<00:00, 23.92s/it]

    この結果を見ると、N100は16分台であるのに対し、i7は8分台で終わっている。
    ※100%解放時は確かに4分程度で終わることを確認済み。N100も制限なし時は10分未満で出てきていた記憶があるので、きちんと50%制限はできているようだ。

    まとめ

    今回は最新のローエンドCPUと10年前のハイエンドCPUを比較しました。
    スコアだけ見れば25%程度の差が出ると予想したが、実際は倍近い差になった。
    何が左右したのかは正直分からないが、単純なスコアだけでは判断できないということが分かった。
    それではまた会いましょう。





     
     
    モノづくりが趣味。 "売ってないなら自分で作ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワーク 全部やります。 記事執筆はAI不使用。 ご連絡や利用規約はプロフィール記事参照。

    あなたへのおすすめ