- 博客(9)
- 收藏
- 关注
原创 从零训练大模型之从Pretrain走向SFT训练
在本篇文章中,我们为即将到来的SFT实战之旅铺设了坚实的理论基石。模型的进化路径:从一个只会“补全”的Base模型,通过SFT进化为能“遵循指令”的Instruct模型,再通过对齐成为更自然的Chat模型,这是一个从“概率”到“意图”的深刻转变。数据的核心地位:高质量的指令数据集是SFT的灵魂。我们对比了Alpaca、Dolly和OpenOrca等主流数据集,明白了在不同场景下如何做出战略选择。SFT的理论全景:我们拆解了SFT的四个关键理论步骤——数据模板化、损失掩码、精细参数配置和定性评估。
2025-07-23 23:27:40
783
原创 从零训练大模型之模型升级版搭建及训练总结(下)
摘要:本文对比了基于传统Transformer架构的V1模型与采用多项现代技术的升级版V2模型。V1模型在训练中表现出不稳定性和较低的困惑度(PPL≈40),生成文本存在逻辑重复问题。V2通过四项关键改进:替换RMSNorm、采用RoPE位置编码、引入FlashGQA注意力机制和SwiGLU激活函数,显著提升了性能。实验数据显示,V2仅用12k步训练就达到PPL≈36,优于V1的24k步结果(PPL≈40),且训练过程更稳定。生成的文本在连贯性和信息密度上也有明显改善,验证了现代架构对大模型性能的提升效果。
2025-07-15 06:58:54
1062
原创 从零训练大模型之模型升级版搭建及训练(中):实现FlashAttention, GQA,RoPE, RMSNorm, SwiGLU
本文介绍了如何将经典Transformer模型升级为现代大语言模型架构,重点整合了五大核心技术:1. 用计算更高效的RMSNorm替代LayerNorm;2. 采用具有相对位置特性的RoPE位置编码;3. 使用带门控机制的SwiGLU前馈网络;4. 引入分组查询注意力(GQA)优化内存效率;5. 整合FlashAttention加速计算。文章详细阐述了每个技术的原理、优势及具体实现代码,包括RMSNorm的简化归一化公式、RoPE的旋转位置编码机制、SwiGLU的动态门控设计等。这些升级使模型在处理长序列时
2025-07-08 07:21:38
1039
原创 从零训练大模型之模型升级版搭建及训练:FlashAttention, GQA,RoPE, RMSNorm, SwiGLU(上)
本文探讨了从经典Transformer到现代大语言模型(LLM)的关键技术演进,重点分析了注意力机制的效率革命。原始Transformer架构已被Llama、Mistral等先进模型深度优化,主要围绕两大目标:提升效率和增强性能。文章详细介绍了FlashAttention如何通过分块计算和在线Softmax技术攻克内存I/O瓶颈,将注意力机制复杂度从O(N²)降至O(N)。此外还提及了Grouped-Query Attention、RoPE位置编码等创新技术,这些优化使现代LLM在保持高质量输出的同时大幅提
2025-07-08 00:02:30
1239
原创 从零训练大模型之模型训练总结
经过前面的努力,已经完成了训练前的所有准备。回顾下我们的模型代码Token Embedding:将输入的文字(Token ID)转换成模型能理解的高维向量。Positional Encoding:给每个词添加位置信息,让模型知道词语的先后顺序。Decoder Blocks:这是模型的核心,由多个“积木块”堆叠而成。每个积木块里都有两个大杀器:Causal Self-Attention:让模型在预测下一个词时,只关注前面已经出现过的词,防止“未卜先知”。
2025-07-07 23:58:56
794
原创 从零开始训练大模型:搭建炼丹炉,详解训练脚本的每一行代码
本文详细介绍了训练自定义小参数量大模型的核心训练脚本实现。作者从超参数配置入手,阐述了模型训练的关键设置,包括设备选择、路径配置、训练参数(如序列长度、批次大小)、模型结构参数以及混合精度训练优化。文章重点剖析了训练循环的核心函数train_epoch,解释了梯度累积、混合精度计算、学习率调度等关键技术点,并说明了验证阶段validate_epoch的作用。整个训练系统通过精心设计的超参数和高效计算策略,实现了在有限硬件资源上训练较大模型的能力,为读者提供了完整的训练流程实现思路。
2025-07-07 23:53:42
1046
原创 从零训练大模型之模型搭建
经过前两篇,我们已经完成数据集清洗以及BPE词表的训练,并且使用清洗后的数据集构建出 DataSet 类和 custom_collate_fn 方法。这一篇,我们终于要开始搭建模型了,如最开始所说,我们计划的就是使用 pytorch 现有的API进行搭建,而不使用 hugging face 等提供的高级API。所以接下来我们开始搭建 Decoder-only Transformer 模型。Decoder-Only Transformer——在大型语言模型领域取得了巨大成功,例如著名的 GPT 系列模型。
2025-07-07 23:52:36
1004
原创 从零训练大模型之BPE词表构建及数据集加载管道搭建
本文介绍了从OpenWebText数据集构建BPE分词器到数据预处理的全流程。主要内容包括:1) 基于Arrow格式数据集训练专用BPE分词器,详述参数设置和实现方法;2) 构建数据管道,将文本转换为模型可处理的格式;3) 处理长文本的技术方案;4) 提供完整可运行的Python代码。重点强调了定制分词器的必要性,并推荐使用Hugging Face的ByteLevelBPETokenizer进行实现,同时探讨了词表大小、特殊词元等关键参数的设置考量。
2025-07-07 23:48:20
1007
原创 从零训练大模型之数据集清洗
OpenWebText数据集清洗方案摘要 OpenWebText是用于LLM预训练的重要公开语料库,但原始数据存在HTML标签、冗余内容、格式不统一等问题。本文提出多阶段清洗方案:首先使用Trafilatura和BeautifulSoup提取纯文本并去除HTML;通过Unicode规范化、大小写转换和标点处理实现文本标准化;采用MinHashLSH技术进行文档级近似去重;最后过滤低质量文本。该流程可有效提升数据质量,为后续BPE词表构建和LLM训练奠定基础。完整代码已在GitHub开源。
2025-07-07 23:15:02
990
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅