主に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のがオススメです。
学習(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では足りないなという感じです。
また、ビデオカードの製品名などが例えば 「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で十分とは断言できません。
ただ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つ付いているモノのほうが、オススメです。
■GeForece GTX 1060 (vRAM 6GB) おススメ度:★★☆☆☆
GTX 1060はvRAMが3GBと6GBのものがありますが、Deepfakeに使うなら、6GB一択です。
■GeForce GTX 1070 (vRAM 8GB ) おススメ度:★★★☆☆
vRAMが8GBあれば、ある程度は快適にDeepfakeを作ることができるのではないかと思います。
■GeForce GTX 1070 Ti (vRAM 8GB ) おススメ度:★★★★☆
vRAMは8GBとGTX 1070と変わりないですが、CUDAコア数がGTX 1070は「1920」に対し、GTX 1070 Tiは「2432」と大きく上回っています。GTX 1080のCUDAコア数が「2560」なので、性能としてはGTX 1080に近いと言って良いでしょう。
■GeForce GTX 1080 (vRAM 8GB ) おススメ度:★★★★☆
GTX 1080 Tiには劣りますが、まあ十分と言えるでしょう。
■GeForce GTX 1080 Ti (vRAM 11GB) おススメ度:★★★★★
GTXシリーズ最上位の1080 Ti、vRAM 11GBと大容量。余裕があれば、こちらをオススメします。
私はさすがに新品では買えないので、ヤフオク!で5万くらいのを買いました。ただしオークション、中古品はくれぐれも自己責任で。
電源
さいごに電源です、GPUフルパワーで常に稼働する訳ですから学習(train)中は結構電源を消費します。私の構成だと350w~400w程度電源を消費します。
危険ですが試しに500w電源で学習(train)させてみたところ、電源不足で落ちたりすることはありませんでしたが、負荷率が80%以上になるため、変換効率が悪いですから、発熱がすごかったです。
ですので、Deeepfakeを作る際は、学習(Train)中の負荷率がおおよそ50%になる電源を選びましょう。
私はこちらの電源を使用しています。お手頃ですし3年保証もついてるので、安心できます。
さいごに
前回の記事を投稿して以来、あまりチェックしておらず、コメント頂いたのにすぐに回答できず申し訳ないです。思ったより多くの方に観ていただいているようなので、今後色々と記事を増やしていきたいと思います。
Deepfakeを作る上で、分からないこと聞きたいことなどありましたら、お気軽にご質問ください。私の回答できる範囲で、できる限り回答させていただきます。
ゲーミングのノート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グラフィックス
結論からいうとできないことはないです。
ゲーミングノートではないですが、GPU搭載のノートPC(XPS 15)で動かしたことはあります。
ノートPCかどうかというよりは、結局GPUのVRAMの容量に左右されると思います。
1660 Tiでしたら、VRAMも6GBありますし、ある程度のクオリティのものは作れると思います。
具体的な設定値だと「アーキテクチャ DFHD / 解像度 128 /バッチサイズ 8」、「アーキテクチャ DF / 解像度 192 /バッチサイズ 8」なら動くようです。
ただし、ノートPCに限らずですがTrain中は他の作業をすると、そもそも動作が少し重たいですし、学習が遅くなります。
あとは問題があるとすれば排熱でしょうか。ノートPC自体がすごく熱くなります。
早いお返事ありがとうございました。m(_ _)m
家電量販店でいろいろお話を聞いてみるとノートではグラフィックスの方が8GBが最大で、
私が購入検討中のPCはアップグレードしても GeForceRTX2060 6GB GDDR6 だそうです。
RTXの方が良いという説明を受けましたが、deepfakeを作る上でGTXとRTXは違いって出てくるものでしょうか?
GeForceRTX2060とGTX 1660 tiですが、どちらもVRAM 6GBですから、そこまで違いかと思います。
ただし、CUDAコア数が、RTX 2060は1920、GTX 1660tiは1536なので、deepfakeを作るうえではCUDAコア数の多いRTX 2060のが良いかと思います。
ターミネータ」のアーノルド・シュワルツェネッガーの顔を、シルヴェスター・スタローンの顔にした動画を、DeepFaceLabのソフトや、他のソフトで、ターミネータの動画みたいな、完成度が高い、動画を造ることは、できますか。
DeepFaceLabでも、もちろん作ることはできますが、あそこまでクオリティの高いものになると、
マスクの処理や、そもそもの動画編集・合成の知識・技術が必要になるかと思います。
記事内にSSDのほうが読み書きが早いとありましたが、数千~数万枚レベルの読み書きであればSSDの耐久が心配なのでHDDと迷っています。SSDでの劣化具合、使用感はどうでしょうか?
質問なんですがグラフィックボード4枚挿しでもちゃんと4枚認識してフル稼働出来ますか?
申し訳ないですが、やったことないのでわからないです。
MacBookPro16でも作れるのでしょうか?
MacBookPro 16インチはGPUがAMDのため、DeepFaceLabは使えません。
DeepFaceLabを使うには、NVIDIAのGPUを搭載したPCが必要です。
上記のターミネーターの質問の下りですが、まるで本人が出演している様な動画にするには、ユーザーの知識、技術が必要と言う事でしょうか?AIが素材さえあればディープフェイクで作成出来るみたいな風潮もありますが。
ディープフェイク自体は、実はそこまで万能なものではありません。Aさんの顔をBさんの顔に埋め込む場合、Bさんの顔をAさんの顔に変換するための学習を行います。
このときAさんの顔の素材となる画像の解像度が低かったり、ボヤけていたり、あらゆる角度から写した画像がないと上手く、変換することができません。
(例えば、正面の顔画像から、横顔の画像を生成したりはできない。)
ですから、ディープフェイクの仕上がりは素材の厳選?選別?によって大きく左右されます。
回答有難うございます。素材の解像度 色々な角度からという事ですね。
個人の知識 技術という質問ではどうでしょうか? 解像度の良い 多角的な
画像を大量に用意して~ その状況下でも知識 技術は必要ですか?
はじめまして。DeepFaceLab_NVIDIA_build_02_28_2020.exeのアッシクホルダーが開きません。OSはダイナブックノートパソコン2020版です。ZIPがわかりません。
mouse コンピューターのG-Tune HN-Z-CM-3070Tiでwindows pro,メモリ32GBにカスタマイズしたものであれば、まともなディープフェイクを作れるでしょうか?