Direct Preference Optimization (DPO): A Technical Note | Synapse