Your puppy doesn't need to be punished. He may well have behavioural issues or training difficulties but punishing him will not help with either. In fact, it is likely to make the situation much worse. For training issues, you would be well advised to look at using positive dog training techniques. Basically, rewarding desired behaviours in order to encourage the dog to repeat them. If your puppy has behavioural issues then you should consult with professionals. Firstly, check with your vet to make sure that there are no underlying health issues. If there aren't then the next step is to seek out a dog behaviourist. Make sure that you do your research first and check the qualifications and experience of the behaviourist.