A good blog post explains how systems like ChatGPT are built using clever combinations of unsupervised (for language), supervised (for preferences), and reinforcement (for applying the feedback loop to the former) learning