Firefly-LLaMA2-Chinese 项目介绍
项目简介
Firefly-LLaMA2-Chinese 项目是一项与 Firefly 项目传承一脉的开源工程,聚焦于低资源增量预训练。该项目不仅支持对 Baichuan2、Qwen、InternLM 等原生中文模型的增量预训练,还能扩展英文模型 LLaMA2 和 Falcon 的中文词汇表,从而进行中文领域的增量预训练。
项目开源了 Firefly-LLaMA2-Chinese 中英文双语系列模型,以 LLaMA2 为基模,进行了中文词表的扩充,使用22GB的中英文预训练语料进行了增量预训练,并最终通过大规模中英双语多轮对话指令对模型进行进一步训练。相较于现有的开源项目,Firefly-LLaMA2-Chinese 模型在评测方面展现出了显著的竞争优势。
项目强调低资源高效的训练,在增量预训练及指令微调阶段,只使用了最多4个V100 GPUs的资源,与其他模型如 Ziya 的160个A100,Linly 的32个A100相比,资源消耗极少。项目不仅开源了模型权重,还开源了完整的训练代码和数据,秉持赋能于人的理念。
核心工作包括:
- 对 LLaMA2 进行中文词表扩充,提升模型的中文处理效率。
- 使用大规模中英文数据进行增量预训练和多轮指令微调。
- 系列模型的开源,如 7B 和 13B 的 Base 和 Chat 模型。
- 增量预训练、指令微调等代码开源,支持主流开源模型的扩展。
模型与数据
项目提供了多个版本的预训练和指令微调模型,包括 7B 和 13B 的 Base 模型(增量预训练)和 Chat 模型(多轮对话指令微调)。还包括 firefly-baichuan2-13b 模型,它在一些榜单上的表现非常突出。
数据方面,使用了包含 22GB 数据量的 firefly-pretrain-dataset,涵盖 CLUE、ThucNews、CNews、COIG、维基百科以及其他中文文献和古诗词等。
模型评测
模型的表现通过专业评测榜单和人工评测得到验证。在 CMMLU 和 Open LLM Leaderboard 一些任务的评测中,Firefly-LLaMA2-Chinese 比其它基于 LLaMA2 的模型表现出更好的中文能力。例如,firefly-baichuan2-13b 在 CMMLU 上取得了较为优异的成绩。
人工评测方面,项目构建了多任务的人工评测集,结果显示 Firefly-LLaMA2-13B-Chat 模型的输出质量高于 Linly-LLaMA2-13B 模型,并且在部分测试中表现超过 Llama2-Chat-13B。
训练细节
项目在 QLoRA 上优化了训练流程,完整的流程包括:对 LLaMA2 进行中文词表扩充,用22GB中英文数据进行增量预训练,最后使用多轮对话指令数据进行微调。整个流程上使用资源非常高效,最多仅使用了四块 V100 图形卡,并提供了完整的训练参数设置和代码。
模型推理与生成
Firefly-LLaMA2-Chinese 提供了丰富的推理脚本,包括单轮和多轮对话的推理支持,用户可以自由调整生成参数以获得最佳效果。此外,项目还支持将模型部署成 HTTP 服务,通过简单的接口调用,便于实际应用。
局限性
如同其它大规模语言模型一样,Firefly-LLaMA2-Chinese 也有其局限性,主要涉及在特定领域或点上可能的表现不足,以及在某些情况下生成内容的准确性可能受到数据训练集限制等方面。
欢迎对该项目感兴趣的开发者、研究者通过技术交流群和公众号等平台进行进一步交流与合作!