微软昨晚又偷摸低调开源了一个框架、2个预训练模型、医疗、金融领域的8B模型、指令合成模型、超大规模(context,instruction,response)格式的数据集,全都以Apache 2.0发布。
这一系列的模型、框架、数据来源于他们最新的研究论文 " Instruction Pre-Training: Language Models are Supervised Multitask Learners."。提出通过指令预训练来探索监督多任务预训练,可以通过指令-响应对来扩展大量原始语料库,并进一步用于预训练语言模型。指令-响应对由基于开源模型、数据构建的高效指令合成器生成。实验中,合成了覆盖 40 多个任务类别的 2 亿条指令-响应对,以验证指令预训练的有效性。
指令预训练在从头开始的一般预训练和领域自适应持续预训练方面都优于普通预训练。在从头开始的预训练中,指令预训练不仅改进了预训练的基础模型,而且还从进一步的指令调优中受益更多。在持续的预训练中,指令预训练使Llama3-8B能够媲美甚至超越Llama3-70B。如下图:
开源地址&论文地址:
https://huggingface.co/instruction-pretrain
https://github.com/microsoft/LMOps
对比普通的因果预训练,指令预训练在大规模原始语料中增加由指令合成器生成的指令-响应对来增强预训练。这些指令-响应对基于原始语料内容生成,确保了高知识覆盖率和正确性。对比如下图:
指令合成器
从多种来源收集覆盖了不同的领域和任务类型。将收集到的数据转换为指令-响应对的格式。每个数据样本的上下文(例如一段文本)被视为原始文本,而相关的下游任务(可能包括常识推理、情感分析等)则作为指令-响应对。在微调过程中,指令合成器会接收原始文本,并学习如何生成相应的指令-响应对。微调数据为高度多样化的,使得合成器能够泛化到未见过的数据。
为了生成不同格式的指令,使用特定的模板来增加指令的多样性,例如自由形式完成、多项选择、自由形式完成附带思考链(Chain-of-Thought)等。
最后
文章的贡献在于提出了一种新的预训练方法,通过在原始语料中增加指令-响应对来提升语言模型的泛化能力,并在多个任务和领域中验证了该方法的有效性。并且以Apache 2.0的协议全面开源了所有的模型以及数据集!
推荐阅读
RAG全景图:从RAG启蒙到高级RAG之36技,再到终章Agentic RAG!
-END-
右下角,帮忙点点
+