前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大语言模型未来会是数据工程吗

大语言模型未来会是数据工程吗

作者头像
NewBeeNLP
发布2023-09-15 08:05:48
3900
发布2023-09-15 08:05:48
举报
文章被收录于专栏:NewBeeNLPNewBeeNLP

大家好,这里是 NewBeeNLP。分享符尧博士关于大语言模型的数据工程方面的一些见解。

take-home message: 高质量数据才是大语言模型取胜的关键,其中数据构造的格式、不同类型数据的占比,数据喂给模型的顺序对模型学习的速度都有所影响。

随着大家逐渐认识到高质量数据的关键作用,研究机构和开源社区对于大语言模型的研究重心逐步转向了 数据工程 。那么,什么是高质量数据?又该如何优化呢?

比如

  • 对于预训练数据的优化,我们该如何构造合适的数据格式,不同类型的数据占比以及数据喂给模型学习的顺序,从而最大化学习速度
  • 对于有监督微调/指令微调,我们是不是可以找到尽可能少的query-response对组合,使其对用户偏好分布的覆盖率最大化
  • 在数据、模型规模、算法确定的情况下,是否能在训练前就预测出最终的模型性能

虽然通常使用下一个词的预测损失来评估预训练的效果,但是我们更希望去优化这个损失的下降速度(比如使得学习曲线更陡峭)。为了评估模型的学习速度,可以考虑用“grokking”来作为评价指标。

Grokking means at a certain step of training, the model suddenly learns a skill and transits from memorization to generalization

比如下图我们可以看到,在不同的超参数条件下,模型泛化的速度是不同的。

理想情况下我们希望最大化模型实现泛化的速度。由于模型在不同任务上实现泛化需要的学习时间是不一样的,因此要加速grokking意味着我们希望模型在不同任务上都要学得快一些(move the dots leftwards)

为了更好的观察模型学习的动态过程,记得多保存训练过程的中间模型。

相同数据采用不同的数据格式对于学习的速度也是有影响的

不同类型数据喂给模型学习的顺序不同对于学习的速度也是有影响的

训练数据中不同来源数据的配比对于学习的速度也是有影响的

不过这些在数据工程上发现的trick在不同规模的模型之间可能没法迁移,数据工程在模型和数据scaling到一定程度可能也就失效了

在训练过程中,模型会从微观到宏观逐渐学习不同的技能,从不可解释到可解释再到展现出统计特性。不同技能的学习速度是不一样的,但整体来看会是一条光滑的对数线性损失曲线。

从单一技能的评估或者训练loss来评价模型的学习都不是太理想,要是存在一个更理想的指标能够反应模型的capability就好了

模型能够学习并展现出泛化能力的原因是它可能已经学习了数据的生成过程。Kolmogorov复杂性是指生成数据的最小算法描述长度。从无损压缩的角度看,语言模型被视为(不可计算的)Kolmogorov压缩器的近似。语言模型的权重 不是直接编码数据,而是编码了生成数据的过程。

本文参考资料

[1]

原文链接: https://yaofu.notion.site/An-Initial-Exploration-of-Theoretical-Support-for-Language-Model-Data-Engineering-Part-1-Pretraini-dc480d9bf7ff4659afd8c9fb738086eb

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-12 11:05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NewBeeNLP 微信公众号,前往查看

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

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

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