HuggingFace推出小模型SmolLM

文摘   2024-08-09 20:55   新加坡  

本文涉及到的详细测试代码和测试步骤放置于:

https://github.com/davidsajare/david-share.git

下的:DeepLearning/SmolLM-Full-Fine-Tuning,本文中不再赘述代码实现。

欢迎给repo点亮Star,您的点赞是作者持续创作的动力。

Hugging Face推出了一系列小模型:SmolLM,包括135M、360M和1.7B参数版本。

目前这个模型实测效果一般,和Phi-3 Mini比存在较大的差距。当然HF应该在持续训练中。


我们可以研究一下这个模型的训练数据集以及对它进行全微调的方法。


SmolLM使用了三个高质量数据集进行训练:

  1. Cosmopedia v2:包含28B tokens的合成故事和代码,覆盖了4000多个主题。

  2. FineWeb-Edu:一个高质量的教育内容数据集,经过去重处理后包含220B tokens。

  3. Python-Edu:包含4B tokens的Python代码。


    总共使用了252B训练tokens,这些数据集分布在SmolLM语料库中。

训练架构和超参数

 
SmolLM 135M和360M版本在600B tokens上训练,而1.7B版本在1T tokens上训练。模型使用了大量层数但嵌入和隐藏维度较小的架构,即深而窄的模型。所有模型支持2048 tokens的上下文大小,使用49152个词汇的tokenizer。


监督全量微调(SFT)

 
监督微调(SFT)就是教模型如何回答人类的提示。SmolLM使用了HuggingFaceH4/ultrachat_200k数据集进行微调。


蒸馏DPO

 
DPO(直接偏好优化)用于将模型对齐到人类偏好。SmolLM使用了ultrafeedback_binarized数据集进行蒸馏DPO训练。





大魏分享
https://github.com/davidsajare/david-share.git
 最新文章