Model.zero_grad() or optimizer.zero_grad()?

Same; whether you use SGD, Adam, RMSProp etc.

Typically I use optimizer.zero_grad().