ゆっくりお家でDeepFakeを作ろう! #StayAtHome #COVID19

Deepfakeを作るのに必要なPCのスペックは

主にDeepFaceLabで、deepfake動画を制作する上で必要なマシンのスペック等について、説明していきます。

目次

1.Deepfakeとは

Deepfakeは深層学習を意味する「Deep learning」とニセモノを意味する「fake」を組み合わせた造語です。現在は顔を別人に入れ替えた動画やその技術のことをDeepfakeと呼んでいるようです。

最近では、映画「ターミネータ」のアーノルド・シュワルツェネッガーの顔を、シルヴェスター・スタローンの顔にした動画などが話題になりました。

このように映画などの分野でも活躍が期待できる技術でもありますが、一方でアダルトビデオの動画に出演している女優の顔を、例えば橋本環奈や石原さとみ、広瀬すず、乃木坂のメンバーなどの著名人に顔に入れ替えた動画なんかも出回っており、悪用される例も多いですね。

個人で楽しむ分には問題ないでしょうが、これらの動画はネットにアップするともちろん法に触れる恐れもありますから、制作したDeepfake動画は絶対にネット上にアップロードしてはいけません。

2.Deepfakeを作るのに必要なモノ

Deepfakeを作るには、ビデオカード・グラフィックカードなどGPUを搭載したマシンが必要です。ソフトウェアによっても記載が異なりますが、DeepFaceLabの場合はvRAMが2GB以上のNVIDIAもしくはAMDのビデオカードが推奨となっています。

Deepfakeの制作は深層学習の技術を使って、顔を別人に変換する学習を行います。このときに一度の学習に何十枚、数百枚という単位で同時に多くの画像を用いて学習を行うため、大量の並列処理が必要となります。

ひとつずつ高速で処理するのはCPUのほうが向いていますが、大量のものを並列で処理するにはGPUのほうが高速に処理することができます。また、Deepfakeを作るソフトのほぼすべてがCUDAと呼ばれる機能を使用するため、GPUが必要になります。

CPUとGPUの違いを説明するには、この動画が有名でしょう。

3.必要なPCのスペック

Deepfakeを快適に作るには、GPUの性能もさることながら、それ以外もある程度の性能が必要です。

というのも、Deepfakeを作る際には、様々な場面でCPUやPC本体のメモリ、電源など、その他のリソースもある程度必要になってきます。

下記で各パーツごとに、解説していきます。

ちなみに私が普段Deepfakeを作るのに用いているマシンのスペックはこんな感じです。

  • CPU: Intel Core i5-4590 (3.30 GHz ~ 3.70 GHz)
  • メインメモリ: 16GB
  • ROM: SSD 500GB
  • GPU: GeForce GTX 1080 Ti (vRAM 11GB)
  • マザーボード:ASRock B85M
  • 電源:750W電源
  • OS:Windows 10 (64bit)

2013年発売の第4世代のCPUなので、メインメモリもDDR3とひと昔前のものになりますが、これでも十分です。中古でパーツも安く手に入るので、私は第4世代で組んでいます。

CPU

Deepfakeを作るソフトにおいて、学習(train)や顔の認識には主にGPUを使用しますが、CPUも使用します。また、動画をフレームごとに画像として書き出す作業などは、すべてCPUの処理になるので、CPUもある程度高速なほうが快適にDeepfakeを作ることができます。

ここ5、6年以内に発売されたPCであれば、少なくとも2.8GHz程度は出るでしょうから、3.0GHz弱あれば十分かと思います。多少遅くても問題ないです。

メインメモリ(RAM)

また、ビデオカードには「vRAM」と呼ばれるGPU専用のメモリが搭載されていますが、学習に使用するデータがvRAMの容量に収まらない場合は、PC本体のメモリ(RAM)も使用することになるので、本体のメモリもある程度必要です。

少なくとも8GBは必要かと思います。16GB以上あれば十分なレベルだと思います。

ROM

ROMはHDD ハードディスクでも、問題はないですが、SSDのほうが画像の読み出し・書き出しが速くなるので、SSDのがオススメです。

Crucial SSD 500GB MX500 

学習(train)中はメインメモリとvRAMに必要なデータをすべて読み込んでいるので、ほとんどROMの読み込み・書き出しはないので、HDDだと学習(train)に時間がかかる、modelの精度が下がるといったことはありません

また、Deepfakeを作るソフトでは、まず動画をすべて画像で書き出してから、そこから、さらに顔の画像を書き出すことになるので、動画の長さにもよりますが、画像が数千枚~数万枚になります。

このため数十GBの空き容量が必要です。例えばフルHD(1920 × 1080)の動画5分を素材にして、全フレームPNGで書き出した場合、20GB程度は必要になります。

GPU(ビデオカード・グラフィックボード)

Deepfakeを作るにおいて、一番お金をかけないといけないのはこの部分です。学習(train)終了までの時間やmodelの精度はビデオカードの性能に大きく依存してきます。

DeepFaceLabのフォーラムには「vRAMが2GB以上のNVIDIAもしくはAMDのビデオカード 」とありますが、正直 vRAMが2GB~4GBでは足りないなという感じです。

「vRAM」ってなに?
vRAMはビデオカードに搭載されているGPU専用メモリのことです。このvRAMの容量の大きさもGPUの処理能力に大きく影響を及ぼします。vRAMには、PC本体に取り付けられているメインメモリよりも、より高性能・高速な規格が採用されています。
また、ビデオカードの製品名などが例えば 「GTX 1080 Ti Gaming OC 11G」であればvRAMが11GB、「MSI GeForce GTX 1070 Ti GAMING 8G」であればvRAMが8GBということになります。

私は「GIGABYTE GeForce GTX 1080 Ti Gaming OC 11GB」を使用していますが、これ以上のものを使ったことがないので、11GBで十分とは断言できません。

GIGABYTE GeForce GTX 1080 Ti Gaming OC 11GB

ただvRAMが11GBあるビデオカードであれば、8時間程度 学習(train)すればそれなりのものが出来上がりますし、24時間学習すれば、十分なクオリティのものに仕上がります。

あくまで私の主観ですが最低でもvRAM 6GBは必要、予算に余裕があるならvRAM 11GBのほうが良いと思います。vRAMが大きいに越したことはありません。

vRAM4GBでも、できなくはないですがね。

4.おすすめのビデオカード

私自身、今までNVIDIAのGPUしか使ったことがないので、NVIDIAのGPUを搭載したビデオカードから紹介します。前述したように、vRAMが大きいもののほうがオススメです。他に考慮すべき点があるとすれば冷却性能でしょう。

学習(train)中はGPU使用率の表示は30~70%程度ですが、CUDAの使用率は常に90~100%の状態になります。この状態で数時間~数十時間稼働し続ける訳ですから、発熱も大きいです。私の環境だとGPUの温度が68~70℃になります。

ですので、同じGPUであっても、このようなファンが1つしか付いていないものよりも、ファンが2つ、3つ付いているモノのほうが、オススメです。

ファンが1つのタイプの「ASUS GeForce GTX 1080 Ti」
ファンが3つあるタイプの「 GIGABYTE GeForce GTX 1080 Ti Gaming OC 11GB 」

■GeForece GTX 1060 (vRAM 6GB) おススメ度:★★☆☆☆

GTX 1060はvRAMが3GBと6GBのものがありますが、Deepfakeに使うなら、6GB一択です。

玄人志向 ビデオカード GEFORCE GTX 1060
GIGABYTE GEFORCE GTX 1060 6GB
MSI GeForce GTX 1060 GAMING X 6G

■GeForce GTX 1070 (vRAM  8GB ) おススメ度:★★★☆☆

vRAMが8GBあれば、ある程度は快適にDeepfakeを作ることができるのではないかと思います。

MSI GeForce GTX 1070 GAMING X 8G
ASUS NVIDIA GeForce GTX1070

■GeForce GTX 1070 Ti (vRAM 8GB ) おススメ度:★★★★☆

vRAMは8GBとGTX 1070と変わりないですが、CUDAコア数がGTX 1070は「1920」に対し、GTX 1070 Tiは「2432」と大きく上回っています。GTX 1080のCUDAコア数が「2560」なので、性能としてはGTX 1080に近いと言って良いでしょう。

GIGABYTE GEFORCE GTX 1070Ti
MSI GeForce GTX 1070 Ti GAMING 8G
MSI GeForce GTX 1070 Ti ARMOR 8G

■GeForce GTX 1080 (vRAM 8GB ) おススメ度:★★★★☆

GTX 1080 Tiには劣りますが、まあ十分と言えるでしょう。

GIGABYTE NVIDIA GeForce GTX 1080
MSI GeForce GTX 1080 GAMING X 8G

■GeForce GTX 1080 Ti (vRAM 11GB) おススメ度:★★★★★

GTXシリーズ最上位の1080 Ti、vRAM 11GBと大容量。余裕があれば、こちらをオススメします。

私はさすがに新品では買えないので、ヤフオク!で5万くらいのを買いました。ただしオークション、中古品はくれぐれも自己責任で。

GIGABYTE GeForce GTX 1080 Ti Gaming OC 11GB
MSI GeForce GTX 1080 Ti ARMOR 11G OC
MSI GeForce GTX 1080 Ti GAMING X 11G 

電源

さいごに電源です、GPUフルパワーで常に稼働する訳ですから学習(train)中は結構電源を消費します。私の構成だと350w~400w程度電源を消費します。

危険ですが試しに500w電源で学習(train)させてみたところ、電源不足で落ちたりすることはありませんでしたが、負荷率が80%以上になるため、変換効率が悪いですから、発熱がすごかったです。

電源の変換効率とは
PCの電源は負荷率50%のときに最も電気の変換効率が良くなるように作られています。例えば、600wの電源であれば、消費電力300wのときが一番、変換効率が良いわけです。600wの電源で、消費電力540wだと、負荷率が90%になりますから、この場合変換効率が落ちます。このように変換効率が落ちると電気は熱となって放出されますから、無駄に電気を消費してしまうことになります。

ですので、Deeepfakeを作る際は、学習(Train)中の負荷率がおおよそ50%になる電源を選びましょう

私はこちらの電源を使用しています。お手頃ですし3年保証もついてるので、安心できます。

玄人志向 STANDARDシリーズ 80 PLUS Silver 750W

さいごに

前回の記事を投稿して以来、あまりチェックしておらず、コメント頂いたのにすぐに回答できず申し訳ないです。思ったより多くの方に観ていただいているようなので、今後色々と記事を増やしていきたいと思います。

Deepfakeを作る上で、分からないこと聞きたいことなどありましたら、お気軽にご質問ください。私の回答できる範囲で、できる限り回答させていただきます。

11 COMMENTS

piro

ゲーミングのノートPCでは作るのは厳しいですか?
買おうと思っているPCのスペックがこんな感じなのですが…。

インテル Core i7-9750H プロセッサー (2.60-4.50/12)
16GB (8GB×2)
256GB SSD (PCIe NVMe M.2) + 1TB ハードドライブ (SATA、7200回転)
NVIDIA GeForce GTX 1660Ti with MAX-Q Designグラフィックス

返信する
deepfake.xyz

結論からいうとできないことはないです。
ゲーミングノートではないですが、GPU搭載のノートPC(XPS 15)で動かしたことはあります。
ノートPCかどうかというよりは、結局GPUのVRAMの容量に左右されると思います。

1660 Tiでしたら、VRAMも6GBありますし、ある程度のクオリティのものは作れると思います。
具体的な設定値だと「アーキテクチャ DFHD / 解像度 128 /バッチサイズ 8」、「アーキテクチャ DF / 解像度 192 /バッチサイズ 8」なら動くようです。

ただし、ノートPCに限らずですがTrain中は他の作業をすると、そもそも動作が少し重たいですし、学習が遅くなります。
あとは問題があるとすれば排熱でしょうか。ノートPC自体がすごく熱くなります。

返信する
piro

早いお返事ありがとうございました。m(_ _)m
家電量販店でいろいろお話を聞いてみるとノートではグラフィックスの方が8GBが最大で、
私が購入検討中のPCはアップグレードしても GeForceRTX2060 6GB GDDR6 だそうです。
RTXの方が良いという説明を受けましたが、deepfakeを作る上でGTXとRTXは違いって出てくるものでしょうか?

返信する
deepfake.xyz

GeForceRTX2060とGTX 1660 tiですが、どちらもVRAM 6GBですから、そこまで違いかと思います。
ただし、CUDAコア数が、RTX 2060は1920、GTX 1660tiは1536なので、deepfakeを作るうえではCUDAコア数の多いRTX 2060のが良いかと思います。

返信する
伊東

ターミネータ」のアーノルド・シュワルツェネッガーの顔を、シルヴェスター・スタローンの顔にした動画を、DeepFaceLabのソフトや、他のソフトで、ターミネータの動画みたいな、完成度が高い、動画を造ることは、できますか。

返信する
deepfake.xyz

DeepFaceLabでも、もちろん作ることはできますが、あそこまでクオリティの高いものになると、
マスクの処理や、そもそもの動画編集・合成の知識・技術が必要になるかと思います。

返信する
pray

記事内にSSDのほうが読み書きが早いとありましたが、数千~数万枚レベルの読み書きであればSSDの耐久が心配なのでHDDと迷っています。SSDでの劣化具合、使用感はどうでしょうか?

返信する
にゃもり

質問なんですがグラフィックボード4枚挿しでもちゃんと4枚認識してフル稼働出来ますか?

返信する
deepfake.xyz

MacBookPro 16インチはGPUがAMDのため、DeepFaceLabは使えません。
DeepFaceLabを使うには、NVIDIAのGPUを搭載したPCが必要です。

返信する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA