如何从零开始训练大模型?

1 背景

根据scaling law,模型越大,高质量数据越多,效果越好。

但还有一个很直观的情况,随着预训练样本的质量不断提升,训练手段的优化。新的模型,往往效果能轻松反超参数量两倍于它的模型。

例如,最新出的minicpm,微信内部评测效果也是非常棒的。跟规模相对接近的2b、7b模型比,得分比qwen2b高,和qwen7b比有的高有的低。

这个是minicpm的详细技术文档。

https://shengdinghu.notion.site/MiniCPM-c805a17c5c8046398914e47f0542095a

这说明,现有参数量情况下,哪怕是2B尺度,也并没有得到充分训练。

近期,邀请minicpm作者内部做了一个小范围分享,参与人员有国内好几个大模型团队的成员,基本上都是预训练为主。

很多人都签了保密协议,所以都是基于公开信息沟通。

提前约法三章,对面拒绝回答,就不要做一些比较不知趣的追问操作。

限制很多,但也得到了一些有趣的结论。

因为都是基于公开信息的讨论,放出来也无伤大雅,也欢迎大家的反馈。

参会人, 鼎叮, @swtheking, @孙培钦 ,殷超,晓楠, @孔某人。还有一些不方便挂名的,这里就不写了。

2 样本

2.1 样本构成

大家已经达成一些基础的共识。

如中英混合比例大家都大差不差。

逻辑推理比较强的样本,像代码,数学。这种就是模型越大,混合的比例反而可以越高。

跟SFT是类似的,越大的模型,越聪明的模型,需要的SFT数据就越少。同理,越大的模型,越聪明,复杂样本混合比例就可以越高。

2.2 样本质量

2.1.1 基本清洗

导致ppl崩掉的,都要清洗掉,政治敏感数据清洗,去重等,肯定是一个很长的pipeline。

大家比较一致的结论是,天工开源的那份预训练数据,是一个比较好的满足基础清洗要求的数据。

2.1.2 进阶清洗

大家都不太方便展开,但可以透露的信息。

跟SFT一样,产出各种各样的label来刻画数据,有的公司实习生就优化几个label。

不过随着优化的往后拓展,这些label的投入产出比越来越难以评估。

2.1.3 PHI式的生成(synthetic)数据

预训练清洗的pipeline搭建,对于开源团队,小公司来讲,成本其实还是蛮高的。

所以,基于开源数据,做一些聚类的topic。然后基于这些topic,丢到更大的模型,来构建一批高质量的数据,是一个反而比较低成本的方案。

2.1.4 买数据

嗯,这次大模型,除了李一舟。卖数据的公司,也是真的赚到钱了。

2.3 不同训练阶段的训练样本

经过讨论,发现有三种方案。

2.3.1 末期高质量样本(minicpm)

快速收敛阶段和平稳阶段,都采用普通样本。

退火阶段,混入高质量样本来做教科书式的学习。

2.3.2 初期高质量样本

快速收敛阶段,以高质量样本为主,让模型快速收敛。

平稳阶段,逐步调整比例,增加更多的普通样本。

退火阶段,跟平稳阶段一致

2.3.3全程高质量样本(PHIL方式)

全程都是高质量样本

这里大家讨论的蛮激烈的,有这么几点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值