科研动态

科研动态

重磅发布!“伶荔”(Linly) 开源百亿参数大规模中文语言模型

2023年05月08日

大数据系统计算技术国家工程实验室副主任、深圳大学计算机与软件学院沈琳琳教授团队主持的人工智能项目“伶荔(Linly)”于今天隆重推出“伶荔说”系列中文语言大模型。

该系列目前包含中文基础模型和对话模型。其中,中文基础模型以LLaMA为底座,利用中文和中英平行增量预训练,将它在英文上强大语言能力迁移到中文上。更进一步汇总了目前公开的多语言指令数据,对中文模型进行了大规模指令跟随训练,实现了Linly-ChatFlow对话模型。


一、项目简介

最近,以ChatGPT为代表的大规模语言模型成为了人工智能领域的一个热门话题。在中文领域,也产生了许多类似的项目,例如商业化模型文心一言、通义,以及开源模型ChatGLM、BELLE等。这些开源模型大多基于预训练语言模型底座,在其基础上进行指令精调,从而实现人类指令跟随和对话功能。因此,基础模型的语言能力很大程度上决定了最终的对话模型效果。目前开源的通用基础模型底座主要有LLaMA[1]和BLOOM[2]。其中,LLaMA是Meta公开的预训练语言模型,它以较小的模型结构和更多的训练数据达到了超越大模型的强大语言能力,覆盖7B、13B、33B和65B模型量级。然而,LLaMA主要在英文数据上预训练,对中文支持不足。另一方面,BLOOM是由开源社区共建的预训练大模型,它的训练语料包含49种语言,包含7.1B以下和175B模型量级,缺乏百亿级参数。由于LLaMA和BLOOM都不是以中文为核心构建的语言模型,它们的中文理解能力都有许多提升空间。

为了开发高性能中文基础模型,填补中文基础模型百亿到千亿级预训练参数的空白,大数据系统计算技术国家工程实验室副主任、深圳大学计算机与软件学院沈琳琳教授团队在人工智能项目“伶荔(Linly)”支持下,推出了伶荔说系列中文语言大模型,目前包含中文基础模型和对话模型。其中,中文基础模型以LLaMA为底座,利用中文和中英平行增量预训练,将它在英文上强大语言能力迁移到中文上。更进一步,汇总了目前公开的多语言指令数据,对中文模型进行了大规模指令跟随训练,实现了Linly-ChatFlow对话模型。

相比已有的中文开源模型,“伶荔说”模型具有以下优势:1. 在32*A100 GPU上训练了不同量级和功能的中文模型,对模型充分训练并提供强大的baseline。据我们所知33B的Linly-Chinese-LLAMA是目前最大的中文LLaMA模型。2. 公开所有训练数据、代码、参数细节以及实验结果,确保项目的可复现性,用户可以选择合适的资源直接用于自己的流程中。3. 项目具有高兼容性和易用性,提供可用于CUDA和CPU的量化推理框架,并支持Huggingface格式。

目前公开可用的模型有:

Linly-Chinese-LLaMA:中文基础模型,基于LLaMA在高质量中文语料上增量训练强化中文语言能力,现已开放 7B、13B 和 33B 量级,65B正在训练中。

Linly-ChatFlow:中文对话模型,在400万指令数据集合上对中文基础模型指令精调,现已开放7B、13B对话模型。

Linly-ChatFlow-int4 :ChatFlow 4-bit量化版本,用于在CPU上部署模型推理。

进行中的项目:

Linly-Chinese-BLOOM:基于BLOOM中文增量训练的中文基础模型,包含7B和175B模型量级,可用于商业场景。

项目地址:https://github.com/CVI-SZU/Linly


二、项目特点

伶荔说项目具有以下特点:

1. 大规模中文增量训练,利用翻译数据提速中文模型收敛

在训练数据方面,项目尽可能全面的收集了各类中文语料和指令数据。无监督训练使用了上亿条高质量的公开中文数据,包括新闻、百科、文学、科学文献等类型。和通常的无监督预训练不同,项目在训练初期加入了大量中英文平行语料,帮助模型将英文能力快速迁移到中文上。

在指令精调阶段,项目汇总了开源社区的指令数据资源,包括多轮对话、多语言指令、GPT4/ChatGPT问答、思维链数据等等,经过筛选后使用500万条数据进行指令精调得到Linly-ChatFlow模型。训练使用的数据集也在项目里提供。训练流程如图所示:

2. 全参数训练,覆盖多个模型量级

目前基于LLaMA的中文模型通常使用LoRA方法进行训练,LoRA冻结预训练的模型参数,通过往模型中加入额外的网络层,并只训练这些新增的网络层参数,来实现快速适配。虽然LoRA能够提升训练速度且降低设备要求,但性能上限低于全参数训练[3]。为了使模型获得尽可能强的中文语言能力,该项目对所有参数量级都采用全参数训练,开销大约是LoRA的3-5倍。

伶荔说语言模型利用TencentPretrain多模态预训练框架[4],集成DeepSpeed ZeRO3以FP16数据并行训练。目前已开放7B、13B、33B模型权重,65B模型正在训练中。模型仍在持续迭代,将定期更新,损失收敛情况如图所示:

3. 可支持本地CPU int4推理、消费级GPU推理

大模型通常具有数百亿参数量,提高了使用门槛。为了让更多用户使用Linly-ChatFlow模型,我们在项目中集成了高可用模型量化推理方案,支持int4量化CPU推理可以在手机或者笔记本电脑上使用,int8量化使用CUDA加速可以在消费级GPU推理13B模型。此外,项目中还集成了微服务部署,用户能够一键将模型部署成服务,方便二次开发。


三、生成案例

模型性能测试设计了8个维度,从不同角度考察Linly-ChatFlow的语言能力并和其他模型进行对比。测评包含常识推理、逻辑推理、知识问答、语义理解、数值计算、代码生成、文本写作和文本翻译,每个类别包含约10个问题。


四、性能评估

在评估指标上,针对答案的帮助程度、相关度、准确率、流畅性和详细程度分别进行打分。我们选择了一些使用广泛的预训练对话模型与ChatFlow进行对比,包括GPT3[5]、ChatGLM[6]、Chinese-Alpaca7B/13B[7] 和BELLE-7B2M[8]等模型。

在人类评估中,Linly-ChatFlow-13B 在逻辑推理、文本翻译和知识问答场景上回答质量超过ChatGLM,在语义理解、文本写作、常识推理场景中与ChatGLM相当,在数值计算、代码生成弱于ChatGLM。与GPT3、BELLE、Chinese-Alpaca等模型相比,Linly-ChatFlow-13B 在各场景中都获得了更高的用户评价。

五、未来工作

伶荔说系列模型目前仍处于欠拟合,正在持续训练中,期望未来33B和65B的版本能带来更惊艳的性能。在另一方面,我们不仅公开了对话模型,还公开了中文基础模型和相应的训练代码与数据集,向社区提供了一套可复现的对话模型方案,目前也有团队基于我们工作实现了金融、医学等领域的垂直领域对话模型。

在之后的工作,项目团队将继续对伶荔说系列模型进行改进,包括尝试人类反馈的强化学习(RLHF)、适用于中文的字词结合tokenizer、更高效的GPU int3/int4量化推理方法等等。伶荔项目还将针对虚拟人、医疗以及智能体场景陆续推出“伶荔”系列大模型,敬请关注!

参考文献

[1]Touvron H, Lavril T, Izacard G, et al. Llama: Open and efficient foundation language models[J]. arXiv preprint arXiv:2302.13971, 2023.

[2] Scao T L, Fan A, Akiki C, et al. Bloom: A 176b-parameter open-access multilingual language model[J]. arXiv preprint arXiv:2211.05100, 2022.

[3] Sun X, Ji Y, Ma B, et al. A Comparative Study between Full-Parameter and LoRA-based Fine-Tuning on Chinese Instruction Data for Instruction Following Large Language Model[J]. arXiv preprint arXiv:2304.08109, 2023.

[4] https://github.com/Tencent/TencentPretrain Zhao Z, Li Y, Hou C, et al. TencentPretrain: A Scalable and Flexible Toolkit for Pre-training Models of Different Modalities[J]. arXiv preprint arXiv:2212.06385, 2022.

[5] Brown T, Mann B, Ryder N, et al. Language models are few-shot learners[J]. Advances in neural information processing systems, 2020, 33: 1877-1901.

[6] Zeng A, Liu X, Du Z, et al. Glm-130b: An open bilingual pre-trained model[J]. arXiv preprint arXiv:2210.02414, 2022.

[7] Cui Y, Yang Z, Yao X. Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca[J]. arXiv preprint arXiv:2304.08177, 2023.

[8] Ji Y, Deng Y, Gong Y, et al. Exploring the impact of instruction data scaling on large language models: An empirical study on real-world use cases[J]. arXiv preprint arXiv:2303.14742, 2023.