Heat milk in a saucepan. Add baking soda and cinnamon. Bring to a boil over high heat and remove from heat. Cool. Repeat procedure 3 times. Combine sugar and cornstarch. Beat egg yolks with sugar-cornstarch mixture. Add some hot milk to egg mixture, stir and pour back into hot milk. Return to heat, stirring constantly. Cook and stir until pudding is very thick and separates when stirred to reveal the bottom of the pan. Add walnuts and cook for 5 to 10 minutes, stirring constantly. Spoon pudding onto a deep heat-resistant platter. Sprinkle with sugar and top with butter. Heat the broiler and brown top of pudding. Sprinkle generously with chopped walnuts and cool for 4 to 5 hours before serving.