
My first dog of my own - a westie - went to bite me when I picked him up to place him on the ground when he got on the sofa - I remember being concerned that it could be something that if I didn't handle correctly could cause unwanted behaviour - I asked my breeder about it who just laughed a little and said it was normal and that he was telling me to stop annoying him and seeing how far he could push it. She told me not to annoy him - stop picking him up for a bit to break the cycle a bit and make him forget that he didn't like it etc- and then reintroduce picking him up slowly and with reward & praise. That's what I did.
The thing that worked finally though with my little boy was simply not to give in. i.e. I didn't shout or punish him but instead when he did it I didn't pull my hands back and stop what I was doing I just continued so he knew it didn't achieve anything. I remember one time I picked him up to put him on my lap out of harms way while we were having satellite installed - he snapped, I just put him on my lap, held him there steady and ignored him snapping, not saying a word, until he just stopped and relaxed, then I praised him he rolled over for a belly rub and fell asleep. He has not once ever growled or snapped since, at anyone, in almost 10 years. I have no idea if that was the right thing to do - I very much doubt it - and I doubt it would necessarily work with any other dog but I do think its just a stage pups go through - if they know it serves no purpose and achieves nothing they will stop doing it. At least that was my experience - though I could tell mine was snapping out of puppy annoyance expressing displeasure & snapping without any real pressure behind the bite - rather than trying to bite down hard out of any sort of malice or aggression. Without seeing your pup and how he acts its hard to tell whether it is something that may be more serious and need addressing or just a pup being a pup.
Perhaps when you have read through a few of the links and suggestions of the excellent posters above you will be able to figure out whether he is just doing what pups do or if it is something more serious, as well as figure out a strategy to deal with it. But honestly at just 3 months old it doesn't sound unusual. You could always discuss with trainers at your puppy obedience/training class too as they may be able to give you some hands-on help/suggestions if they see it first hand.