语言模型检索用的知识库,是越大越好吗?
语言模型在预训练时所使用的数据量越大,推理时的准确率等性能总的来说就会越好。根据美国华盛顿大学和艾伦 AI 研究所近期发表的一篇论文[1],语言模型检索用的知识库同样也存在着规模效应,知识库的规模越大,模型完成知识密集型任务的准确率等性能就越好,甚至有可能好于更大、但不使用知识库的模型。
这篇论文根据实验还指出,由于为知识建索引的计算成本低于使用相同知识训练模型的计算成本,通过扩大知识库的规模,比起训练更大的模型,可以在相同计算成本的条件下,更明显地提升模型的性能。
在这篇论文中,测试用的语言模型包括 Llama-2、Llama-3、Pythia 和 OLMo,所采用的测试数据集包括 RedPajama、S2ORC、TriviaQA、Natural Questions(NQ)、MMLU 和 MedQA。
为了研究知识库的规模效应,论文的作者们构建了一个名为 MassiveDS 的万亿 token 规模的开源知识库[2],该知识库的知识包括:
来自于书籍、论文、百科全书、程序代码、专业文章等多种数据集的多领域知识,以及
来自于 Common Crawl 数据集的互联网知识。
值得一提的是,目前已发表的大多数知识库仅采用比较单一的知识源,并且知识库的规模明显小于 MassiveDS 的规模。
论文的主要实验及发现
1、所使用的知识库规模越大,Llama-2 和 Llama-3 模型针对 RedPajama 和 S2ORC 测试集的语言建模能力(以困惑度、即 perplexity 来衡量)就越强;当知识库的规模足够大时,Llama-2 7B 模型甚至会优于不使用知识库的 Llama-2 13B 模型;
2、所使用的知识库规模越大,Llama-2 和 Llama-3 模型针对 TriviaQA、NQ 和 MMLU 测试集的通用知识问题回答能力、以及通用知识推理能力就越强;
3、由于为知识库建索引的计算成本低于训练模型的计算成本,当计算资源一定时,将计算资源用于为更大的知识库建索引,比起将计算资源用于训练模型去记忆更多的知识,更有助于提升模型的性能;这里的前提是模型需要具有基于知识库处理知识的能力;
4、针对知识密集型、并以召回率作为衡量指标的任务(例如 TriviaQA 和 NQ),较弱的语言模型(例如 Pythia 和 OLMo)同样也能明显得益于知识库的使用和更大的知识库规模;
5、针对推理密集型的任务(例如 MMLU 和 MedQA),具有相应推理能力的 OLMo 模型能够得益于知识库的使用和更大的知识库规模;不具有相应推理能力的 Pythia 模型无法得益于知识库的使用和更大的知识库规模;
6、MassiveDS 知识库与一些单一领域的知识库相比,在多个测试集上的测试结果至少持平,甚至更优;这表明类似于 MassiveDS 的通用型知识库可以同时提高模型在多个领域的知识水平,使得构建基于检索的通用模型进一步成为可能。
题图及原文:Rulin Shao 等[1]
原文许可协议:CC BY[3]
参考资料:
[1] Scaling Retrieval-Based Language Models with a Trillion-Token Datastore. https://arxiv.org/abs/2407.12854
版权声明: 本文为 InfoQ 作者【算AI】的原创文章。
原文链接:【http://xie.infoq.cn/article/53e7e46d34416476aa05e6eef】。文章转载请联系作者。
评论