Buying hardware is always complicated, but it's even more complicated when your buying for faceswap. Because of that, I've put together this little guide for hardware.
First of, the most important thing with faceswap is your graphics card. This is by far the biggest effect in your swap speeds and results. (Note that quality is limited by your card but is extremely dependent on your data.)
For faceswap, there are 2 main things to consider on your gpu. 1: Nvidia is far superior to AMD (You may debate this statement when it comes to games, but Nvidia positively trounces on AMD in machine learning). 2: Your video card is incredibly important.
For these 2 reasons the card we recommend are as follows.
RTX 2060 Super.
This card's 8gb of ram and bargain price makes it the first stop for beginning ML tasks.
The speed increases from a 2070 or a 2080 isn't really much, usually on the order of 10-15%. If that's worth the 40-100% increase in cost, that's a decision for you to make.
RTX 2080 ti
The 11gb if vram on this card costs as much as 3 2060 supers, but if you want a single card option, it's the best way to beat its little brother.
This card is stupid, you should only do this if you have more money than sense. It'd make more sense to buy 4 2060 supers and the 2 pcs to run them that this card would cost you. Speed is comparable to a 2080 ti, but at an enormous price premium. Unless you have other needs for this card DO NOT BUY IT (Full disclosure, I own this card).
If you're willing to go used, check this card out for sure. But don't pay much more for it than you would for a 2060 super.
GTX 1070/1080/1080 ti
With RTX cards now at lower prices i wouldn't recommend these cards for a new build. Tensor cores have huge potential and these cards are just not as powerful for the price.
Your cpu matters far less, but still quite a bit for machine learning. We have all levels of cpus.
AMD ryzen 3xxx series.
Faceswap is multithreaded where it matters and so benefits from extra cores more than boost. For this reason i can't recommend any CPUs except for AMD's right now. Their 3700 and 3900 take the crown for best faceswap cpus out there for the price. You don't need a super powered 64 core monster, but feel free to look in that direction if that is what matters for you.
The only exception to this is if you want to maximize your pcie lanes and budget isn't a concern (make sure you donate) in which case a threadripper is your go-to. Nvidia doesn't use pcie 4.0 yet so you can get more bandwidth by using threadripper to provide all 16 Lanes to 3 cards or run 4 cards with at least 8 lanes each (some lanes are reserved for chipset and functionality).
Storage is not critical to faceswap, but it's best to keep it local. For this reason after a (preferably nvme) ssd boot drive, some good ole' spinning rust is fine for your data. Just try to keep other accesses to a minimum while training, so no watching 4k videos off the disk while you're training (a good idea to avoid any heavy videos while training since they'll hit the GPU too.
The rest of your gear should just focus on working with the hardware above, make sure you have enough pcie and memory slots on your motherboard. Check out pcpartpicker https://pcpartpicker.com for finding compatible hardware.
Don't go overboard though buying hardware you won't use like a $800 overclocking board. Keep it to what you'll actually use (in faceswap or other software)
Overclocking is bad for compute tasks like faceswap.
Which reminds me: do not overclock your GPU while training, in fact you should remove any factory overclocking and run it at Nvidia defaults to avoid model failures.
If you have any other hardware questions, please ask in the forum.