SkyworkAI / Skywork

Skywork series models are pre-trained on 3.2TB of high-quality multilingual (mainly Chinese and English) and code data. We have open-sourced the model, training data, evaluation data, evaluation methods, etc. 天工系列模型在3.2TB高质量多语言和代码数据上进行预训练。我们开源了模型参数,训练数据,评估数据,评估方法。
Other
1.21k stars 111 forks source link

中文领域数据perplexity评估脚本问题 #68

Closed zhliuworks closed 8 months ago

zhliuworks commented 8 months ago

请教两个问题:

  1. https://github.com/SkyworkAI/Skywork/blob/main/eval/eval_loss.py#L93 这里,请问为什么要除3?

    if args.max_tokens is not None:
      input_texts = [text[:args.max_tokens//3] for text in input_texts] 
  2. https://github.com/QwenLM/Qwen/blob/main/README_CN.md?plain=1#L269 这里,Qwen采用了padding_side='left',而评测脚本eval_loss.py中:

    if not 'chatglm3' in args.model_path.lower():
      tokenizer.padding_side = "right"

[更新] padding_side='left'或者'right'测出来指标一样

zhao1iang commented 8 months ago

第一个问题在评估常见问题这个章节中已经有解释了哈。这个是因为Llama模型一般是将汉字切分成3个字符,为了保证一篇文档输入模型分词后不超过4096的限制,所以我们将文档最大长度设置成了4096/3=1228。在我们对比模型中,Llama模型是对中文切分最细的,所以只要不超过Llama模型的分词长度,其他模型也肯定可以塞得下。

zhao1iang commented 8 months ago

qwen我们batch size设置的是1,也就是不pad,所以left和right是一样的。

zhliuworks commented 8 months ago

感谢大佬!