Minimax Optimization For Games And For Fine-Tuning Of Language Models