large language model capabilities explained