1 大模型
1.1 大模型的顿悟时刻
Emergent Abilities of Large Language Models,Transactions on Machine Learning Research 2022
模型的效果不是随着模型参数量变多而慢慢变好,而是在某一个瞬间,模型“顿悟”了
这边举的一个例子是,比如让模型回答鸡兔同笼问题
- 一开始小模型什么都学不到,故而效果不好
- 随着模型参数量增大,模型慢慢地会一定地推导了,但是还是得不到正确的推导结果——此时仍然不得分
- 只有当参数量达到某一个数值之后,不仅会推导,还得到了正确的答案
- ——>此时才得分
1.2 inverse scaling prize? U shape
Inverse scaling can become U-shaped 2022
大部分任务是随着模型的变大,效果越来越好,那么有没有某些任务/问题,是模型变大效果反而变差的呢?
答案是有的,这里列了一些:
但是,真的是模型参数量变大模型表现反而不好嘛?
于是这篇论文进一步扩大模型参数量,发现模型表现跌到一定程度后,还是会涨精度
——>在这些任务中,performace 和参数量的关系是U shape的
而这种带Ushape的任务,这篇论文认为,大多数是“带陷阱(干扰项)”的问题。当模型稍微获得一点能力的时候,就很有可能陷入这个陷阱中。但模型参数量进一步扩大,就会知道这是个“陷阱”,从而找到正确的答案
2 大资料
2.1 两种认知
When Do You Need Billions of Words of Pretraining Data? 2020
语言模型一般需要两种认知
- 一种是对语言本身语法、文法的认知(深蓝色曲线)
- 这一部分不需要很多的语料,有一些资料供学习就够了
- 另一种是对语言背后世界运行规律的认知
- 这一部分就需要大量的语料喂入了
2.2 数据处理
- 过滤有害内容(比如黄色、暴力的内容)
- 去除HTML tag
- 从网站上爬资料的话,会有很多无用的HTML 语言
- 但是也不是所有的HTML tag都去掉,会保留一些如换行符等有用的知识
- quality filtering
- 在论文中有详细的规则,介绍了如何去除低品质资料
- 去除重复资料
- 后面会有论文专门说重复资料的影响
- test-set filter
- 需要把用来测试的那一部分语料去掉,不然就相当于提前学了这一部分内容,导致测试结果不准
2.3 重复数据的影响
- 比如如上的语料库中,中间这一段话出现了6W多次
- 我们分不同的层级,去除掉语料库中重复的部分,然后喂入语言模型,让语言模型随便说一段话。
- 将这一段话和语料库进行对比,看看模型是学习了语料库中的内容,生成了新的语句,还是仅仅死记硬背了语料库中的内容
- 表格中的数字就是有多少比例生成的语句是和语料库中的语句极为相似
- 可以发现如果语料库中重复的语句过多,机器很容易直接复述之前的内容
2.4 固定的计算资源下,应该更大的模型,还是更多的资料?
Training Compute-Optimal Large Language Models 2022
- 每一条虚线都表示具有相同的运算资源
- 纵轴表示预测的效果(Loss),越小表示预测的越好
- 横轴表示模型参数量
- 可以看到 小模型大资料 和 大模型小资料 效果都不如一个折衷的配置
- 小模型大资料:看了很多资料, 但是不学习(学而不思)
- 大模型小资料:思而不学
- 于是论文把所有计算资源配置下的,各个U型曲线的最低点找到,然后进行外推
- 得到一个和Gopher计算资源一样的情况下,模型参数和资料的最佳配置组合(命名为Chinchilla)
可以发现Chinchilla几乎完胜