分类 一、大模型 下的文章
预训练——数据处理
大型语言模型的培训依赖于海量且多样化的数据资源。构建高品质的训练数据集对于这些模型的开发至关重要。尽管对于大规模模型的理论分析和解释仍不甚完善,且对于训练所用语言数据的精确说明和界定尚显不足,但广泛的研究共识认为,训练数据对于提升语言模型的性能和样本的泛化能力起着核心作用。为了增强模型的泛化和适应性,预训练数据应包含多种形式,如互联网内容、书籍、学术论文、百科全书以及社交媒体内容等,并且应尽可能广泛地覆盖不同的领域、语种、文化背景和不同的观点。
一、数据来源
大型语言模型所需的数据资源大致可分为通用数据和专业数据两类。通用数据涵盖了网页内容、图书、新闻报道、对话文本等,以其庞大的规模、多样性和易于获取的特点,为大型语言模型提供了基础的语言建模和泛化能力。而专业数据则包括多语言资料、科学文献、编程代码以及特定领域的专有信息等,这些在预训练阶段的引入,能够显著增强大型语言模型解决特定任务的能力。
1.通用数据
通用数据在大型语言模型训练数据中占比通常非常高,主要包括网页、书籍、对话文本等类型,为大型语言模型提供了大规模且多样的训练数据。
(1)网页数据
(Webpages)是通用数据中数量最大的一类。随着互联网的大规模普及,人们通过网站、论坛、博客、APP等各种类型网站和应用,创造了海量的数据。
维基百科:高质量。
(2)书籍
作为训练材料,语言模型得以接触丰富的词汇资源,这极大地提升了模型对不同领域和主题的理解力。与其他类型的语料相比,书籍通常提供了更加丰富和完整的长篇文本材料,它们是获取长文本书面语数据的主要,有时甚至是唯一来源。书籍中的完整句子和段落结构使得语言模型能够学习并理解上下文之间的联系,这对于模型把握句子的复杂结构、逻辑关系以及语义连贯性至关重要。书籍内容包括了多种文体和风格,如小说、科学论著、历史文献等,训练时使用这些书籍数据能够让模型掌握多样的写作风格和表达技巧,从而增强模型在处理各类文本时的能力。
2.专业数据
专业数据虽在大型通用语言模型的训练数据中所占比重不高,但其对于提升模型在特定下游任务中的表现具有关键性作用。专业数据的类型繁多,而目前大型语言模型训练中常用的专业数据主要包括以下三类:
(1). 多语言数据:
这类数据包含了除英语以外的多种语言资源,它们对于构建能够理解和生成多语言文本的模型至关重要。多语言数据的引入能够帮助模型更好地服务于全球用户,提高其跨语言的交流能力和文化敏感性。
(2). 科学文本:
科学文本包括但不限于学术论文、研究报告、专业期刊等,这些文本通常包含专业术语和复杂概念。通过训练模型理解和处理这类文本,可以显著提高模型在学术研究和专业知识领域的应用能力。
(3). 代码:
代码数据涉及各种编程语言的源代码,这对于开发能够理解和生成代码的模型尤为重要。模型通过学习代码的结构和语法,可以在软件开发、代码审查和自动编程等任务中发挥作用。
二、数据处理
1.书籍
书籍按照格式一般分为:word、pdf(扫描版、非扫描版)、txt、网页。
txt和网页版本相对好处理。word版本也好处理一些,占比最多和最难处理的就是pdf格式,pdf格式书籍又分为扫描版、非扫描版,扫描版需要做ocr识别,准确率会更低,本文不在研究。主要研究非扫描版的pdf格式。
较好的预训练数据要求:
1.知识层次划分
同一个知识点要在一个样本中,不要切分,例如可以按照章节切分
2.段落之间要有换行符\n (有争议)
多个段落拼接要有换行符"\n",
3.同一段落不要切分
pdf识别成txt过程中,容易将一个段落切分成多个,需要识别拼接。
4.模型支持长度
如果模型预处理最长能处理4096个token,那么样本的长度在4096以内。
5.特殊符号处理
将\t 、URL、图片链接、表格、表情符号、流程图等和语义无关的都清洗掉
比较好的样本如下:
{"text": "气管旁淋巴结,再进入颈深下淋巴结。\n第一章喉的应用解剖学及生理学313\n颈深淋\n结上群/1酱它百订日喉前淋巴结\n颈总动脉\n颈内静脉气管前淋巴结\n(1)喉矢状断面内面观(2)喉的淋巴
引流\n八、喉的神经\n喉的神经为喉上神经和喉返神经(图5-1-11、图5-1-12),两者均为迷走神经分支。\n结状神经节喉上神经喉上神经喉上神经喉上神经喉内支喉上神经喉外支迷走神经迷走押经迷走神经迷走神经图5-1-11喉的神经(正面观)图5-1-12喉的神经(背面观)\n喉上神经(superior laryngeal nerve)是迷走神经在结状神经节发出的分支,下行约2cm到达舌骨大角平面处分为内、外两>支。内支主要司感觉,外支主要司运动。内支和喉上动、静脉伴行穿过舌甲膜,分布于声门上区黏膜,司该处黏膜的感觉。外支在胸骨甲状肌肌健附着的深面行走,支配环甲肌的运动。\n喉返神经(recurrent laryngeal nerve)是喉的主要运动神经。迷走神经进入胸腔后在胸腔上部分出喉返神经,左侧喉返神经绕主动脉弓,右侧绕锁骨下动脉,继而上行,走行于甲状腺深面的气管食管沟处发出数个分支支配颈段气管食管>黏膜,主干在环甲关节后方入喉。支配除环甲肌以外的喉内各肌的运动,但亦有一些感觉支司声门下区黏膜的感觉。\n九、小儿喉部的解剖特点\n小儿喉部的解剖与成入有不同之处,其主要特点是:\\朴岔1.小儿
喉部黏膜下组织较疏松,炎症时容易发生肿胀。小儿喉腔尤其是声门区又特别窄小,所以小儿发生急性喉炎时容易发生喉阻塞,引起呼吸困难。2.小儿喉的位置较成入高,3个月的婴儿,其环状软骨弓相当于第4颈椎下缘水平;6岁时降至第5颈椎。3.小儿喉软骨尚未钙化,较成人软,行小儿甲状软骨和环状软骨触诊时,其感觉不如成人的明显。\n第二节喉的生理学\n喉的生理功能主要有四个方面,现分述如下:\n1呼吸功>
能喉是呼吸通道的重要组成部分,喉的声门裂又是呼吸通道最狭窄处,正常情况下中枢神经系统通过喉神经控制声带运动,调节声门裂的大小。当人们运动时声带外展,声门裂变大,以便吸入更多的空气。反之,
安静时声门裂变小,吸入的空气减少。\n2.发声功能喉是发声器官,人发声的主要部位是声带。喉如何发出各种声音的机制较为复杂,目前多数学者认为:发声时中枢神经系统通过喉神经使声带内收,再通过从肺呼出气体使声带发生振动形成基频,经咽、口、鼻腔的共鸣,舌、软腮、齿、颊、唇的构音器官运动,从而发出各种不同声音和言语。\n关于声带如何振动有不同的学说,目前比较公认的是“体-被覆层(body-cover)"黏膜波学说。其主要原理是:声带内收,声门闭合;声韧带和其下肌层构成声带体部(body),起固定声带、保持声带一定张力、维持声门一定阻力的作用。由于声门下气流的压力作用,冲开上皮层和浅固有>层构成的被覆层(cover),引起声门开放,由千伯努利效应(Bernoulli effect)声带靠拢声门又闭合,再开放、再闭合反复进行。被覆层在开放关闭时形成的黏膜波可经动态喉镜观察到。由于声带有规律地关闭产>生一系列振动,造成空气疏密相间的波动,形成声门波,即形成人发音的基频。\n3.保护下呼吸道功能喉对下呼吸道有保护作用。吞咽时,喉被上提,会厌向后下盖住喉入口,形成保护下呼吸道的第一道防线。两
侧室带内收向中线靠拢,形成第二道防线。声带也内收、声门闭合,形成第三道防线。在进食时,这三道防线同时关闭,食管口开放,食物经梨状窝进入食管。偶有食物或分泌物进入喉腔或下呼吸道,则会引起剧烈的反射性咳嗽,将其咳出。\n4.屏气功能当机体在完成某些生理功能时,例如咳嗽、排便、分挽、举重物等时,需增加胸腔和腹腔内的压力,此时声带内收、声门紧闭,这就是通常所说的屏气。屏气多随吸气之
后,此时呼吸暂停,胸腔固定,脯肌下移,胸廓肌肉和腹肌收缩。声门紧闭时间随需要而定,咳嗽时声门紧闭时间短,排便、分挽、举重物等时声门紧闭时间较长。"}
大模型增量预训练效果
chatglm算法原理
一、背景
阐述了时下主流的预训练框架及其区别。主要有三种:
1、autoregressive自回归模型(AR模型):代表作GPT。本质上是一个left-to-right的语言模型。通常用于生成式任务,在长文本生成方面取得了巨大的成功,比如自然语言生成(NLG)领域的任务:摘要、翻译或抽象问答。当扩展到十亿级别参数时,表现出了少样本学习能力。缺点是单向注意力机制,在NLU任务中,无法完全捕捉上下文的依赖关系。
2、autoencoding自编码模型(AE模型):代表作BERT。是通过某个降噪目标(比如MLM)训练的双向文本编码器。编码器会产出适用于NLU任务的上下文表示,但无法直接用于文本生成。
3、encoder-decoder(Seq2seq模型):代表作T5。采用双向注意力机制,通常用于条件生成任务,比如文本摘要、机器翻译等。
三种预训练框架各有利弊,没有一种框架在以下三种领域的表现最佳:自然语言理解(NLU)、无条件生成以及条件生成。T5曾经尝试使用MTL的方式统一上述框架,然而自编码和自回归目标天然存在差异,简单的融合自然无法继承各个框架的优点。
二、GLM预训练框架
GLM有什么特点?又是如何将其他框架的优势巧妙融合的呢?
1、自编码思想:在输入文本中,随机删除连续的tokens。
2、自回归思想:顺序重建连续tokens。在使用自回归方式预测缺失tokens时,模型既可以访问corrupted文本,又可以访问之前已经被预测的spans。
3、span shuffling + 二维位置编码技术。
4、通过改变缺失spans的数量和长度,自回归空格填充目标可以为条件生成以及无条件生成任务预训练语言模型。
2.1 预训练任务1: 自回归空格填充任务(Autoregressive Blank Infilling)
1、输入x可以被分成两部分:
Mask的token方面:
一个句子随机抽连续的几个token出来,用一个Span盖住,再把Span随机打乱(为了充分捕捉不同Span之间的相互依赖关系,我们随机排列跨度的顺序,类似于排列语言模型)
- A是原始序列,B是被Span的序列
- 被mask的部分:
1.单向注意力(只能前面预测后面)
2.不参与预测没有被Mask的部分
- 没有被Mask的部分:
1.双向注意力(前后双向预测) - 有两点很关键:前面的Span会参与后面的Span的预测中,考虑了Span和Span之间的关系
2、二维位置编码:
Transformer使用位置编码来标记tokens中的绝对和相对位置。在GLM中,使用二维位置编码,第一个位置id用来标记Part A中的位置,第二个位置id用来表示跨度内部的相对位置。这两个位置id会通过embedding表被投影为两个向量,最终都会被加入到输入token的embedding表达中。
3、观察GLM中自定义attention mask的设计,非常巧妙:
(1)Part A中的tokens彼此可见,但是不可见B中的任意tokens。
(2)Part B tokens可见Part A。
(3)Part B tokens可见B中过去的tokens,不可见B中未来的tokens。
4、采样方式:文本片段的采样遵循泊松分布,重复采样,直到原始tokens中有15%被mask。
5、总结:模型可以自动学习双向encoder(Part A)以及单向decoder(Part B)。
2.2 多目标预训练
上述方法适合于NLU任务。作者希望可以训练一个既可以解决NLU任务,又具备文本生成能力的模型。因此除了空格填充目标之外,还需要增加一个生成长文本目标的任务。具体包含以下两个目标:
1、文档级别。从文档中采样一个文本片段进行mask,且片段长度为文档长度的50%~100%。这个目标用于长文本生成。
2、句子级别。限制被mask的片段必须是完整句子。多个片段需覆盖原始tokens的15%。这个目标是用于预测完整句子或者段落的seq2seq任务。
2.3 模型结构
GLM在原始single Transformer的基础上进行了一些修改:
1)重组了LN和残差连接的顺序;
2)使用单个线性层对输出token进行预测;
3)激活函数从ReLU换成了GeLUS。
但我觉得这部分的修改比较简单常见。核心和亮点还是空格填充任务的设计。
2.4 GLM微调
对于下游NLU任务来说,通常会将预训练模型产出的序列或tokens表达作为输入,使用线性分类器预测label。所以预训练与微调之间存在天然不一致。
作者按照PET的方式,将下游NLU任务重新表述为空白填充的生成任务。具体来说,比如给定一个已标注样本(x, y),将输入的文本x转换成一个包含mask token的完形填空问题。比如,情感分类任务可以表述为:"{SENTENCE}. It’s really [MASK]"。输出label y也同样会被映射到完形填空的答案中。“positive” 和 “negative” 对应的标签就是“good” 和 “bad。
其实,预训练时,对较长的文本片段进行mask,以确保GLM的文本生成能力。但是在微调的时候,相当于将NLU任务也转换成了生成任务,这样其实是为了适应预训练的目标。但难免有一些牵强。
参考:
https://blog.csdn.net/RandyHan/article/details/132722289
https://blog.csdn.net/weixin_42878111/article/details/134017313
https://zhuanlan.zhihu.com/p/630134021
医疗大模型增量预训练的方法
文档可以参考:
https://juejin.cn/post/7301909180230074420
基于ChatGPT Training Pipeline,融入领域增量知识,进行训练预训练,需要进行四阶段训练:
第一阶段:PT(Continue PreTraining)增量预训练,在海量领域文档数据上二次预训练GPT模型,以注入领域知识
第二阶段:SFT(Supervised Fine-tuning)有监督微调,构造指令微调数据集,在预训练模型基础上做指令精调,以对齐指令意图
第三阶段:RM(Reward Model)奖励模型建模,构造人类偏好排序数据集,训练奖励模型,用来对齐人类偏好,主要是"HHH"原则,具体是"helpful, honest, harmless"
第四阶段:RL(Reinforcement Learning)基于人类反馈的强化学习(RLHF),用奖励模型来训练SFT模型,生成模型使用奖励或惩罚来更新其策略,以便生成更高质量、更符合人类偏好的文本
一、模型介绍
1、 训练数据集
50 万条中文 ChatGPT 指令 Belle 数据集:BelleGroup/train_0.5M_CN:https://huggingface.co/datasets/BelleGroup/train_0.5M_CN
100 万条中文 ChatGPT 指令 Belle 数据集:BelleGroup/train_1M_CN:https://huggingface.co/datasets/BelleGroup/train_1M_CN
5 万条英文 ChatGPT 指令 Alpaca 数据集:50k English Stanford Alpaca dataset:
https://github.com/tatsu-lab/stanford_alpaca#data-release
2 万条中文 ChatGPT 指令 Alpaca 数据集:shibing624/alpaca-zh:
https://huggingface.co/datasets/shibing624/alpaca-zh
69 万条中文指令 Guanaco 数据集 (Belle50 万条 + Guanaco19 万条):Chinese-Vicuna/guanaco_belle_merge_v1.0 :
https://huggingface.co/datasets/Chinese-Vicuna/guanaco_belle_merge_v1.0
240 万条中文医疗数据集 (包括预训练数据和指令微调数据集):shibing624/medical:
https://huggingface.co/datasets/shibing624/medical
2、继续预训练 Continual pretraining
参考 LLaMA 模型的增量预训练方法、资源和时间:
原始数据包含英文和中文,其中英文数据来自 openwebtext、Books、Wikipedia 和 Code,中文数据来自清洗后的悟道数据集、自建的中文数据集。在对原始数据进行去重、模型打分、数据分桶、规则过滤、敏感主题过滤和数据评估后,最终得到 125B tokens 的有效数据。
为了解决 LLaMA 原生分词对中文编解码效率低下的问题,我们在 LLaMA 词表的基础上增加了 7k + 个常见中文字,通过和 LLaMA 原生的词表去重,最终得到一个 39410 大小的词表,并通过复用 Transformers 里 LlamaTokenizer 来实现了这一效果。
在增量训练过程中,我们使用了 160 张 40GB 的 A100,采用 2.6M tokens 的训练集样本数量和 FP 16 的混合精度,吞吐量达到 118 TFLOP per GPU per second。因此我们能够在 8 天的时间里在原生的 LLaMA-13B 模型基础上,增量训练 110B tokens 的数据。
训练期间,虽然遇到了机器宕机、底层框架 bug、loss spike 等各种问题,但我们通过快速调整,保证了增量训练的稳定性。我们也放出训练过程的 loss 曲线,让大家了解可能出现的问题。
Training Pipeline
Training Stage:
Stage | Introduction | Python script | Shell script |
---|---|---|---|
Continue Pretraining | 增量预训练 | pretraining.py | run_pt.sh |
Supervised Fine-tuning | 有监督微调 | supervised_finetuning.py | run_sft.sh |
Direct Preference Optimization | 直接偏好优化 | dpo_training.py | run_dpo.sh |
Reward Modeling | 奖励模型建模 | reward_modeling.py | run_rm.sh |
Reinforcement Learning | 强化学习 | rl_training.py | run_rl.sh |
- 提供完整PT+SFT+DPO全阶段串起来训练的pipeline:run_training_dpo_pipeline.ipynb ,其对应的colab: ,运行完大概需要15分钟,我运行成功后的副本colab:
- 提供完整PT+SFT+RLHF全阶段串起来训练的pipeline:run_training_ppo_pipeline.ipynb
一、基座模型选择指标
(1)模型大小 9分 :
(2)Token size 6分 :模型包含知识的能力
(3)各种官方测评 10分 :以中文测评为主
(4)支持上下文长度 3分:4K基本上都能满足要求
(5)base 7分 :生态支持
(6)测评排名 7分:模型综合能力体现
(7)开发难度 3分:预训练代码是否开源,官方是否有多机多卡示例
(8)可持续更新的前景8分 :是否满足本公司的生态
(9)基座公司实力:4分
(10)github的star数量 5分:模型受欢迎程度
(11)语言 2分 :所选模型都支持中英文
二、生态角度分类
1.LLaMa系列
(1)baichuan
(2)Yi
(3)TigerBot
(4)XuanYuan-70B
(5)Chinese-LLaMA-Alpaca、Chinese-LLaMA-Alpaca-2
2.bloom系列
(1)bloom
(2)Yuan-2.0
(3)BELLE
3.自研修改系列
(1)ChatGLM
(2)Qwen
三、官方测评排名
https://opencompass.org.cn/leaderboard-llm
今年7月,上海AI实验室联合多家机构发布“书生通用大模型体系” ,包含三大基础模型及贯穿数据、预训练、微调、部署和评测五大环节的全链条工具体系。此次正式推出的OpenCompass,从评测角度进一步巩固了大模型创新的技术基石,以纯粹技术及中立视角为产学研界提供客观的大模型能力参考。
加入评测及查看报告,可访问:
官网链接 https://opencompass.org.cn
开源链接 https://github.com/open-compass/opencompass
六大亮点功能,提供专业模型评测
作为高效、全面的大模型评测体系及开放平台,OpenCompass提供完整开源可复现的评测框架,支持大语言模型、多模态模型的一站式评测,基于分布式技术,对大参数量模型亦能实现高效评测。同时,通过零样本评测、小样本评测和思维链评测等多样化评测,OpenCompass可全方位量化模型在各个的维度能力。
底座选择
Model Name | Model Size | Token size | 语言 | 长度 | base | 选择 |
---|---|---|---|---|---|---|
BLOOMZ | 560M/1.1B/1.7B/3B/7.1B/176B | 多种,1% | - | bloom | X | |
LLaMA | 7B/13B/33B/65B | 0.13%, | LLaMa | X | ||
LLaMA-2 | 7B/13B/70B | llama2 | LLaMa | X | ||
Chinese-LLaMA-Alpaca | 7B/13B/33B | 120G | LLaMa | X | ||
Baichuan | 7B/13B | 1.4 万亿 tokens | LLaMa | X | ||
Baichuan2 | 7B/13B | 2.6 万亿 Tokens | LLaMa | X | ||
InternLM2-Chat-20B 书生 | 7B/20B | 3T tokens | 中英 | 20k | ColossalAI | X |
XVERSE | 13B | 3.2 万 | 40多 | X | ||
ChatGLM | 6B | 1.4T | 中英 | - | ChatGLM | X |
ChatGLM2 | 6B | 1.4T | 中英 | - | ChatGLM | X |
ChatGLM3 | 6B | 1.4T | 中英 | - | ChatGLM | X |
Yi | 6B/34B | 3T | 中英 | 20k | LLaMa | √ |
SUSChat-34B | 6B/34B | 3T | 中英 | 20k | LLaMa | √ |
OrionStar-Yi-34B-Chat | 6B/34B | 3T | 中英 | 20k | LLaMa | √ |
DeepSeek | 7B/67B | 2T | 中英 | 4k | LLaMa? | √ |
Yuan-2.0 | 2B/50B/102B | 288B | 中英 | 4k | bloom | √ |
TigerBot | 7B/13B/70B | 300B | 中英 | 4k | LLaMa | √ |
Qwen | 1.8B/7B/ 14B/74B | 3T tokens | 中英 | 32k | Qwen | √ |
XuanYuan-70B | 13B/70B | 60G | 中英 | 8k | bloom->LLaMa | √ |
Yayi2-30B | 30B | 2T | 多语言 | 8k | ? | √ |
首先可以排除几个备选模型:
(1)SUSChat-34B
SUS-Chat-34B模型是南方科技大学联合IDEA研究院CCNL团队开源的通用大模型, 2023-12-05在Huggingface的权威榜单上open_llm_leaderboard取得了同级别模型最好成绩。
SUS-Chat-34B是一个340亿参数规模的双语模型,基于01-ai/Yi-34B预训练模型通过数百万高质量、多语言的指令数据进行了微调。 在保持基础模型强大的语言能力的同时,SUS-Chat-34B模型通过高质量指令微调改善了模型对人类指令的响应方式,并擅长通过思维链的方式模仿人类思考过程。 与Yi-34B和Yi-34B-chat相比,它不仅在几乎所有基准测试中提升了性能,而且能够更好地满足了复杂多语言任务的实际需求。 在指令微调阶段,我们加入了大量高质量长文本和多轮对话指令数据,将文本窗口从基础模型的4K扩展到8K。 这种扩展有助于模型更有效地遵循多轮对话中的指令,显著减少在扩展对话和长文本理解中上下文丢失的问题。
SUS-Chat-34B模型具有以下亮点:
大规模复杂指令跟随数据:使用1.4B token的高质量复杂指令数据进行训练,涵盖中英文、多轮对话、数学、推理等多种指令数据;
强大的通用任务性能:SUS-Chat-34B模型在众多主流的中英文任务上表现出色,其效果超越了相同参数规模的其他开源的指令微调模型。即使与更大参数规模的模型相比,SUS-Chat-34B模型也具有不错的竞争力;
更长的上下文窗口与出色的多轮对话能力:目前,SUS-Chat-34B原生支持8K的上下文窗口,在大量多轮指令以及单多轮混合数据中进行训练,具有出色的长文本对话信息关注与指令跟随能力。
SUS-Chat-34B模型有力地证明了通过正确的指令微调,学术机构可以在不增加模型参数的情况下,通过开源的数据集和模型,获得更好的性能, 这弥合了学术界和工业界的在大语言模型上的差距,为学术界和工业界的合作提供了新的可能性。
(3)OrionStar-Yi-34B-Chat
OrionStar-Yi-34B-Chat 是猎户星空基于零一万物开源的Yi-34B模型,使用 15W+ 的高质量语料训练而来微调大模型,旨在为大模型社区用户提供卓越的交互体验。
Yi系列模型是由零一万物团队开源的大模型,在多个权威的中文、英文及通用领域 benchmark 上取得不错的效果。今天我们推出的Orionstar-Yi-34B-Chat更进一步挖掘了Yi-34B的潜力。通过对大量高质量微调语料库的深度训练,Orionstar-Yi-34B-Chat在评估数据上表现出色,我们致力于将其打造成为ChatGPT领域中的杰出开源替代品!
(4)XuanYuan-70B
第一版用了bloom,第二版用了llama,只是增量预训练的金融领域数据。
最懂金融领域的开源大模型“轩辕”系列,继176B、70B之后推出更小参数版本——XuanYuan-13B。这一版本在保持强大功能的同时,采用了更小的参数配置,专注于提升在不同场景下的应用效果。我们将在之后继续推出XuanYuan-13B量化版本
主要特点:
“以小搏大”的对话能力:在知识理解、创造、分析和对话能力上,可与千亿级别的模型相媲美
金融领域专家:在预训练和微调阶段均融入大量金融数据,大幅提升金融领域专业能力。在金融知识理解、金融业务分析、金融内容创作、金融客服对话几大方面展示出远超一般通用模型的优异表现
人类偏好对齐:通过人类反馈的强化学习(RLHF)训练,在通用领域和金融领域均与人类偏好进行对齐
30B左右模型选择
还剩下两个:(1)Yi (2) yayi-30B
从以下几个指标:基座模型选择指标 看Yi完胜
50B以上模型选择
可选的还剩下:
(1)Yuan-2.0(50B)
(2)DeepSeek(67B)、TigerBot(70B)、Qwen(74B)
DeepSeek(67B)
四个模型的对比
英文:
1. MMLU:多任务语言理解:
“Mean Multi-Language Understanding”,中文意为“多语言理解均值(大规模多任务语言理解)是一种新的基准,旨在通过在zero-shot和few-shot设置中专门评估模型来衡量在预训练期间获得的知识。这使得基准更具挑战性,更类似于我们评估人类的方式。该基准涵盖 STEM、人文科学、社会科学等 57 个科目。它的难度从初级到高级专业水平不等,它考验着世界知识和解决问题的能力。科目范围从传统领域,如数学和历史,到更专业的领域,如法律和道德。主题的粒度和广度使基准测试成为识别模型盲点的理想选择。
MMLU是一个包含 57个多选问答任务的英文评测 数据集【多样性基准】,涵盖了初等数学、美国历史、计算机科学、法律等,难度覆盖高中水平到专家水平的人类知识,是目前主流的LLM评测数据集。
2、GSM8K :小学数学题
8.5千道高质量小学数学题,由人工编写答案。其中7.5K是训练集,1K是测试集。
论文:https://arxiv.org/pdf/2110.14168.pdf
排行榜:https://paperswithcode.com/sota/arithmetic-reasoning-on-gsm8k
一句话点评:GSM8K 由数学题组成,主要考察模型的理解和推理能力。
3、MATH
数据集包含 12,500 个数学问题(其中 7500 个属于训练集,5000 个属于测试集),这些问题收集自 AMC 10、AMC 12、AIME 等数学竞赛。
**4、HumanEval数据集
包括164个人工手写的编程问题,其中每个编程问题包括函数头、docstrings、函数体和几个unittests。HumanEval中的编程问题可以用来评估语言理解能力、推理能力、算法能力和简单的数学能力。
整个设计是标准数答案,设定通过的checkpoint。aigc类的task是不是可以借鉴这样的思路去评测。**
5、MBPP数据集
包含974个编程任务,人给出所需程序的描述,引导模型生成正确的代码。
与HumanEval不一样的是,H主要是通过docString,而MBPP是通过description来生产,更加接近自然语言的instruction。
6、BBH
BBH 是一个挑战性任务 Big-Bench 的子集。Big-Bench 目前包括 204 项任务。任务主题涉及语言学、儿童发展、数学、常识推理、生物学、物理学、社会偏见、软件开发等方面。
中文:
1.CEval:学科知识评测集
范围广泛:人文、社科、理工等52个学科。
数据形式:13948道单选题,涉及52个学科,4类不同难度(初中、高中、大学、专业)。
论文:https://arxiv.org/pdf/2305.08322.pdf
评测代码:https://github.com/hkust-nlp/ceval
排行榜:C-Eval: A Multi-Level Multi-Discipline Chinese Evaluation Suite for Foundation Models
一句话评价:C-Eval整体围绕学科知识,覆盖范围广、难度跨度合适,选择题适合快速评测,但是缺乏对生成表达能力的考察。
2、CMMLU 数据集
构建方式与C-EVAL貌似差不多。除了涵盖人文科学、社会科学、STEM(科学、技术、工程和数学)以及其他在人类日常生活中很重要的四个通用领域的知识外,还涵盖一些特定领域的知识,用于验证模型的中国知识的蕴含能力以及对中文的理解和适应能力。
范围广泛:常识类、人文、社科、理工等共67个主题(详见下图)
难易平衡:小学、中学、大学均有涉及
数据形式:11,528道单选题,其中67个主题每个主题至少105道题
论文:https://arxiv.org/pdf/2306.09212.pdf
评测代码:https://github.com/haonan-li/CMMLU
Huggingface: haonan-li/cmmlu · Datasets at Hugging Face
一句话评价:CMMLU整体围绕学科知识,覆盖范围广、难度跨度合适,选择题适合快速评测,但是缺乏对生成表达能力的考察。
Model | MMLU | C-Eval | GSM8K | MATH | HumanEval | MBPP | BBH | CMMLU |
---|---|---|---|---|---|---|---|---|
5-shot | 5-shot | 8-shot | 4-shot | 0-shot | 3-shot | 3-shot | 5-shot | |
LLaMA2-7B | 46.8 | 32.5 | 16.7 | 3.3 | 12.8 | 20.8 | 38.2 | 31.8 |
LLaMA2-13B | 55.0 | 41.4 | 29.6 | 5.0 | 18.9 | 30.3 | 45.6 | 38.4 |
LLaMA2-34B | 62.6 | - | 42.2 | 6.2 | 22.6 | 33.0 | 44.1 | - |
ChatGLM2-6B | 47.9 | 51.7 | 32.4 | 6.5 | - | - | 33.7 | - |
InternLM-7B | 51.0 | 53.4 | 31.2 | 6.3 | 10.4 | 14.0 | 37.0 | 51.8 |
InternLM-20B | 62.1 | 58.8 | 52.6 | 7.9 | 25.6 | 35.6 | 52.5 | 59.0 |
Baichuan2-7B | 54.7 | 56.3 | 24.6 | 5.6 | 18.3 | 24.2 | 41.6 | 57.1 |
Baichuan2-13B | 59.5 | 59.0 | 52.8 | 10.1 | 17.1 | 30.2 | 49.0 | 62.0 |
Yi-34B | 76.3 | 81.8 | 67.9 | 15.9 | 26.2 | 38.2 | 66.4 | 82.6 |
XVERSE-65B | 70.8 | 68.6 | 60.3 | - | 26.3 | - | - | - |
Qwen-1.8B | 45.3 | 56.1 | 32.3 | 2.3 | 15.2 | 14.2 | 22.3 | 52.1 |
Qwen-7B | 58.2 | 63.5 | 51.7 | 11.6 | 29.9 | 31.6 | 45.0 | 62.2 |
Qwen-14B | 66.3 | 72.1 | 61.3 | 24.8 | 32.3 | 40.8 | 53.4 | 71.0 |
Qwen-72B | 77.4 | 83.3 | 78.9 | 35.2 | 35.4 | 52.2 | 67.7 | 83.6 |
DeepSeek LLM 67B Chat | 71.1 | 65.2 | 84.1 | - | 73.8 | - | 71.7 | 67.8 |
TigerBot | 68.03 | 67.75 | 84.91 | - | - | - | - | - |
Yuan-2.0(102B) | - | - | 76.6 | - | 67.1 | - | - | - |
测评结果:
1.Yuan-2.0(102B) 论文和官网都是用102B进行测评,比不过DeepSeek(67B)、TigerBot(70B)、Qwen(74B),先排除
2.DeepSeek(67B)、TigerBot(70B)、Qwen(74B)三个排名,
Qwen(74B)排名第一
剩下:DeepSeek(67B)、TigerBot(70B)
DeepSeek:基座模型选择指标
(1)模型大小 5分 :
(2)Token size 8分 :模型包含知识的能力
(3)官方排序 4分 :以中文测评为主
(4)支持上下文长度 3分:4K基本上都能满足要求
(5)base 1分 :生态支持 (llama? issue:22个)
(6)测评排名 4分:模型综合能力体现
(7)开发难度 2分:预训练代码是否开源,官方是否有多机多卡示例
(8)可持续更新的前景3分 :是否满足本公司的生态
(9)基座公司实力:5分 (幻方量化)
(10)github的star数量 3分:(909)模型受欢迎程度
(11)语言 2分 :所选模型都支持中英文
总分:40分
TigerBot:基座模型选择指标
(1)模型大小 5分 :
(2)Token size 4分 :模型包含知识的能力
(3)官方排序 8分 :以中文测评为主
(4)支持上下文长度 3分:4K基本上都能满足要求
(5)base 5分 :生态支持 (llama ; issue:116个)
(6)测评排名 6分:模型综合能力体现
(7)开发难度 3分:预训练代码是否开源,官方是否有多机多卡示例
(8)可持续更新的前景5分 :是否满足本公司的生态
(9)基座公司实力:2分 (虎博科技几十人)
(10)github的star数量 5分:(2.1k)模型受欢迎程度
(11)语言 2分 :所选模型都支持中英文
总分:48分
Llama2
虽然Llama2的预训练数据相对于第一代LLaMA扩大了一倍,但是中文预训练数据的比例依然非常少,仅占0.13%,