Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

IDEA研究院封神榜团队再次出击, 推出开源通用大模型系列“姜子牙”

2022年8月在AIGC的浪潮下,IDEA研究院认知计算与自然语言研究中心(CCNL)以推动中国AI生成内容的发展为目标,开源了中文Stable Diffusion模型“太乙”并迅速成为Hugging Face 上Stable Diffusion类模型的世界第二大下载量模型。

而如今,当AI的发展逐步从AIGC向AGI迈进时,各种通用大模型如雨后春笋般出现,其中也不乏一些开源的中文模型。可我们发现,通用大模型在中国语境下仍旧面临的很多内容生成的挑战。

秉承助力中国AGI发展的初心,IDEA研究院CCNL今日正式推出开源通用大模型“姜子牙”系列并开源封神榜第99个通用大模型“姜子牙通用大模型v1”,希望通过开源“姜子牙系列”,再次推动中国AGI应用层的迸发,帮助每个人用上具有中国文化内核的AGI通用模型,享受AGI时代下AI技术给生活带来的红利,欢迎大家体验。                                                                                     

姜子牙通用大模型v1

开源地址:https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1

姜子牙通用大模型v1(Ziya-LLaMA-13B-v1)拥有130亿参数,从LLaMA-13B开始重新构建中文词表,进行千亿token量级的已知的最大规模继续预训练,使模型具备原生中文能力。再经过500万条多任务样本的有监督微调(SFT)和综合人类反馈训练(RM+PPO+HFFT+COHFT+RBRS),进一步激发和加强各种AI任务能力。

为了从多个维度全方面的评估大模型的能力,我们设计了一个评估集。评估集包括常识类问答、推理、自然语言理解任务、数学、写作、代码、翻译、角色扮演、翻译9大类任务,32个子类,共计185个问题。 封神榜团队现将评测集一同开源至HuggingFace,欢迎大家进行访问和指教:https://huggingface.co/datasets/IDEA-CCNL/Ziya-Eval-Chinese

我们采用人工标注团队对模型在评估集上的表现进行评分。每个问题的模型表现分为好、中、差三档,分别给予1分、0.5分和0分。评分标准包含答案的意图识别准确性、逻辑合理性、表达清晰程度、真实性、有害性及完整性等方面。每一大类问题都由具备相应学科背景的固定标注员进行评分。对于有争议的问题,多位标注员讨论后给出统一结果。

用以上方法,我们评估了姜子牙v1以及目前公开的其他6个主流开源和非开源通用大模型。从评测结果来看,姜子牙v1综合各方面能力,处于领先水平。具体评测效果如下:

 

基于LLaMA基础的最大规模增量训练

针对大规模模型分布式训练,封神榜团队内部沉淀了一套3D并行(Data+Tensor+Pipeline parallesim)+DeepSpeed的训练框架。该框架能够支撑TB级规模数据、100B参数规模的模型实现高效训练、微调和评估。据团队所知,姜子牙v1(Ziya-LLaMA-13B-v1)是目前为止在LLaMA基础上进行最大规模增量训练的开源模型。

在增量训练过程中,团队采用了Batchsize=2.6M tokens,FP 16的混合精度,通过各种优化,吞吐量达到118 TFLOP 每GPU每秒。在原生的LLaMA-13B模型基础上,使用数百张A100,在8天的时间里让模型增量式地学习了110B tokens的数据。

针对训练期间出现的机器宕机、底层框架bug、loss spike等问题和挑战,开发团队进行了norm等算子精度调整,梯度裁剪,学习率、weight_decay等超参数调整,保证了增量训练的稳定性。(下图为训练过程的loss曲线) 

loss曲线图

团队在原生中文分词方法上有所创新,在LLaMA词表的基础上增加了7000+个常见中文字,通过和LLaMA原生词表去重,最终得到一个39410大小的词表,并通过复用Transformers的LlamaTokenizer实现效果,解决了LLaMA原生分词对中文编解码效率低下的问题。 

在数据处理方面,团队建立了一套完整的数据清洗流程,可以得到更高质量的语料,提高模型精度。原始数据包含英文和中文,其中英文数据来自OpenWebText、Books、Wikipedia和Code,中文数据来自清洗后的“悟道”数据集和自建的中文数据集。在对原始数据进行去重、模型打分、数据分桶、规则过滤、敏感主题过滤和数据评估后,最终得到TB级别的训练数据。

在增量训练后,基础模型的各项指标均有提升,为后续有监督训练和人类反馈学习打好基础。 除此之外,模型的中文续写变得更加流畅,不仅能够理解“孙悟空”、“红孩儿”等地地道道的中文词汇,还能在理解的基础上进行内容创作。

在MMLU任务上,团队利用HELM框架测试了5-shot增量前后的效果,如下图所示,LLaMA继续大规模训练可以进一步加强模型在英文上的表现。

MMLU增量效果对比图

多阶段课程学习+增量学习

在多任务有监督微调(SFT)阶段,基于封神榜团队以往大量的技术积累,团队进行了更深入的指令微调(Instruction Tuning)训练探索。此次采用了课程学习(Curriculum Learning)加增量训练(Continual Learning)的策略,用大模型辅助划分已有的数据难度,然后通过“Easy To Hard”的方式,分多个阶段进行SFT训练, 让模型的训练过程更为流畅。在完成多阶段SFT训练后,姜子牙v1在意图识别、中英语言对齐、推理和写作等多方面能力都有所增强。 

SFT训练过程示意图

SFT训练数据包含多个高质量的数据集,数据集总计500万训练样本,均经过人工筛选和校验:

•    Self-Instruct构造的数据(约2M):包含BELLE、Alpaca、Alpaca-GPT4等多个数据集;

•    Code数据(300K):包含Leetcode、多种Code任务形式;

•    推理/逻辑相关数据(500K):推理、申论、数学应用题、数值计算等;

•    中英平行语料(2M):中英互译语料、COT类型翻译语料、古文翻译语料等;

•    多轮对话语料(500K):Self-Instruct生成、任务型多轮对话、Role-Playing型多轮对话等。

综合多种人类反馈学习算法 

为了进一步提升模型的综合表现,使其能够充分理解人类意图、减少“幻觉”和不安全的输出,封神榜团队基于指令微调后的模型,进行了人类反馈训练(Human-Feedback Training,HFT)。

在训练中,团队主要采用了以人类反馈强化学习(RM、PPO)为主的方法,并结合多种其他手段,包括人类反馈微调(Human-Feedback Fine-tuning,HFFT)、后见链微调(Chain-of-Hindsight Fine-tuning,COHFT)、AI反馈(AI Feedback)和基于规则的奖励系统(Rule-based Reward System,RBRS),用来弥补PPO方法的短板,加速训练。

团队在内部自研的框架上实现了HFT的训练流程,该框架可以利用最少8张40G的A100显卡完成姜子牙v1的全参数训练。在PPO训练中,团队没有限制生成样本的长度,以确保长文本任务的奖励准确性。每次训练的总经验池尺寸超过100K样本,确保了训练的充分性。

比原生LLaMA有更高的推理速度

由于姜子牙v1在LLaMA词表基础上新增了7000+个中文token,使得模型对于中文的token表示更加高效,因此在中文任务中较原生LLaMA有更高的推理速度。下面是FP16精度下在各种硬件上的推理速度表现:

小彩蛋 

为了更好地推动社区发展,团队同时开源了我们训练过程中采用的奖励模型——姜子牙-Reward(Ziya-LLaMA-7B-Reward),这也是封神榜第100个开源模型。姜子牙v1是以姜子牙-Reward为环境进行PPO训练的。姜子牙-Reward模拟中英双语生成的环境,能够对通用任务提供准确的奖励反馈,其训练的偏好排序数据如下:

● 自标注高质量偏好排序数据40190条

● 严格过滤的外部开源数据3600条,来源包括:OpenAssistant Conversations Dataset (OASST1)、Anthropic HH-RLHF、GPT-4-LLM和webgpt_comparisions

开源地址:https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-7B-Reward

未来,封神榜团队将进一步迭代并丰富封神榜姜子牙大模型开源系列,并且计划为大家提供更多针对单项领域能力的大模型,完善国内大模型开源体系建设,打造更加开放、多元化的AGI生态,共同推动促进大模型技术的发展与应用落地,一起拭目以待。


工程
2
暂无评论
暂无评论~