拓冰建站拓冰建站
首页 / 资讯中心 / 正文

1万亿token预训练配方:StableLM-3B-4E1T的数据混合与256张A100训练全解析

1万亿token预训练配方StableLM-3B-4E1T的数据混合与256张A100训练全解析【免费下载链接】stablelm-3b-4e1t项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/stablelm-3b-4e1tStableLM-3B-4E1T 是 Stability AI 发布的 3B 参数量 decoder-only 开源大语言模型在1 万亿 token的英文与代码数据上完成了 4 轮4 Epochs预训练。本文将完整解析它的数据混合配方、模型架构以及256 张 A100 GPU约 30 天完成训练的完整工程细节帮助新手快速看懂 1 万亿 token 级预训练模型是怎么炼成的。一、StableLM-3B-4E1T 是什么项目说明参数规模约 2.8B2,795,443,200模型类型decoder-only 自回归语言模型Transformer 解码器架构预训练数据量1 万亿 token × 4 轮4E1T 即 4 Epochs, 1 Trillion tokens训练语言英文含大量代码数据许可证CC BY-SA-4.0可商用需署名定位基础底座模型base model官方建议微调后再用于下游任务4E1T 这个名字本身就透露了它的训练哲学用 1 万亿 token 的数据重复训练 4 个轮次让模型把数据吃透而不是盲目追求更大的数据量。对于个人开发者和小团队来说这是一个用消费级显卡也能跑起来的高性价比开源基座。二、数据混合配方1 万亿 token 由哪些数据构成数据质量决定模型上限。根据 README.md 中声明的训练数据集StableLM-3B-4E1T 的数据混合来自 5 个大规模开源数据集数据集来源在混合中的角色Falcon RefinedWebtiiuae/falcon-refinedweb高质量过滤后的网页文本是主力语料RedPajama-Datatogethercomputer/RedPajama-Data-1T1T 规模的开放网络数据补充语料多样性The PilePile v2CarperAI/pilev2-dev百科、学术等结构化数据已剔除 Books3 子集StarCoder Databigcode/starcoderdata代码语料赋予模型编程理解能力peS2oallenai/peS2o教育类文本提升常识与推理素材这套混合方案有几个值得新手注意的设计要点网络数据为主 代码为辅网页数据提供广博的知识面StarCoder 代码数据则显著增强函数式推理能力。剔除 Books3The Pile 中的 Books3 因版权问题被主动排除体现合规意识。多来源交叉同时使用 Falcon 和 RedPajama 两个独立的 1T 级网络语料降低单一来源的偏差。⚠️ 官方提醒由于网络数据占比很大**强烈建议将 StableLM-3B-4E1T 作为基础模型进行微调fine-tuning**后再用于具体下游任务。三、模型架构在 LLaMA 风格上的三处关键改动StableLM-3B-4E1T 整体采用与 LLaMA 相似的 decoder-only Transformer 结构核心参数如下可在 config.json 中直接查看参数数值Hidden Size2560Transformer 层数32注意力头数32上下文长度4096MLP 中间维度6912词表大小50,257它与教科书式 LLaMA 的三处差异对应 configuration_stablelm.py 和 modeling_stablelm.py 中的实现部分旋转位置编码Partial RoPE只对注意力头维度中 25%partial_rotary_factor0.25应用 RoPE。这是 GPT-NeoX 沿用的技巧在保持长程依赖能力的同时提高吞吐量。LayerNorm 而非 RMSNorm使用带可学习偏置项的 LayerNorm计算稍慢但稳定性经过充分验证。GPT-NeoX 分词器采用 BPE 分词词表 50,257配置见 tokenizer_config.json。四、训练全解析256 张 A100约 30 天炼成 1 万亿 token这是本文最硬核的部分——StableLM-3B-4E1T 是怎么被喂饱的4.1 硬件与时间线硬件256 张 NVIDIA A100 40GBAWS P4d 实例部署在 Stability AI 集群时间线2023 年 8 月 23 日开训约 30 天完成吞吐换算1 万亿 token × 4 轮 ÷ 30 天 ≈ 每天约消耗 1330 亿 token体现了大规模集群的高利用率4.2 训练技术栈环节方案训练框架GPT-NeoX 的官方分支fork数值精度bfloat16优化器AdamW并行策略2D 并行数据并行DP 张量并行TP配合 ZeRO-1 优化器状态分片注意力加速Flash Attention含 FlashAttention-2 的 SwiGLU 与 Rotary 内核对新手来说几个名词值得记住数据并行把不同批次分到不同卡张量并行把单层矩阵切到多张卡ZeRO-1则把优化器状态分散存储以降低显存占用。三者组合才能把 3B 模型稳定喂饱 1 万亿 token 而不出 OOM。完整超参数学习率、warmup、batch size 等官方在 README 中指向了 StableLM 技术报告可配合查阅。五、基准测试46.58 分的平均水平什么概念StableLM-3B-4E1T 在 Open LLM Leaderboard 上的成绩如下基准测试分数平均分Avg.46.58HellaSwag10-shot75.94Winogrande5-shot71.19ARC-Challenge25-shot46.59MMLU5-shot45.23TruthfulQA0-shot37.20GSM8k5-shot3.34怎么解读作为未经对齐的 base 模型它在常识推理类任务HellaSwag、Winogrande上表现亮眼但数学推理GSM8k 仅 3.34和事实性TruthfulQA明显偏弱——这正是预训练底座的典型画像通用语感强但需要指令微调才能变成能对话、会做数学的助手。六、本地运行 StableLM-3B-4E1T三步上手模型权重model.safetensors约 5.6GB一张 16GB 显存的消费级显卡即可推理。最小运行示例from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer AutoTokenizer.from_pretrained(stabilityai/stablelm-3b-4e1t) model AutoModelForCausalLM.from_pretrained( stabilityai/stablelm-3b-4e1t, torch_dtypeauto, ) model.cuda() inputs tokenizer(The weather is always wonderful, return_tensorspt).to(model.device) tokens model.generate(**inputs, max_new_tokens64, temperature0.75, top_p0.95, do_sampleTrue) print(tokenizer.decode(tokens[0], skip_special_tokensTrue))提速技巧加载时加上attn_implementationflash_attention_2启用 Flash Attention 2可显著降低显存占用并提升生成速度需 GPU 支持。七、局限性与使用建议 它是 base 模型不是 chat 模型直接对话效果有限官方明确建议先做指令微调如 SFT/DPO再部署。内容风险即使经过数据清洗网络语料中的不当内容仍可能被模型复现生产环境使用前务必做安全评估。许可证义务CC BY-SA-4.0 要求你署名 Stability AI、附上许可证链接并标明修改且衍生作品需采用相同协议。上下文 4096默认最大上下文长度为 4096 token超长文档场景需要自行验证或换用更大上下文的变体。总结StableLM-3B-4E1T 是一份教科书级的小模型大工程案例数据侧Falcon RefinedWeb RedPajama Pile StarCoder 的 1 万亿 token 混合语料架构侧32 层、2560 隐层的 LLaMA 风格解码器 Partial RoPE工程侧256 张 A100 40GB、bfloat16 AdamW、2D 并行 ZeRO-1约 30 天完成 4 轮训练。如果你想深入研究建议从仓库中的 README.md完整模型说明、config.json架构超参和 modeling_stablelm.py模型实现三个文件读起基本就能串起整个预训练配方的脉络。【免费下载链接】stablelm-3b-4e1t项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/stablelm-3b-4e1t创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门