Qwen 通义千问 14B 模型,长文本问答效果测试

千问的config:

seq_len=2k
max_position_embedding=8k

注意,以下实验结果的字数是token数,不是中文字符数。

不使用动态ntk

  • 12000字输入: 乱码
  • 5000字输入:乱码
  • 1500字输入:正常

不使用动态ntk,使用线性位置插值 缩放4倍

  • 12000字输入: 乱码
  • 5000字输入:正常,但废话多,质量低。
  • 1500字输入:正常,但答案错误

不使用动态ntk,使用线性位置插值 缩放2倍

  • 12000字输入: 乱码
  • 5000字输入:乱码
  • 1500字输入:正常,但答案数字正确但小数点错误,文本质量低

使用动态ntk

  • 12000字输入,答案信息在中间位置: 正常,答案正确
  • 12000字输入,答案信息在靠前位置: 正常,答案错误,但有相关信息

使用动态ntk,同时 使用线性位置插值 缩放2倍

  • 12000字输入,答案信息在中间位置: 正常,答案错误
  • 12000字输入,答案信息在靠前位置: 正常,答案错误,后面开始出现乱码

结论:

  • 如果不使用动态ntk,qwen只能适应2k以下文本,否则就输出乱码。
  • 如果使用动态ntk,qwen可以适应上万字文本,且无需微调。
  • 8k是注意力窗口的长度,文本超过8k将会导致丢失8k距离外的信息。
  • 线性插值可以使模型在2k以上文本时,不出现乱码,但是如果不进行微调,回答质量很低。

你可能感兴趣的:(深度学习,nlp)