Fine-Tuning for Faithfulness in Generative AI: Supervised and Preference Approaches