专栏名称: 机器学习算法与自然语言处理
一个有情怀的公众号。机器学习、自然语言处理、算法等知识集中营、期待与你相遇~
目录
相关文章推荐
国家知识产权局  ·  黑龙江、上海、江西、陕西、宁夏知识产权新闻动态一览 ·  14 小时前  
IPRdaily  ·  2024年IPR ... ·  昨天  
企业专利观察  ·  汤森路透的胜利,是否为“AI版权化”开了绿灯 ·  21 小时前  
企业专利观察  ·  汤森路透的胜利,是否为“AI版权化”开了绿灯 ·  21 小时前  
51好读  ›  专栏  ›  机器学习算法与自然语言处理

LLM实践系列-拯救Continue Pretrain的数据

机器学习算法与自然语言处理  · 公众号  ·  · 2024-10-21 00:00

正文


MLNLP 社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景 是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
转载自 | 真中合欢@知乎

打分清洗的文章难产,写起来没有思路,就换换脑子写写旁门左道,探讨一下common数据质量不理想的情况下,如何做一个还可以的Continue Pretrain。

背景

首先介绍下什么是Continue Pretrain(CP)。CP 和 Pretrain、SFT一样指的是 LLM 训练的一个阶段,在前大模型时代还被称作Post Pretrain。CP 是在Pretrain和SFT之间的训练阶段,目的是为模型注入领域知识,这个领域是泛指的领域,既包含金融、法律、创作这种学科领域,也包含推理、理解这种能力领域。现在很多论文工作都说明了我们的通用基座模型还没有达到各个尺寸模型的上限,也就是我们的模型还能学习更多知识,进行更准确的推理。但是做法却并不容易,简单的next token loss + generate 已经无法满足要求了。但是如果只求提升某一方面的能力,那在某一个领域训练一个领域大模型无疑是更简单有效的方法。根据我的训练经验,做领域相关的通用任务,比如金融领域的文档总结或信息抽取,再比如小说剧本的创作,领域模型通常是好于通用模型的。

经常有人问我注入领域知识SFT不行吗,为什么要CP?我的回答是并没有不行,只是看量而已。SFT和Pretrain主要区别就是数据量和多样性,Pretrain的数据量更大,多样性更丰富,和现实世界自然语料的分布更接近,因此不需要case by case的关注数据质量,更多的只要保证数据源的质量和可信度,多样性可以由其他数据源混合来提高。SFT可以认为数据是人类偏好、任务导向的数据,相比于自然世界的语料是有偏的。需要严格确保数据质量和丰富性,防止出现hacking。

灾难性遗忘

灾难性遗忘是指在训练domain数据时,模型向domain数据的分布偏移,导致通用能力大幅减弱。缓解灾难性遗忘除了各种trick,如模型部分训练、加正则、减小学习率、模型融合等,必做的操作是混合common数据。

但是这里有一个关键问题,common数据怎么混?我的暴论:“不能复现的模型不是开源模型,只是免费模型”,目前大量“开源”模型不仅不公布数据,甚至不公布配比。就算有配比,非大厂的研究者、从业者通常也搞不到大厂里那么高质量的common数据。用质量不高的数据、非官方的配比,训练模型本身就有损通用能力,拿来作为防止灾难性遗忘的数据就更有点贻笑大方了。数据不好洗,配比不好验,CP就只能胎死腹中了吗?或许我们可以从PPO里面找找解决办法。

重要性采样

重要性是一种蒙特卡洛方法,用于估计目标分布的期望值。核心思想是当目标分布 难以直接采样时,可以从一个更容易采样的分布 中抽样,并通过对这些样本加权来修正估计的偏差。也就是说重要性采样能够让我们以有偏的方式采样,但是无偏的估计原分布。更加正规化的解释是这样的:
假设要计算一个离散随机变量 的函数 在概率分布 下的期望值:
但是原始分布 采样困难,那我们可以寻找一个“建议分布” 进行采样:

再通过蒙特卡洛估计,可以把公式转换为:
这里需要注意的是, 采样困难,并不是计算 的概率困难。重要性采样成立的前提是 的支撑集必须覆盖 ,且 的乘积具有有限的方差。白话说就是采样的这个 需要是 的子集,且两个分布的差异越小越好。PPO利用重要性采样是为了提高数据利用效率,让新策略能够重用旧策略产生的数据。
看看CP,也是从 采样困难(从基座模型的训练数据采样困难),从 采样容易(从开源或自己的数据采样容易),那就可以尝试把重要性采样引入CP。

Continue Pretrain结合重要性采样

语言模型的优化目标是:

这里 表示原始模型使用的训练数据分布, 是从 中采样的一条语料, 表示语料中的t个token。
做一下重要性采样:

最后的问题是,怎么获得语料






请到「今天看啥」查看全文