- 博客(14)
- 收藏
- 关注
原创 【LLM】终于搞懂了!world_size、batch_size、num_workers、多卡分布式训练...
本文简明解释了分布式训练中的关键概念:worldsize指总进程数(通常等于GPU数量),batchsize分为每卡处理的local batchsize和所有卡总和的global batchsize(计算公式:global=local×worldsize)。举例说明4张GPU训练时,worldsize=4,若local batchsize=32,则全局batchsize为128。分布式训练时各GPU处理部分数据后合并结果。命令参数中的batchsize通常指local batchsize。
2025-07-15 10:38:18
275
原创 【Hugging Face】实践笔记:Pipeline任务、BERT嵌入层、Train任务、WandB解析
文章摘要:本文系统介绍了机器学习中的关键概念与技术方法。第一部分对比了image-classification与zero-shot-image分类的区别;第二部分解析了Tokenizer和Processor在多模态任务中的不同应用;第三部分深入探讨了BERT嵌入层的向量相加机制;第四部分介绍了WandB实验管理平台的使用;第五部分讲解了DataCollatorWithPadding的动态处理方式;第六部分厘清了Batch、Step和Epoch的概念差异;第七部分提供了修改模型结构而不改变参数的三种实现方法。
2025-06-07 16:50:11
1208
原创 【HuggingFace】BERT实战:从原理到分类应用(附代码讲解)
摘要:本文系统介绍了BERT模型的核心原理与应用实践。首先概述了BERT作为首个双向Transformer语言模型的特点,包括其掩码语言模型(MLM)和下一句预测(NSP)的预训练机制。然后梳理了从One-Hot到Word2vec再到BERT的NLP技术演进历程。重点解析了BERT在文本分类、命名实体识别等任务中的应用方法,并提供了基于IMDb数据集的文本分类实战代码示例(包括数据加载、分词处理、模型预测全流程)。文章指出直接使用预训练BERT分类效果有限,需要微调提升性能,为后续优化实践奠定了基础。
2025-06-05 15:56:19
1071
原创 【HuggingFace】四大神器:NLP开发必会
Hugging Face 提供的这四个工具构成了现代 NLP 开发的核心工具链:工具作用提供丰富的预训练模型Datasets统一、高效地处理训练数据Tokenizer将文本转化为模型可用格式Accelerate简化跨设备训练流程它们相互协作,极大地降低了模型开发和部署的门槛,是每一个 NLP 工程师和研究者都应掌握的工具。
2025-06-04 20:00:35
568
原创 【手撕代码】从零实现注意力机制——KV Cache和GQA(下)
上一篇文章讲解了LLM面试常考的点积缩放注意力以及MHA,这篇更深入讲解其进阶版KVCache和GQA由于Transformer中使用的注意力机制的时间复杂度太高,限制了输入的文本,所以之后的LLM也基于传统的MHA采用了多种优化手段。其中比较常见的就是在推理阶段使用KVCache和GQA(其中MQA:可以理解为GQA的特殊情况)
2025-06-03 14:55:51
849
原创 【手撕代码】从零实现Transformer的Scaled Dot-Product Attention 和 Multi-Head Attention(上)
本文详细介绍了Transformer架构中的两个核心模块——缩放点积注意力(ScaledDot-ProductAttention)和多头注意力(Multi-HeadAttention)的实现原理与PyTorch代码。首先解析了缩放点积注意力的计算公式,包括Query/Key/Value向量和缩放因子,并给出了带mask机制的实现方案。随后讲解了多头注意力的分头计算原理,通过线性变换、分头处理、注意力计算和结果合并等步骤实现。文章提供了完整的代码实现和使用示例,并总结了模块关键点与性能优化建议,最后提出了双向
2025-06-02 12:20:51
1195
原创 【Transformer】一文深入理解 Tokenizer 与 Embedding
本文详解了NLP中Tokenizer与Embedding的区别与联系。Tokenizer负责将原始文本切分为token并映射为ID(如BERT的WordPiece),属于预处理步骤;而Embedding则将离散ID转换为连续向量(如768维),是模型的可训练参数。两者共同完成文本到向量表示的转换流程,其中Tokenizer不直接输出向量,Embedding才是转向量的关键步骤。在Transformer/BERT模型中,输入需经过Tokenizer→Embedding→加入位置编码后,才送入Encoder层。
2025-05-26 16:34:35
1128
原创 【LLM实战项目】数据为王 - Kaggle大模型分类赛的数据处理解析(一)
本文以Kaggle竞赛中的LLM微调任务为例,探讨了如何通过数据预处理和分析提升模型表现。文章强调了“Garbage in, garbage out”原则,指出高质量的训练数据对模型性能至关重要。通过分析数据集的类别分布、情感偏好、模型使用分布以及特征工程,作者展示了如何从原始文本中提取有价值的信号,并构建高质量的训练集。具体步骤包括检查数据均衡性、进行情感分析、分析模型使用情况,以及提取文本特征如长度、标点符号等。这些分析为后续的模型训练和微调奠定了坚实基础,确保模型能够更好地符合人类偏好。
2025-05-17 22:44:17
1430
原创 【实战】基于阿里云百炼平台的知识蒸馏实战:用QwQ提升Qwen2.5-7B数学计算能力
在大模型应用落地过程中,大模型(如QwQ)计算成本高,而小模型(如Qwen2.5-7B)性能有限。知识蒸馏技术通过让大模型指导小模型学习,有效解决了这一矛盾。本文详细介绍了如何利用阿里云百炼平台,实现从QwQ到Qwen小模型的知识蒸馏,显著提升小模型的计算效率与推理能力。实验通过生成6000条三位数乘法题,利用QwQ生成精确答案作为训练标签,对Qwen2.5进行训练。结果显示,蒸馏后Qwen2.5在三位数乘法任务中的准确率从65%提升至98.5%。实验还验证了数据清洗对模型性能的提升作用,并指出直接生成答案
2025-05-15 21:16:42
942
原创 【LLM】全局batchsize公式:分布式训练的核心解析
在分布式深度学习训练中,全局batchsize是一个关键概念,它由卡数、每卡batchsize和梯度累积步数共同决定。全局batchsize表示一次参数更新所使用的总样本数,其计算公式为:全局batchsize = 卡数 × 每卡batchsize × 梯度累积步数。卡数指用于训练的GPU或计算设备的数量,每卡batchsize是每张卡上每次前向/反向传播使用的样本数,而梯度累积步数则是在更新参数前累积梯度的次数。理解这个公式对于优化训练效果、速度和资源利用至关重要。
2025-05-12 17:25:18
800
原创 【Transformer】解密Transformer核心模块可训练参数
Transformer模型的核心架构由多个可训练模块组成,每个模块通过反向传播优化其参数。词嵌入层将离散token映射为连续向量,捕捉语义和语法相似性。位置编码为模型提供序列位置信息,现代实现中通常为可学习嵌入向量。多头注意力层实现自注意力机制,增强模型表达能力。前馈神经网络对每个位置的表示进行非线性变换。层归一化加速训练并提升模型稳定性。这些模块的可训练参数包括词嵌入矩阵、位置嵌入矩阵、注意力机制的线性变换矩阵及偏置、前馈网络的两层线性变换以及层归一化的缩放和偏移参数。这些参数在训练过程中通过反向传播进行
2025-05-11 11:40:54
1227
原创 【Transformer】温度Temperature如何影响LLM的输出
温度参数是控制文本生成过程中确定性与多样性之间平衡的重要工具。它通过调节Softmax函数输出的概率分布,影响模型在不同解码策略下的输出行为:对贪婪算法、beam search更更注重概率之间排序这类算法影响不大,但是对随机采样、topK、topP这类按照概率的采样算法影响较大。
2025-05-07 09:15:00
1280
原创 【Transformer】LLM中随机采样、top-K与top-P的原理
在transformer中,每次输出的并不是下一个词,而是一个softmax概率分布,用来预测下一个词在词表中的概率分布?那么每次都选择概率最高的词吗?nonono。其实是由随机采样以及其变体Top-K/Top-P决定的。这就是为什么调用某一LLM时候会让你设置超参数TopK TopP,那么随机采样是什么,又是如何决定下一个词的输入的。本文主要介绍这个随机采样不是“瞎选”,也不是“只选最大概率词”,而是根据模型输出的概率分布,有概率地随机选择下一个词。它让生成文本更具多样性和创造性。
2025-05-04 09:00:00
397
原创 【Transformer】 Decoder 的结构、训练和推理过程
Decoder 结构:包含 Masked Self-Attention、Cross-Attention 和前馈神经网络。训练与推理:训练时使用 Teacher Forcing并行处理,推理时是自回归的,串行处理,使用前一个输出作为输入,预测下一个词。
2025-05-03 09:00:10
912
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人