乐趣区

关于机器学习:达观数据陈运文探索大语言模型对症下药很关键

内容起源:ChatGPT 及大模型专题研讨会 
分享嘉宾:达观数据董事长兼 CEO 陈运文博士
分享主题:《摸索大语言模型垂直化训练技术和利用》
转载自 CSDN 稿件本文

整顿自 3 月 11 日《ChatGPT 及大规模专题研讨会》上,达观数据董事长兼 CEO 陈运文博士对于《摸索大语言模型垂直化训练技术和利用》的分享,将介绍达观数据在大语言模型利用中的摸索与思考。

此次分享的次要内容分为 6 块,别离是:

  1. 参数规模和数据规模的摸索
  2. 垂直畛域适应预训练
  3. 微调技术摸索
  4. 提醒工程和垂直优化
  5. 模型训练减速思路
  6. 模型性能的垂直效力加强

在摸索大语言模型利用过程中,将团队的思考列为了四点:

  • 整体来看,只管模型的参数规模越大越好,但可摸索性价比更高的参数规模计划
  • 训练数据只管越多越好,但针对垂直场景可摸索更高效和有针对性的数据提炼办法
  • 为强化垂直方向的成果,可在模型预训练和微调技术上摸索一些好的思路
  • 为更贴合垂直场景的产品利用,摸索模型的性能加强、以及 prompt 等方向的产品翻新 

    陈运文,达观数据董事长兼 CEO,复旦大学博士,计算机技术专家,国内计算机学会(ACM)和电子电器工程师学会(IEEE)会员 

参数规模和数据规模的摸索

一、缩放法令(Scaling Laws)

家喻户晓,大模型的算力十分惊人。在 2020 年,从 OpenAI 在语言模型方面的钻研能够看到,语言模型的成果与参数量、数据量、计算量根本呈平滑的幂定律——缩放法令(Scaling Laws)。随着模型的参数量(Parameters)、参加训练的数据量(Tokens)以及训练过程累积的计算量(FLOPS)的指数性增大,模型在测试集上的 Loss 就线性升高,也就意味着模型的成果越好。

Kaplan J, McCandlish S, Henighan T, et al. Scaling laws for neural language models[J]. arXiv preprint arXiv:2001.08361, 2020.

如下图所示,在运算量的减少过程中,参数规模的减少能够起到更要害的作用。在给定的计算量且参数规模较小时,增大模型参数量对于模型成果的奉献,远优于减少数据量和训练步数。这也作为后续推出的 GPT-3(175B) 和其余千亿级别模型奠定了实践根底。

Kaplan J, McCandlish S, Henighan T, et al. Scaling laws for neural language models[J]. arXiv preprint arXiv:2001.08361, 2020.

二、Compute-Optimal 

在 2022 年,DeepMind 在 ScalingLaw 里又做了进一步剖析。钻研通过定量的试验验证,语言模型训练数据大小,应该和模型参数量大小等比放大。能够看到,在计算总量不变的状况下,模型训练的成果在参数量和训练数据量当中有个最优平衡点,曲线上面的最低点是在参数规模和训练数据量当中有个十分好的折中点。

Hoffmann J, Borgeaud S, Mensch A, et al. Training compute-optimal large language models[J]. arXiv preprint arXiv:2203.15556, 2022.

进一步钻研表明,像 GPT-3(175B) 这么大规模的参数里,用这三种计算形式进行拟合的话,会发现 GPT-3 并没有充沛失去训练。因而,咱们须要思考真正落地利用在垂直畛域时,千亿级别参数规模的宏大模型所耗费的微小老本,以防止参数的节约。

Hoffmann J, Borgeaud S, Mensch A, et al. Training compute-optimal large language models[J]. arXiv preprint arXiv:2203.15556, 2022.

三、Open and Efficient 

Touvron H, Lavril T, Izacard G, et al. LLaMA: Open and Efficient Foundation Language Models[J]. arXiv preprint arXiv:2302.13971, 2023.Meta

受到 DeepMind 实践的启发,在 2023 年推出了百亿模型 LLaMA,通过 1.4 万亿 Token(近 4.7 倍于 GPT-3)的训练数据,在很多上游试验工作当中成果显著好于 GPT3 千亿规模的参数。因而,即使你的参数规模可能没那么大,减少训练 Token 量仍然可能看到成果。

Touvron H, Lavril T, Izacard G, et al. LLaMA: Open and Efficient Foundation Language Models[J]. arXiv preprint arXiv:2302.13971, 2023.

在训练过程中,无论是 65B、33B、17B,甚至 7B 的小模型,在训练数据靠近超过万亿 Token 之后,上游工作的成果仍在晋升,也就是说这些参数的后劲能够通过更多 Token 训练进一步激发进去。故此可揣测,百亿模型的后劲仍有待深刻开掘,尤其在算力资源受限的状况下,存在性价比更高的优化空间。

四、数据规模存在瓶颈:凋谢数据行将耗尽    

Villalobos P, Sevilla J, Heim L, et al. Will we run out of data? An analysis of the limits of scaling datasets in Machine Learning[J]. arXiv preprint arXiv:2211.04325, 2022.

在咱们做更大参数规模的模型训练时,数据曾经逐渐开始显现出力不从心的中央。上图是联合历史数据增长率和数据使用率做出的揣测,有钻研预计互联网上可用的数据资源很有可能会被耗尽。

  • 高质量的语言数据依照目前的倒退速度,预计 2026 年可能就要耗尽;
  • 低质量的语言数据(如日常聊天等)到 2025 年就耗尽;
  • 多模态的数据(比方视觉图像)到 2060 年要耗尽;

五、通用大模型的预训练数据集钻研   

大规模语言模型的预训练数据规模一直减少,但即便应用的是凋谢数据,也少有团队公开所应用的数据集和其蕴含的详细信息。通过 Pile 数据集提供的为数不多的“Datasheet for Datasets”信息能够看到,Wiki 百科、书籍、学术期刊等高质量语料数据起到关键性作用。

大模型预训练数据可视化
Alan D. Thompson. What’s in my AI? A Comprehensive Analysis of Datasets used to Train GPT-1, GPT-2, GPT-3, GPT-NeoX-20B, Megatron-11B, MT-NLG, and Gopher. https://lifearchitect.ai/whats-in-my-ai. 2022

六、通用预训练之对数据多样性的剖析 
 

The Pile v1 数据集的形成(800GB)
Gao L, Biderman S, Black S, et al. The pile: An 800gb dataset of diverse text for language modeling[J]. arXiv preprint arXiv:2101.00027, 2020.

在通用预训练过程中,不同类型的文本代表不同的能力。如绿色的文本是训练通用的常识。像学术文本(蓝色),包含一些出版物(橙色)等等,一部分是训练业余畛域的常识,另一部分是训练一些带有情感的讲故事和创造性文艺创作的能力。对话文本(黄色)尽管规模不大,然而它对晋升对话能力十分有帮忙。除此之外,还有训练 COT 能力的代码、数学题等,这些数据规模参差不齐,但多样性的数据对晋升语言大模型的综合性能起到十分重要的作用。

七、多语种和能力迁徙  

Blevins T, Zettlemoyer L. Language Contamination Helps Explains the Cross-lingual Capabilities of English Pretrained Models[C]//Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. 2022: 3563-3574.

明天咱们看到多语种数据训练和能力迁徙十分有异议。钻研表明,大规模单语种(英语)预训练中,即便混入的有余 0.1% 其余语种,也会让模型领有显著的跨语种能力。语言之间存在某种共性,且底层的常识和认知能力是跨语言的,因而混合训练能够起到肯定的加强作用。

单语种中其余语种 token 数量与占比 
Blevins T, Zettlemoyer L. Language Contamination Helps Explains the Cross-lingual Capabilities of English Pretrained Models[C]//Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. 2022: 3563-3574.

单语种下其余语种词性标注工作性能
Blevins T, Zettlemoyer L. Language Contamination Helps Explains the Cross-lingual Capabilities of English Pretrained Models[C]//Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing. 2022: 3563-3574.

语种越靠近,能力迁徙作用越显著。如上图,汉语尽管语料占比非常低,然而成果不错。因而,在训练语料和语料汇合形成中,不同语言的语料相互影响。

八、抉择最合适的训练数据 

Madaan A, Zhou S, Alon U, et al. Language models of code are few-shot commonsense learners[J]. arXiv preprint arXiv:2210.07128, 2022.

在简单工作如事件和图推理上的试验表明,代码训练显著加强大模型的常识推理能力,且仅应用无限的代码训练量就 能获得比 fine-turned T5 模型显著得多的成果晋升。

Madaan A, Zhou S, Alon U, et al. Language models of code are few-shot commonsense learners[J]. arXiv preprint arXiv:2210.07128, 2022.

正确的训练数据对晋升某些能力有重要成果,“隔靴搔痒”很要害,将来在垂直畛域工作中可能存在优化空间。

九、摸索预训练的数据过滤和提纯办法   

当初罕用的模型数据提纯办法有两类,一类是上图这个,它用到传统的文本分类技术,将高质量的文本作为侧面的样本汇合,一部分如大量带有互联网上的垃圾广告或者低质量评论等数据做负面样本。标注当前送到分类器里分类,再把高质量的文本提取进去。这是一种惯例办法,但重大依赖文本分类、数据标注等,费时费力。

Xie S M, Santurkar S, Ma T, et al. Data Selection for Language Models via Importance Resampling[J]. arXiv preprint arXiv:2302.03169, 2023.

另一类是基于重要性采样的数据提纯办法。咱们在指标样本集里人为的挑出一些咱们认可的高质量的数据,对这个高质量的数据做一个 KL reduction,并且做相应散布计算。得出的指标样本的汇合越靠近,重要性越高,这种形式绝对更容易提纯出优质语料用来做模型训练。

垂直畛域适应预训练

摸索垂直畛域大模型预训练的三种思路:先用大规模通用语料预训练,再用小规模畛域语料二次训练间接进行大规模畛域语料预训练通用语料比例混合畛域语料同时训练 一、摸索路线一:自适应预训练  先大规模通用语料预训练,再用小规模畛域语料预训练。

Gururangan S, Marasović A, Swayamdipta S, et al. Don’t stop pretraining: Adapt language models to domains and tasks[J]. arXiv preprint arXiv:2004.10964, 2020.

这里有两种不同的解决办法,一种是畛域自适应的预训练,叫“DAPT”,DAPT 后在畛域工作上相比通用模型成果晋升,然而 DAPT 后的畛域模型在其它畛域上成果比通用模型成果差。

Gururangan S, Marasović A, Swayamdipta S, et al. Don’t stop pretraining: Adapt language models to domains and tasks[J]. arXiv preprint arXiv:2004.10964, 2020.

另外一种叫工作自适应预训练,它是在工作的数据集进行训练,叫“TAPT”。TAPT 相比通用模型也更好,DAPT +TAPT 成果最佳。二、预微调预微调(Pre-Finetuning)技术也是路线一当中能够尝试的一个办法。在预微调的过程中不同工作的 loss 进行缩放后再累加,而且对预微调工作不进行数据采样,维持它的天然散布成果最佳。

Aghajanyan A, Gupta A, Shrivastava A, et al. Muppet: Massive multi-task representations with pre-finetuning[J]. arXiv preprint arXiv:2101.11038, 2021.

如图,多任务的数据集对它进行 Pre-Finetuning,不同的工作汇合越多,最终失去的预微调的模型成果就越好。

Aghajanyan A, Gupta A, Shrivastava A, et al. Muppet: Massive multi-task representations with pre-finetuning[J]. arXiv preprint arXiv:2101.11038, 2021.

预微调模型的成果比原始模型的成果在下面几个经典的大语言模型上都获得了不错的成果。

三、能力比照

“Codex comments tend to reproduce similar biases to GPT-3, albeit with less diversity in the outputs.”“when the model is used to produce comments in an out-of-distribution fashion, it tends to act like  GPT-3.”—— OpenAI《Evaluating large language models trained on code》Chen M, Tworek J, Jun H, et al. Evaluating large language models trained on code[J]. arXiv preprint arXiv:2107.03374, 2021.

OpenAI 有一篇论文里提到小规模语料预训练后对通用文本的生成能力并没有负面影响。当波及与 Code 畛域无关的文本生成时,Codex 的生成和 GPT-3 的生成差别不大,体现在两者有很多共现的词,区别是 GPT-3 表述更多样性。由此猜测小规模畛域语料预训练后的大模型在本身畛域内相比通用大模型加强,而在通用生成上体现与通用大模型相当。这是咱们值得将来摸索的。

四、摸索路线二:成果剖析 间接进行大规模畛域语料预训练工作。

BioMedLM: a Domain-Specific Large Language Model for Biomedical Text(https://www.mosaicml.com/blog/introducing-pubmed-gpt)一个医学畛域的代表模型 PubMedGPT 2.7 B。

一个是金融畛域 BBT-FinT5 模型。它们的参数规模都不大,然而这些用垂直畛域的数据做的专用训练,它的成果比参数规模更小一点的小模型来说有非常明显的晋升。另外,和雷同规模通用大规模的 Finetune 相比,垂直畛域大模型的成果依然是当先的。因而,路线二是一个性价比十分高的计划,它用到的参数规模并不大,但在垂直畛域的成果不错。同时,垂直畛域大模型所用资源会比通用大模型少很多,并且和超大规模模型在垂直畛域的成果是靠近的,这种形式也给咱们开启了一些尝试的空间。

五、常识加强常识加强是业余畛域的常识加强,能够较好的摸索路线二时晋升它的业余模型训练成果。

Lu D, Liang J, Xu Y, et al. BBT-Fin: Comprehensive Construction of Chinese Financial Domain Pre-trained Language Model, Corpus and Benchmark[J]. arXiv preprint arXiv:2302.09432, 2023.

在这个常识三元组(head、relation、tail)里,把一部分内容做了一个掩码,进行预训练。

Lu D, Liang J, Xu Y, et al. BBT-Fin: Comprehensive Construction of Chinese Financial Domain Pre-trained Language Model, Corpus and Benchmark[J]. arXiv preprint arXiv:2302.09432, 2023.

利用了常识加强技术的畛域大模型在畛域工作上的成果,好于畛域小模型和通用大模型。所以这可能是一条值得去摸索的两头路线,是一种垂直畛域比大模型要略小一点,但比小模型要大的两头态的模型。

六、摸索路线三:语料按比例混合,同时预训练    

通用语料比例混合畛域语料同时预训练。这方面目前没有钻研报告,然而咱们做了些猜想:

  • 数据规模:通用语料 + 畛域语料 > 千亿 tokens
  • 数据比例:畛域语料占总语料比例应显著高于通用语料中该畛域的天然比例,且畛域语料占总语料比例应显著高于通用语料中各畛域天然比例的最大值(显著高于的含意:可能是至多高 1 个数量级)
  • 模型规模:> 10B
  • 保障训练 batch 中数据异质性,使得 loss 降落在训练过程中更安稳
  • 常识加强技术
  • 微调畛域增

微调技术摸索

一、增量微调

咱们对微调技术做了一些摸索,指标是为了升高大模型的微调老本,同时可能更高效地把一些业余畛域的常识引入进来。

与微调进行的试验比照
Ding N, Qin Y, Yang G, et al. Delta tuning: A comprehensive study of parameter efficient methods for pre-trained language models[J]. arXiv preprint arXiv:2203.06904, 2022.

结果显示,delta tunig 和 fine tuning 之间的差距并非不可逾越,这证实了参数无效自适应的大规模利用的后劲。上图列了不同研究者提出的增量微调的技术,比方有的是在 PLM 层之间退出一层适配器模块,还有通过更新事后插入的参数来调整 PLM 等等。这些都是在部分来做模型参数的调整,可能把这些理论知识加进去,同时又不影响整个模型大规模利用的后劲。二、多任务提醒 / 指令微调 Muennighoff N, Wang T, Sutawika L, et al. Crosslingual generalization through multitask finetuning[J]. arXiv preprint arXiv:2211.01786, 2022.

指令微调的指标是晋升语言模型在多任务中的零样本推理能力。微调后的语言模型具备很强的零工作概括能力。

Muennighoff N, Wang T, Sutawika L, et al. Crosslingual generalization through multitask finetuning[J]. arXiv preprint arXiv:2211.01786, 2022.

上图是其中一个钻研后果,像 BLOOMZ、Flan-T5、mT0 这些模型下面,通过应用多任务的提醒微调或者指令微调技术,成果有不错的晋升。

三、COT(Chain-of-Thought)微调   

Magister L C, Mallinson J, Adamek J, et al. Teaching small language models to reason[J]. arXiv preprint arXiv:2212.08410, 2022. Ho N, Schmid L, Yun S Y. Large Language Models Are Reasoning Teachers[J]. arXiv preprint arXiv:2212.10071, 2022. Fu Y, Peng H, Ou L, et al. Specializing Smaller Language Models towards Multi-Step Reasoning[J]. arXiv preprint arXiv:2301.12726, 2023.

COT 的微调也是一个很不错的技术,将文本 (questions + prompt) 输出给大模型,用大模型输入含有思维链且正确的文本作为 label。再用上述数据组成的数据对(Reasoning samples),间接对小模型进行微调。使小语言模型取得思维链能力。提醒 Prompt 垂直优化

一、提醒工程(Prompt Engineering)

在大模型畛域里,Prompt 是一个新的钻研畛域,Prompt 是否用好,对将来在垂直畛域是否做出优良的产品起到重要的作用。在这方面咱们也做了一些思考,认为垂直畛域的提醒工程(Prompt Engineering)将来在垂直畛域落地产品时会有很多翻新点。在垂直畛域翻新工程方面,咱们的大思路是让模型实现垂直畛域指定工作后,在 prompt 当中提出明确的要求,这样可能把垂直畛域的业余工作变成模型冀望的输入。

这一过程当中,产品化很重要。明天所谓的指令提醒工程,很多时候还是大段的文字,只不过不同的形式去形容而已。因而,将来在简单的垂直畛域工作可能须要极为丰盛的 prompt 信息,包含各类事实、数据、要求等,并存在层层递进的多步骤工作,因而值得摸索产品化计划来生成 prompt。

二、提醒工程的两种思路 

当初咱们尝试两种思路,一种是产品化思路。产品化的是请垂直畛域的专家,针对每项垂直工作,来设计用于生成 prompt 的产品,由专家编写大量不同的 prompt,评估或输入好的 prompt 后,进行片段切分,造成相应的产品,这对将来 AIGC 工作会起到很好的作用。另一种是自动化的思路,通过借过内部工具,或通过自动化的流程办法和训练形式,对 Prompt 进行主动优化。

Automatic Prompt Engineer (APE) Zhou Y, Muresanu A I, Han Z, et al. Large language models are human-level prompt engineers[J]. arXiv preprint arXiv:2211.01910, 2022.

Directional Stimulus Prompting(DSP)Li Z, Peng B, He P, et al. Guiding Large Language Models via Directional Stimulus Prompting[J]. arXiv preprint arXiv:2302.11520, 2023.

这里有两种不同的技术路线,一种叫 APE 的技术,一种叫 DSP 的技术,它们根本思维都是让大语言模型退出到 Prompt 过程当中。另外,咱们能够训练一个小的 LLM,它可能对 Prompt 进行无效提醒,将来都能够在很多垂直畛域里失去翻新和利用。

模型训练减速思路

整体来说,在咱们工业界的模型减速大抵有两块思路,一是分布式并行,二是显存优化工作。

一、分布式并行的工作 

有 4 种常见技术:
1、数据并行(Data Parallelism):在不同的 CPU 上寄存神经网络的正本,用更大的 batch size 来训练模型,来进步并行能力。
2、模型并行(Tensor Parallelism):解决模型在一个 GPU 上放不下的问题。
3、流水线并行(Pipeline Parallelism):多个 GPU 之间高效利用它的资源。
4、混合并行(Hybrid Parallelism):这些并行工作可能更好地充分利用 GPU 的并行运算能力,来晋升模型迭代减速的速度。

二、显存优化

当然也有不错显存优化计划,像混合精度训练、升高深度学习训练两头激活带来的显存占用、可能升高模型加载到显存当中的资源占用,以及咱们通过去除冗余的参数,引入 CPU 和内存等等形式,可能解决显存容量不够导致的模型运算慢或者大模型跑不动的问题。

模型性能的垂直效力加强

大语言模型存在很多缺点,如存在事实性谬误以及要害数据谬误、垂直畛域可能存在简单的推理工作等。基于此,咱们也在尝试一些不同的思路来做,比方在推理能力方面,咱们也在尝试把简单工作合成为多个简略工作,并且引入其余模型解决;在工具方面,有一些 ALM 的输入中蕴含特定的 token,激活去调用规定;在行为方面,应用一些工具对虚构和事实世界进行影响。

一、利用 CoT 加强模型简单推理能力   

咱们对原有的模型通过 CoT 做个加强训练,能无效晋升它的 Few-Shot 或者 Zero-Shot 的能力。

通过 CoT 能够显著加强模型在 GSM8K 数据集上的准确率 Mialon G, Dessì R, Lomeli M, et al. Augmented Language Models: a Survey[J]. arXiv preprint arXiv:2302.07842, 2023.

二、应用其余模型

在商业畛域长文档生成的需要很多,长文档生成工作能够引入其余模型和技术,叠加在以后的大语言模型上,来晋升它的长文本的生成效力。

Yang K, Peng N, Tian Y, et al. Re3: Generating longer stories with recursive reprompting and revision[J]. arXiv preprint arXiv:2210.06774, 2022.

由上往下,当计算机做一个长文档的布局合作生成的内容,咱们让相应的其余模型做一个生成后,引入分类模型,判断生成段落的上下文和相关性,把其余的模型的后果串连在以后的模型当中,可能进行迭代和程序的循环调用,这样就可能冲破现有以后大语言模型在特地长的文本当中生成的短板,可能晋升它的写作效力。

三、应用垂直知识库

Izacard G, Lewis P, Lomeli M, et al. Few-shot learning with retrieval augmented language models[J]. arXiv preprint arXiv:2208.03299, 2022.

上图是应用内部语料库相应的一些算法钻研出的成绩。能够看到,小模型如果用内部语料库、专用语料库的模式,在有些工作上能够和大模型相媲美。而且利用场景宽泛,理论落地中也摸索了语言模型和常识图谱的交互。

四、应用搜索引擎

Thoppilan R, De Freitas D, Hall J, et al. Lamda: Language models for dialog applications[J]. arXiv preprint arXiv:2201.08239, 2022.

搜索引擎在传统意义上常识重大受限于语料库的实现,所以如果咱们应用特定 token 激活或提醒的形式生成查询语言,去申请搜索引擎的后果,并交融到以后模型的训练和输入当中,是能够很好的来补救语料库更新不及时导致的很多信息滞后等问题。尤其是基于搜索引擎提供事实性的文档,应用内部搜索引擎来补充相干的语料资源,能够加强答复问题的可解释性,和用户的习惯对齐。

五、内容转换

Gao L, Madaan A, Zhou S, et al. PAL: Program-aided Language Models[J]. arXiv preprint arXiv:2211.10435, 2022.

咱们发现,在波及数学畛域的运算,明天的语言模型因为没有本质了解数学运算背地的含意,所以往往这个后果会做错。因而,咱们能够利用 CoT 将简单问题合成为若干个简略问题并生成可执行代码,而后利用代码解释器取得最终后果以辅助语言模型解决简单推理问题。

总结

   
达观数据在垂直畛域的语言模型方面的摸索心愿可能让大家对 LLM 的研发和落地有所启发。目前达观在研发“曹植模型”,将来心愿可能为每个行业赋能。尽管大语言模型算力十分宏大,但模型当中仍有很多难题须要咱们克服,咱们置信“只有咱们找到了路,就不怕路有多长”。

作者简介

陈运文,达观数据董事长兼 CEO,复旦大学计算机博士,计算机技术专家,2021 年中国青年守业奖,中国五四青年奖章,上海市十大青年科技卓越贡献奖获得者;国内计算机学会(ACM)、电子电器工程师学会(IEEE)、中国计算机学会(CCF)、中国人工智能学会(CAAI)高级会员;上海市首批人工智能正高级职称获得者。在人工智能畛域领有近百项国家技术发明专利,是复旦大学、上海财经大学、上海外国语学院聘任的校外研究生导师,在 IEEE Transactions、SIGKDD 等国内顶级学术期刊和会议上发表数十篇高水平科研成果论文;曾负责隆重文学首席数据官、腾讯文学高级总监、百度核心技术研发工程师。

退出移动版