CS336-2025-lec9

20251028

16:19

Scaling laws

 

大模型的训练成本是很高的,直接在big models tune hyperparameters这种方式不可行。

新的方法是tune on small models, extrapolate to large ones

也就是通过实验,得到模型效果和数据量、模型 超参数等的关系,这个关系就是scaling laws,然后就可以根据这个scaling laws直接选择最优的。

 

1.数据的影响

Data scaling laws simple formula that maps datasize to error.

数据肯定是越多越好。

从上图这两张scaling laws的实验可以看出,training data size越大,error越小。datadiverseerror越小。

 

从上图这张scaling laws可以看出,当数据有限时,需要用重复数据训练模型,随着重复越来越多的数据,收益会迅速递减(后面的epoch中,loss下降的明显没有前面几个Epoch快)。

 

2.模型的影响

 

我们可以通过scaling laws来选择模型的超参数,

Architecture,是用LSTMs vs Transformers哪种架构

Optimizer,是用Adam vs SGD哪种优化器

•Aspect ratio / depth

•Batch size

 

从上图可以看出,Transformer确实比LSTM好,全面胜出。也可以对比其他架构的模型。

 

从上图可以看出,也是Adam好于SGD

 

 

可以看到,关于batchsize的选择是有一个critical batch,在这之前,性能随着batchsize线性增加,在这之后,性能不变甚至下降,即batchsize过大,噪声会过大(极端情况下,只用一个batch训练的话,噪声比多batch要大)。

 

 

需要注意的是,scaling laws的纵轴可以是loss,也可以是下游任务的指标,如准确率等。那么纵轴从loss换为下游任务的评估指标时,scaling laws可能是不同的。

 

 

关于token数量和模型大小之间的scaling laws大约是每个参数20token来进行训练。但是我们一般是进行overtrain,因为对于LLM来说,主要是用它来进行推理,因此,我们用多于每个参数20token的配置来训练,这样虽然用更多的token训练的增益增加得不如之前快,但还是有增益的,值得我们去进行训练。

But most of the compute in a real deployment is inference.. So we should ‘over’ train

•GPT3 – 2 tokens / param

•Chinchilla – 20 tokens / param

•LLaMA65B – 22 tokens / param

•Llama 2 70B – 29 tokens / param

•Mistral 7B – 110 tokens / param

•Llama 3 70B – 215 tokens / param

The more usage we expect, the more it becomes worth it to pay the upfront cost

 

 

已使用 OneNote 创建。