Use treats that he really loves! It'll work every time. He has to know he'll get one if he does right and won't get one if he doesn't. Start in an area that he can't run away from like inside the house or fenced yard. You have to be assertive if you want it to work. Not mean just firm. Good luck
Use positive reinforcement. Say his name while he's right in front of you(on a leash). When he looks at you, give him a treat. Repeat a few times. Go to a small fully-fenced area, take the leash off, say his name, and when he looks at you, treat. Repeat. Now let him go wander and explore the area. A minute or so later, say his name. If he looks up, show him the treat and say his name again. He will most likely come. If by chance he does not look up, go get him, put him on the leash, and repeat all exercises again. Remember, make training fun and rewarding for you and your dog. If the training uses negative reinforcement, your dog will never learn. Keep sessions short, no more than 15 minutes, 10 is ideal. If you do 10 minute sessions, you can do them up to 5 times a day. One last tip, always end on a good note so you will both end the session happy. Ending on a bad note will basically reward him for not responding.