主に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を作る上で、分からないこと聞きたいことなどありましたら、お気軽にご質問ください。私の回答できる範囲で、できる限り回答させていただきます。
コメントを残す