Self-Evaluation Improves Selective Generation in Large Language Models