Towards Better Instruction Following Language Models for Chinese: Investigating the Impact of Training Data and Evaluation
论文地址:https://arxiv.org/pdf/2304.07854v1.pdf
主要介绍了:LLM(大语言模型)、Instruction tuning(指令微调)、公开的可使用的聊天模型、评估大语言模型。感兴趣的可以去看看这部分,这里不作介绍了。
要求ChatGPT生成多轮对话数据,它需要在用户和人工智能助手之间产生跨越多个轮次 的对话。由于ChatGPT倾向于产生有限的和重复的对话场景,如天气查询和飞机票预订,我们用第一轮提示ChatGPT在对话中确定对话的主题,然后让ChatGPT继续进行相应的对话。
数据清洗:虽然ChatGPT能够以相对较低的成本生成高质量的数据,但生成的数据仍然存在重复和逻辑不一致等问题。为了提高生成数据的质量,我们首先在标记级和语义级上选择高质量的数据,并通过检查词频分布确保数据的多样性。
本文中使用的评价数据是从Ji等人(2023)中提炼出来的。我们对原始评价数据进行了语义上的删减,并将数学和代码任务重新分类为其他任务。原因有二:首先,这些任务相对较难,目前的开源模型在这些任务上表现 不佳,这可能会影响我们对其他能力的评价;其次,ChatGPT在评价这两项任务时不够可靠,这可能会导致有偏见的实验结果。针对于数据分布不平衡,在计算总分时,我们采用宏观平均法。
由于LLaMA的词汇构建缺乏对中文的优化,一个汉字可能会被分割成2到3个字节的标记,这严重影响了模型的微调和对中文数据的推理速度(Cui and Yang, 2023)。为了解决这个问题,我们在1200万行的中文文本上使用句柄(Kudo and Richardson, 2018)训练一个基于字节对编码(BPE)算法的标记器,并将其词汇量设置为50K。我们将训练好的新词汇与原来的LLaMA词汇合并,得到了79458个新词汇。之后,我们调整了词嵌入的大小,并在其他参数固定的情况下,在34亿中文词汇上进一步预训练LLaMA。我们在5000行中文文本上测试了扩展标记器和原始标记器,一行的平均标记数从733个减少到291个。
实验采用了六个数据集,其中五个是公开的,一个是专业的。
该模型和ChatGPT之间存在相当大的性能差距。考虑到ChatGPT有限的评估能力和我们评估数据的不完整性,预计这些差距可能比在评估集中观察到的分数差异还要大。这也是我们坚持改进我们模型的动力。
总之,本研究通过研究各种训练数据因素的影响,如数量、质量和语言分布,来满足对开源对话模型全面评估的日益增长的需求。通过利用可公开获取的高质量的内部结构数据集和中文多轮转换,我们在9个真实世界场景的1000个样本的评估集上评估了不同的模型。我们还总结了建立一个综合评价数据集的几个挑战,并论证了优先发展这种评价集的必要性。此外,本研究扩展了LLaMA的词汇量,并使用34亿中文词汇进行了二次预训练,以提高其在中文领域的性能和效率。这使得训练和推理的时间减少了60%,而没有牺牲性能。通过公开提供模型、数据和代码,这项研究为开源社区正在进行的努力做出了贡献,特别是为中文开发了更多可获得的、高效的对话模型。