前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一种持续预训练大语言模型简单且可扩展的方法

一种持续预训练大语言模型简单且可扩展的方法

作者头像
GPUS Lady
发布2024-03-25 14:11:01
1070
发布2024-03-25 14:11:01
举报
文章被收录于专栏:GPUS开发者GPUS开发者

在大型语言模型(LLMs)领域,我们常常听到微调LLMs以遵循指令的话题。但是如何为LLMs提供新知识或领域特定数据呢?通常,LLMs会在数十亿标记上进行常规预训练,一旦有新数据可用,就会重新开始这个过程。然而,新数据引起的分布转移通常会导致在先前数据上性能下降或对新数据适应性差。最新的《Simple and Scalable Strategies to Continually Pre-train Large Language Models》论文提供了一些宝贵的见解,指导如何在新数据上持续预训练LLMs,提出了一种更高效的解决方案是持续对这些模型进行预训练,这比重新训练节省了大量计算资源。

研究人员比较了三种不同训练方式的模型:

  1. 常规预训练:用随机权重初始化模型,并在数据集D1上进行预训练
  2. 继续预训练:采用1)中预训练的模型,并在数据集D2上继续预训练
  3. 在合并数据集上重新训练:像1)中一样使用随机权重初始化模型,但在数据集D1和D2的合并上进行训练

需要注意的是,通常在实践中常见的做法是在合并数据集上重新训练模型,因为这通常有助于找到良好的学习率调度,并且有助于防止灾难性遗忘。

然而,在这篇论文中,研究人员发现可以通过更高效的继续预训练(而不是在合并数据集上重新训练)来达到相同的良好验证损失和下游任务性能。

成功应用继续预训练的“技巧”是什么?

  1. 重新热身和重新衰减学习率(基本上,重新应用典型的学习率调度)
  2. 将原始预训练数据(D1)的一小部分(例如5%)添加到新数据集(D2)中,以防止灾难性遗忘。

这基本上就是这篇相对冗长的24页论文的要点了。

此外,还有一些有趣的额外实验表明,重新热身+重新衰减的表现与使用所谓的“无限学习率调度”进行预训练的表现相似,因此在常规预训练阶段没有真正需要做任何特别的事情。

论文地址:https://arxiv.org/abs/2403.08763

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档