To start with stay, first I keep them on a leash. I stand directly in front of them (basically, my feet are touching the dog's paws), give the command and the hand signal, and then give the reward right away. It'll be tough with such a young puppy who probably doesn't want to sit still, but eventually you can start increasing how long you wait before giving the reward, and then you can start working on taking steps away from your dog, and THEN you can start adding in distractions (like walking a circle around them, rolling a ball on the floor, etc.) It takes a while. The important thing is to know your dog's "limits" and be able to figure out what might be too high of an expectation, because you want to work hard to really limit the amount of times your dog breaks the stay before you allow it. I could go more in depth about this... but that's the condensed version of teaching stay... and again, with such a young pup, you want to keep it short and simple for now anyway.
Lay down is usually pretty easy. What I do is sit on the floor and stretch one leg out like a bridge. I have the dog on one side, and a treat in my hand on the other side. Put your leg just high enough in the air that the only way for the dog to get under your leg and get the treat is for them to lie down. The second they lie down, you give the treat. Once they figure out the "game" and start reliably dropping down when you do this, you can start commanding "down" right before they lie down.
Honestly I waited a while before I started really teaching commands to my dog. I worked on good house manners first. She was probably a bit older than 12 weeks old when I started bucking down and working on commands.