OLMO是开源社区十分活跃的选手,他们开源了全部的checkpoint、代码、数据以及训练过程中的训练指标,只能说良心到没有朋友。

此处根据其论文与训练过程的指标窥探一番OLMO的训练过程。

OLMO github:https://github.com/allenai/OLMo

OLMO arxiv:https://arxiv.org/abs/2402.00838

OLMO wandb:https://wandb.ai/ai2-llm/OLMo-1B?nw=nwuserconstantindumi

OLMO data:https://huggingface.co/datasets/allenai/dolma/tree/main/urls

1 Tokenizer

使用了GPT-NeoX的Tokenizer。

2 Data

3 Model and Trainer

OLMO的模型参数如下:

OLMO与其他开源模型参数对比:

OLMO的Trainer参数如下:

OLMO与其他开源Trainer参数对比:

4 Wandb

4.1 学习率调度

对于OLMO-1B模型:

warmup_steps = 2000,下图中观察得到

cosine_decay_steps = total_steps – warmup_steps

warmup_steps之后开始衰减,下图中观察得到

实验最终steps为738k,按照每step为4M tokens,则应该最终训练了2.8T tokens,与文章中似乎有些不符合

学习率最终衰减到最大学习率的10% 即3e-5,下图中观察得到:

4.2 loss

对于OLMO-1B模型:

在训练初始阶段,5000 steps pre loss从13下降到3下图中观察得到

6k ~18k steps,pre loss从3到2.75左右下图中观察得到

训练到738k steps,pre loss在2.4左右下图中观察得到: