对于小模型来说,训练目标已经改变。关键问题是,AI系统如何从更少的数据中学到更多
我们需要模型先变得更大,再变得更小,因为我们需要「巨兽」将数据重构、塑造为理想的合成形式,逐渐得到「完美的训练集」,再喂给小模型。
1、Huggingface:smollm
1.参数量:1.35亿、3.6亿和17亿
SmolLM系列包括三个成员,它们分别拥有1.35亿、3.6亿和17亿参数量 SmolLM-1.7B占用的显存:
- bf16:3422.76 MB
- int8:1812.14 MB
- int4:1006.84 MB
2.数据集
Smollm Corpus 数据集:
-
Cosmopedia v2: 由Mixtral 生成的包含38B tokens的合成教材和故事内容的
-
Python-Edu: Stack 上的教育性Python示例(4B tokens)
-
FineWeb-Edu (deduplicated): FineWeb 上的精选教育性网络内容(220B tokens
指令微调数据集:StarCoder2-Self-OSS-Instruct
dpo数据集:集中135M和1.7B模型使用的是HelpSteer数据集; 360M的模型,使用的是argilla/dpo-mix-7k;都只训练了一个epoch。
3.训练数据量:
SmolLM模型有三个不同尺寸,它们分别在不同量级的混合数据上训练得到:
-
135M and 360M models, 在Smollm-Corpus数据集中选择了600B tokens的训练数据;
-
1.7B model, 在Smollm-Corpus数据集中选择了1T的训练数据
- Pretraining steps: 500k
- Pretraining tokens: 1T
- Precision: bfloat16
4.Hardware:GPUs: 64 H100
5.Training Framework: Nanotron
支持长度:这几款模型支持的长度都是2048(2K)个token(通过微调后,可以支持更长)
这个模型实测起来,除了官方例子,表现并不像说的那么好,感觉像个傻子一样
体验地址:https://huggingface.co/spaces/HuggingFaceTB/SmolLM-360M-Instruct-WebGPU
6.参数配置
2K上下文
Tokenizer:在Smollm Corpus上训练得到,词表大小为49152.
自注意力的是GQA分组查询注意力,模型具体配置如下:
7.其他细节没看到例如训练代码数据管理
2、苹果公司DCLM
https://github.com/mlfoundations/dclm
1、参数量:70亿和14亿
DCLM小模型包含两种参数规模——70亿和14亿
2、训练
DCLM-7B同样采用了decoder-only的架构,使用PyTorch和OpenLM框架进行预训练。
3、数据 4T token的DCLM-baseline数据集
总共4T token的DCLM-baseline数据集来自于总量240T的DCLM,DCLM-7B模型又进一步过滤出其中的2.5T用于训练。
DataComp的思路反其道而行之——测评所用的模型是固定的,任务是在总共240T的数据池中过滤、处理出最好的数据。
- 数据质量的重要性
对于LLM的性能而言,预训练数据正在成为比模型架构和权重更重要的因素。Llama、Gemma、Phi等一系列「开源」模型都是只放权重、不公布数据。
4、参数 2Kcontext
上下文长度为2048,小于Mistral 7B和Gemma 2 9B的8k长度。
5、有训练代码
3、Mistral:Mistral NeMo
OpenAI 官宣 GPT-4o mini 早几个小时
这个小模型由 Mistral AI 和英伟达联合打造,参数量为 120 亿(12B),上下文窗口为 128k。
新分词器 Tekken
Mistral NeMo 使用基于 Tiktoken 的新分词器 Tekken,该分词器经过 100 多种语言的训练,能比以前 Mistral 模型中使用的 SentencePiece 分词器更有效地压缩自然语言文本和源代码。在压缩源代码、中文、意大利文、法文、德文、西班牙文和俄文时,它的效率要高出约 30%。在压缩韩文和阿拉伯文时,它的效率是原来的 2 倍和 3 倍。事实证明,与 Llama 3 分词器相比,Tekken 在压缩所有语言中约 85% 的文本方面更胜一筹。
Mistral NeMO 经历了高级微调和对齐阶段。与 Mistral 7B 相比,它在遵循精确指令、推理、处理多轮对话和生成代码方面的能力大大提升。