Did you click on Jean's link? I didn't start seriously working on leash skills with Halo until she was 7 months old, and I used the Silky Leash method as well as the other loose leash walking methods on that page, and a plain flat collar. It is NOT an easy fix, and you have to be wiling to spend more time training than actually "going for a walk", but if you're committed and persistent, it will work.
You start training indoors, in a boring low distraction location. If you watch the videos, she actually starts training in a bathroom! The goal is to teach the dog to yield to gentle pressure from the leash, making it a cue for the dog to move in that direction, relieving the pressure. It's the opposite of what your dog is doing now, which is pulling against pressure of the collar against his neck. You want to train this new response BEFORE you get out into the big wide world with all the interesting, exciting things to see and smell. If you need to be able to take your dog for a walk too, front hook harnesses work well. Traditional harnesses with the leash connection on the back of the dog will only encourage pulling, so I wouldn't recommend that.
The other things I did once we started going for walks were #2 - rewarding for eye contact, #3 - rewarding for the sweet spot, and #4 - the Canine Cha-Cha. #9 is very important too:
Set your dog up for success. For all of the above techniques, work in situations where your dog will be successful. If you take him out to train and he is just a basket-case, pulling every which way, he is not going to learn, and you will just become frustrated. Believe me, I’ve been there!! Back up a step or two — work at home, inside, with only a few distractions. Then work in the yard. Next, work in front of the house. Make your training walks longer and longer. Avoid distractions that your dog is not ready for: if you can make it to the park, but not through it, for example, bring along one of the management tools below for the currently-impossible stage of walking nicely through the park.
Before all this, I did do some work with Halo off leash, in the house and also the dog run outside. I always teach hand targeting as a foundation skill when I bring home a new puppy, so it's easy to use that to get them to follow along at your side, turning when you do, etc. I taught her (again, off leash at home) to sit automatically whenever I stopped, by luring her to walk next to me and then bringing the treat up in front of her nose so her butt dropped down.
Another thing I did was something I think I heard about from Ian Dunbar - the wedding march. You take just one step at a time, stop and sit (the dog, obviously!), then one more step, stop and sit, over and over again. Lure with food, if necessary. I did this on and off leash around the house and in the dog run outside. There's no point in the dog pulling if you're going to stop after every step. If we were working off leash and she got ahead of me, I'd stand there and pat my leg, encouraging her to come back to position, and then we'd try again, taking one step forward. You can gradually add steps - 2 steps, stop and sit 3 steps, stop and sit, etc, once he's automatically stopping and sitting every time you stop.
I did lots of turns, so she learned to pay attention to what I was doing and follow along. Right turns I lured with a treat, for left turns I stepped in front of her and quickly turned, so she would run into my leg if she didn't pivot. I said "turn" right before I did that, and eventually she learned to turn as soon as she heard the cue, so she wouldn't bump into me. Many times we'd just stand in one place and do circles in each direction, 1/4 turn at a time.