Mastering Diffusion Probabilistic Models from Scratch