Improving generalization in large language models by learning prefix subspaces