Optimizing Large Language Models