赞
踩
本文首发于微信公众号 CVHub,未经授权不得以任何形式售卖或私自转载到其它平台,仅供学习,违者必究!
Title: Panda LLM: Training Data and Evaluation for Open-Sourced Chinese
Instruction-Following Large Language Models
PDF: https://arxiv.org/pdf/2305.03025v1.pdf
Code: https://github.com/dandelionsllm/pandallm
本项目以LLaMA
为基础模型,采用了两阶段训练方法开发了中文大语言模型Panda LLM
。同时探索了各种训练数据因素(如数量、质量和语言分布),以及指令数据集多样性对大语言模型性能的影响。 作者通过大量的定量分析和补充评估,为如何构建一个高性能大模型的持续发展提供了有价值的见解。本项目已公开模型权重,代码和数据集,欢迎大家使用!
为了在有限的硬件资源下,开发一个高质量的中文指令跟随instruction-following
大语言模型,需要两个关键组成部分。
本文作者详细展示了团队开发Panda LLM
模型的过程,包括训练数据量,质量,语言分布,训练策略等。首先,作者以强大的LLaMA
模型作为基础模型,并通过指令微调instruction-tuning
技术在六个中文语料库上进一步优化其性能,使其能够在各种任务上表现良好。
Panda LLM
是基于各种LLaMA
模型建立的,包括Meta最近发布的LLaMA-7B
、LLaMA-13B
、LLaMA-33B
和LLaMA-65B
作为基础模型。LLaMA
模型虽然比像ChatGPT
和GPT4
这样的商业大模型小,但具有高性能和开源的特点,可为不同领域提供更易于访问的基础大型语言模型,并且需要更少的计算资源。与其他大型语言模型类似,LLaMA
模型通过接收一系列单词作为输入,并预测下一个单词来递归生成文本。
在大型语言模型的最新工作中,Panda LLM
网络基于Transformer
架构。利用各种改进来增强模型,包括预归一化、SwiGLU激活函数和旋转嵌入等。如上表3所示,LLaMA-65B
模型是在由1.4T token组成的7个公开可用数据集上混合训练的。训练配置和模型超参数如下表1所示。
目前许多开源的大语言模型在英语任务上表现出的惊人性能,但它们主要是在英语数据集上进行预训练,限制了它们理解中文语料库的能力。为了让Panda LLM
在中文数据集上获得强大的性能,作者使用了强大的指令微调instruction-tuning
技术,将LLaMA
基础模型在五个开源的中文数据集进行混合训练,其中包括来自各种语言领域的1530万个样本,例如维基百科语料,新闻语料,百科问答语料,社区问答语料,和翻译语料。
简介: 104万个词条(1,043,224条; 原始文件大小1.6G,压缩文件519M;数据更新时间:2019.2.7)
数据集下载地址:https://pan.baidu.com/s/1uPMlIY3vhusdnhAge318TA
用途: 可以做为通用中文语料,做预训练的语料或构建词向量,也可以用于构建知识问答。
数据预览:
经济学
经济学是一门对产品和服务的生产、分配以及消费进行研究的社会科学。西方语言中的“经济学”一词源于古希腊的。
经济学注重的是研究经济行为者在一个经济体系下的行为,以及他们彼此之间的互动。在现代,经济学的教材通常将这门领域的研究分为总体经济学和个体经济学。微观经济学检视一个社会里基本层次的行为,包括个体的行为者(例如个人、公司、买家或卖家)以及与市场的互动。而宏观经济学则分析整个经济体和其议题,包括失业、通货膨胀、经济成长、财政和货币政策…
简介: 250万篇新闻( 原始数据9G,压缩文件3.6G;新闻内容跨度:2014-2016年)
数据集下载地址:https://pan.baidu.com/s/1MLLM-CdM6BhJkj8D0u3atA
密码:k265
用途:
数据预览:
简介: 150万个问答( 原始数据1G多,压缩文件663M;数据更新时间:2018年)
数据集下载地址:https://pan.baidu.com/s/12TCEwC_Q3He65HtPKN17cA
密码:fu45
用途:
数据预览:
简介: 410万个问答( 过滤后数据3.7G,压缩文件1.7G;数据跨度:2015-2016年)
数据集下载地址:https://drive.google.com/open?id=1u2yW_XohbYL2YAK6Bzc5XrngHstQTf0v
用途:
数据预览:
简介: 520万个中英文平行语料( 原始数据1.1G,压缩文件596M)
数据集下载地址:https://drive.google.com/open?id=1EX8eE5YWBxCaohBO8Fh4e2j3b9C2bTVQ
用途:
数据预览:
作者在以上五类中文混合数据集上进行了几次尝试直接训练模型后发现,模型在遵循指令instruction
任务上表现受限。推测这可能是因为整个训练语料库中遵循指令样本数量不足,导致模型在指令遵循任务上的表现不足。
为了增强Panda LLM的指令跟随/遵循instruction-following
能力(理解指令的能力),作者进一步将中文开放指令通用数据集COIG
进一步合并到训练语料库中。COIG
是一个开源的中文语料库,包含来自各个领域的遵循指令样本instruction-sample
,包括经过手工验证的翻译通用指令语料库、手工注释的考试指令语料库、人类价值对齐指令语料库、多轮因果校正聊天语料库和leetcode指令语料库。
数据集地址:https://huggingface.co/datasets/BAAI/COIG
数据预览:
将以上中文开放指令通用数据集COIG
加入到训练中后,Panda LLM
在一些instruction问答上带来了显着的性能提升。如下表4所示,其中Panda-7B
是作者在五类中文混合数据集上进行混合训练模型,在加入COIG
中文指令数据集后,Panda-Instruct-7B-*steps
性能表现强劲,其中训练到第9k个step后,Panda-Instruct-7B-9steps
在C3-m数据集上,直接将模型性能从43.66拔高到57.04,获得了13.38%的性能增益。
由此可见,instruction
指令数据集的引入是非常有必要的,它可以增强大模型对于指令的理解能力,并作出更为符合人类口味的回答。
使用了两个AWS
计算节点,每个节点配备了16块NVIDIA A100-80G GPU,训练了Panda-7B和Panda-13B模型。使用标准的随机梯度下降SGD优化器进行训练,Panda-7B和Panda-13B的batch size大小分别为8192和4096,学习率为1e-5,其中1%的总训练step用于学习率预热策略warm-up。对于两个模型,均不使用权重衰减。为了加速模型训练,使用了微软的DeepSpeed6 ZERO-1
进行训练,并使用bfloat16和梯度检查点技术。Panda-7B和Panda-13B的训练过程分别需要大约7天和14天的时间。有关更多训练细节,可参考作者GitHub代码仓库中的配置文件。
::: block-1
为了评估模型的问答推理能力,作者采用了C3数据集,包含多种文档类型的C3-Mixed数据集,和以对话为文档形式的C3-Dialogue三个公开数据集作为评估数据集,上表4为评估结果。可以发现在加入COIG
中文指令数据集后,模型对于指令的理解能力大幅增强,并作出更符合人类口味的回答。
其次,在多个领域进行指令微调instruction tuning
可以提高中文语言模型的理解推理能力。 因此使用包含来自不同领域的指令数据集COIG
进行微调非常有必要。 结果表明,仅使用 COIG 数据集的 4.2% 就可以显著地提高模型的性能(因为COIG 数据集包含多个领域),尤其是在 C3-m 数据集上获得了惊人的 13.38 的增益。同时将 NLP 中文语料库数据集和 COIG 数据集混合使用并不会提高模型的性能,而且会削弱 COIG 数据集的有效性,这表明:将此类数据混合在一起并不会导致性能的提升。
本项目以LLaMA
为基础模型,采用两阶段训练方法,首先在五大中文语料进行训练微调,其次在少量但多样数据上进行指令微调,开发了中文大语言模型Panda LLM
。因此,整篇文章的核心结论可归纳为:通过丰富的训练语料进行模型微调得到知识储备丰富的预训练模型,然后仅在少量但具有多样性的数据上进行指令微调即可以产生高度有效的中文语言模型。作者已开放模型权重,模型代码,和训练数据集,欢迎大家使用!
即日起,CVHub
正式开通知识星球,首期提供以下服务:
Challenge
分析,创新点挖掘,实验配置,写作经验等。CV
,NLP
,AIGC
等;同时不定期分享各类实用工具、干货资料等。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。