Align Your Steps: Optimizing Sampling Schedules in Diffusion Models