Automated evaluation of open domain natural language generation (NLG) modelsremains a challenge and widely used metrics such as BLEU and Perplexity can bemisleading in some cases. In our paper, we propose to evaluate natural languagegeneration models by learning to compare a pair of generated sentences byfine-tuning BERT, which has been shown to have good natural languageunderstanding ability. We also propose to evaluate the model-level quality ofNLG models with sample-level comparison results with skill rating system. Whileable to be trained in a fully self-supervised fashion, our model can be furtherfine-tuned with a little amount of human preference annotation to betterimitate human judgment. In addition to evaluating trained models, we propose toapply our model as a performance indicator during training for betterhyperparameter tuning and early-stopping. We evaluate our approach on bothstory generation and chit-chat dialogue response generation. Experimentalresults show that our model correlates better with human preference comparedwith previous automated evaluation approaches. Training with the proposedmetric yields better performance in human evaluation, which furtherdemonstrates the effectiveness of the proposed model.