去年10月,北京理工大学-东南信息研究院自然语言处理团队发布系列双语轻量级大语言模型明德 (Ming De LLM)——MindLLM。
本月,该团队在始智AI wisemodel.cn和huggingface开源社区发布了最新成果——MindLLM-1.3B-Chat模型。这一模型基于13亿参数的明德大语言模型构建,专门针对中文对话任务进行了有监督训练。自发布以来,它在huggingface平台上1个月左右时间里已经获得超过3000余次下载。
该开源版本为中文自然语言处理社区带来了一个研究和部署兼备的轻量级对话大模型。得益于其轻量级的优势,仅需少量GPU显存即可实现快速部署和推理,显著降低了部署成本和技术门槛,该1.3B对话明德模型特别适合于资源受限的环境,如车载系统和移动设备等领域。开源地址:
https://wisemodel.cn/models/BIT-DNY/MindLLM-1b3-chat-zh(模型地址)
https://huggingface.co/bit-dny/MindLLM-1b3-chat-zh-v2.0(HF地址)
一、MindLLM 技术回顾
MindLLM在中英双语上进行预训练,以1.3B和3B的小规模参数体量在预训练评估结果优于部分更大型的模型。在未使用指令微调和对齐时,MindLLM模型 在 MMLU 和 AGIEval 评测上的性能优于 MPT-7B 和 GPT-J-6B 等大型模型。在中文方面,MindLLM 在 C-Eval 和 CMMLU 上表现出与更大参数模型相当的性能。
具体来说,MindLLM-3B 在数学能力上优于 MOSS-Base-16B、MPT-7B 等较大模型,在双语能力上超过 Baichuan2-7B 和 MOSS-Base-16B。而且,MindLLM-1.3B 在数学上比同等大小的 GPT-Neo-1.3B 更好。
二、对话能力训练
2.1 数据来源
该团队收集了社区公开的中文指令数据,包括人工标注(OLCC)NLP数据模版转换(FireFly,pCLUE,xP3)和LLM生成(Alpaca-GPT-4,BELLE,COIG,MOSS,RefGPT-Fact-zh)多种数据构造方式。进一步地,基于这些数据进行扩展,从更大规模语言模型中蒸馏了新一批多轮对话数据和与自我认知相关的数据,并对这些数据进行自动化评估。经过细粒度的过滤和去重复后,总共构建了两千多万条的中文对话数据,囊括了日常闲聊、语言处理、代码编程、书写辅助等多个方面。
2.2 数据处理
为避免指令重复度过高导致模型在部分任务上出现过拟合并筛选质量较高的训练样本,首先使用开源语意相似度计算模型匹配到指令高度相似的样本,然后在样本长度接近的情况下,选择保留困惑度(PPL)较低的数据,以确保样本质量。此外,对不同任务,也保留了一定比例的数据,保证模型可以学习到指令并产生一定的指令泛化能力。
特别地,对于自我认知数据,利用ChatGPT进行角色扮演,生成MindLLM与用户的多轮对话数据,主要包括用户询问和自我介绍时触发“我是MindLLM”的认知内容。
2.3 训练细节
2.3.1 模型模版与多轮损失计算
模型采用了<uer>、<assistant> token作为用户和AI助手的角色标志符。在训练过程中,多轮对话被模版组织,并使用EOS token连接分隔:
模型只计算<assistant>后,下一个<user>前的所有token的损失,即对于包含i轮对话的序列x1,y1,x2,y2,……,xi,yi,其中xi表示用户指令,yi表示期望的输出,训练目标是让模型基于历史对话x1,y1,x2,y2,……,xi预测输出yi。假设所有输入token组成X,所有输出token组成Y,则训练的损失函数为:
其中,tj为第j个输入token。
2.3.2 训练与部署
使用数据并行和bf16混合精度对MindLLM-1b3进行全量参数微调,设置学习率为1e-4,并在前3%训练步长进行线性预热,然后再线性衰减。团队仅在4卡A100GPU上训练4天的时间,即完成了两千多万条数据一轮全量训练。在经过训练之后,成功在更受限的资源设备上进行部署,实验表明,MindLLM-Chat仅需12G显存即可部署使用,且其推理速度远超更大规模的模型,而在生成质量上达到了与开放对话大模型的相匹配的能力。
模型 | 加载模型 | 一轮对话 | 最大长度(2048) |
---|---|---|---|
MindLLM-Chat | 6.2GB | 7.3GB | 16GB |
三、对话能力样例
闲聊对话
旅行建议
自我认知
书写辅助
科技知识
代码能力
总结
本文介绍了MindLLM系列模型及开源对话模型。MindLLM团队为明德模型进行了专门的对话领域适应性训练,可以看到小模型也可以具备流畅的交互能力。开源的MindLLM供用户评测和使用,并且基于现有checkpoint可继续适配于不同对话场景,欢迎大家下载使用。未来,团队计划在更多下游任务和特定领域进行尝试,以更深入地实现轻量级大模型的具体应用。https://arxiv.org/abs/2310.15777,更多详情可以参考论文。