Self-Play Preference Optimization for Language Model Alignment | Synapse