u013250861
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FLOPs计算详解-LLM训练-基础知识01:反向传播【dW=∂L/∂W:当前层的权重参数梯度;dX:传给前一层算dW的上游梯度】【在最后一层:dX=∂L/∂X=∂L/∂Y·∂Y/∂X=GWᵀ】
X当前层的输入矩阵:每一行是一条样本里的一个“位置”的向量。W当前层的权重矩阵(要学习的参数),比如注意力里的 Q/K/V/O 权重、FFN 的 W1/W2/W3 等。Y = XW当前层的输出矩阵。会被送给激活函数 / 下一层 / loss 计算等。L是一个标量,表示模型整体表现好不好(越小越好)。一般是所有样本的 loss 之和或平均,比如交叉熵。G = ∂L/∂Y上游梯度:告诉你“如果 Y 的某个元素变大一点,L 会变大还是变小,以及大小是多少”。原创 2025-12-07 02:45:20 · 39 阅读 · 0 评论 -
FLOPs计算详解-VLM训练01:Vision+Projector+LLM【连续编码+Full-FT:6SN_vis+6SN_pro+6(S+T)N_llm】【Lora:2/3 Full-FT】
Vision encoder 把图像变成视觉特征(S 个向量,连续或离散);Projector 把视觉特征送入 LLM 空间;LLM 对视觉 + 文本 token 序列做语言建模。连续型(vision 也训):\approx离散型 + 离线 tokenizer:去掉 6BSN_vis,那部分 FLOPs 变为 0(训练时只读 code)。对同一条图文对(同样 S,T),Vision/Projector/LLM blocks 的 FLOPs 几乎完全相同;原创 2025-12-06 22:20:53 · 37 阅读 · 0 评论 -
FLOPs计算详解-LLM训练03:Lora/全参训练FLOPs≈(2/3+LoRA参数量/原参数量)【Lora显存占用=权重参数+激活】【激活=btz×seq_len×n_layer×dim】
完整的 LLaMA-2 FLOPs 计算笔记:通用符号:先把最关键的结论用一句人话说出来,然后再一点点推:你提的“能不能不算原始权重的 dX,只算 LoRA 分支的 dW/dX”理论上可以做成一种近似算法,那样 FLOPs 会更省,但那就不是标准 LoRA 的“正确反向”了。目前 peft 并没有这么做。记号和背景(先统一语言)我们讨论的是一层线性变换,放在 Transformer 里的某个位置,比如 attention 的 Q/K/V 投影或者 FFN 的 W1/W2/W3。BBB:batch size,原创 2025-12-06 22:10:03 · 28 阅读 · 0 评论 -
FLOPs计算详解-LLM训练-基础知识02:FLOPs、显存、上游梯度矩阵G、激活 activations、gradient checkpointing
GGG激活(activations)就是网络在前向传播过程中,每一层算出的“中间结果”。比如每层的隐藏向量、每个非线性层的输出等等。原创 2025-12-06 18:27:21 · 29 阅读 · 0 评论 -
FLOPs计算详解-LLM训练02:冻结参数(硬冻结、软冻结)对FLOPs的影响
在同一条 pretrain 样本(相同 token 序列长度 T)如果是“硬冻结”(在中间层detach,下半层仅做前向,不参与反向):Chalf≈23CfullChalf≈32Cfull→节省约 33% 的训练算力(主要体现在底部 L/2 层没有 backward)。如果只是“软冻结”(参数不求梯度,但梯度仍穿过这些层):Chalf≈56CfullChalf≈65Cfull→只节省约 17% 的算力,因为仅去掉了dW。原创 2025-12-06 17:28:41 · 23 阅读 · 0 评论 -
FLOPs计算详解-LLM训练01:【前向(2N)、反向(4N)、adamW(可忽略)】【全参训练:Pretrain、SFT的FLOPs的对比(FLOPs无差别,区别在于反向传播时的显存占用不同)】
好,我们来把这几轮你问过的点一次性“收束”成一份2TdindoutTdmodelLdffBCfwd≈2NDCtrain≈6ND。原创 2025-12-06 13:22:21 · 25 阅读 · 0 评论 -
Unsloth:专为大语言模型(LLM)优化的 微调与加速框架,重点解决了开发者在硬件受限环境下的训练与推理效率问题
Unsloth 是一个专为大语言模型(LLM)优化的 微调与加速框架,重点解决了开发者在硬件受限环境下的训练与推理效率问题。它通过对内存管理、计算优化以及低精度训练的支持,让用户能够在 单块消费级 GPU(如 RTX 3060/4060) 上完成原本需要昂贵算力才能完成的模型训练与应用。unsloth 支持主流模型(如 LLaMA、Mistral、Gemma、Qwen 等)。原创 2025-11-05 21:38:23 · 33 阅读 · 0 评论 -
NVIDIA RTX PRO 6000 Blackwell 精度算力对比及 LLM 应用分析
最近AI卡的发展也是越来越快,很多新卡好像也是越来越强了。昨天被问到PRO 6000怎么样。搜索了一下,好像没有很好的资料,特别是对于其具体的参数上,很多文章都是二手,三手,甚至是洋葱文章,无法做到详细的对比。经过在英伟达官网上的技术文档的一手调研,终于能够搞清楚了PRO 6000到底几斤几两。原创 2025-10-11 15:07:51 · 698 阅读 · 0 评论 -
Megatron-LM中的TP、PP、DP、SP、CP并行
SP主要优化的是激活内存,它沿序列维度切分部分激活,适用于较短序列并行。CP主要解决的是长序列的显存问题,它沿序列维度切分所有激活和输入,并且对注意力机制也进行并行处理。二者可以组合使用,特别是当 TP > 1 并且需要处理长序列时,通过启用 SP 和 CP 可以最大化地优化内存使用和加速计算。原创 2025-10-06 22:51:56 · 315 阅读 · 0 评论 -
大模型微调框架详细调研报告【LlamaFactory、ms-swift、Unsloth、Axolotl、XTuner、FastChat】【2025-08-27】
本报告详细调研了当前主流的大模型微调框架,包括LlamaFactory、ms-swift、Unsloth、Axolotl、XTuner、FastChat等,分析它们的特点、功能、优势和适用场景。原创 2025-08-27 17:17:18 · 269 阅读 · 0 评论 -
Megatron-LM从头训练大语言模型:并行策略图示【Tensor并行、Pipeline并行、Data并行、Sequence并行、virtual_pipeline并行、Context并行】
节点包含的层每GPU的参数内存每GPU的激活内存节点0Stage 0层1-1212层参数/2 (TP切分)8k序列激活 (CP切分)节点1Stage 1层13-2412层参数/2 (TP切分)8k序列激活 (CP切分)节点2Stage 2层25-3612层参数/2 (TP切分)8k序列激活 (CP切分)节点3Stage 3层37-4812层参数/2 (TP切分)8k序列激活 (CP切分)负载均衡:每个节点处理相同数量的层(12层)内存优化。原创 2025-07-31 22:21:17 · 158 阅读 · 0 评论 -
Sample Packing 综述:LLM 效果与效率的 Tradeoff
GraphCore 在 2021 年 07 月的 [2107.02027] Efficient Sequence Packing without Cross-contamination: Accelerating Large Language Models without Impacting Performance 中已经讨论了 Sample Packing 导致的交叉污染(Cross Contamination)问题。原创 2025-07-13 23:02:45 · 64 阅读 · 0 评论 -
NTK:神经切线核 (Neural Tangent Kernel, NTK)
网络:标量输出前馈网fθRd!→!R\to!→!R,参数θ!∈!RP\theta!\in!θ!∈!RPNTKΘθxx′∇θfθx⊤∇θfθx′(1)Θθxx′∇θfθx⊤∇θfθx′1梯度向量∇θfθx∇_θfθx长度为参数数目PPP;对每一对输入xx′(x,x')xx′取内积得核值。原创 2025-07-08 16:20:27 · 240 阅读 · 0 评论 -
大模型指令微调中的遗忘问题与防遗忘技术
Transformer层 的权重,或者在输出层之上添加一个小型。原创 2025-07-02 20:32:16 · 209 阅读 · 0 评论 -
P-tuning v1 (Prefix Tuning v1)
一、代码解释让我详细解释这行P-tuning v1中的核心代码:1、代码组成分析1. 的作用2. 的内容从上下文代码可以看到:2、具体含义解释含义分解: 一个包含虚拟token ID的张量: 将张量包装成可训练参数: 存储为模型的可训练参数: 注释说明张量形状为 数值示例3、核心作用和意义1. 创建可训练的虚拟Token2. 与传统方法的区别4、在forward过程中的使用转换为Embedding5、为什么使用浮点数存储Token ID?训练过程的考原创 2025-06-23 22:09:32 · 45 阅读 · 0 评论 -
P-tuning v2 (Prefix Tuning v2)
原创 2025-06-23 21:38:45 · 126 阅读 · 0 评论 -
初探muP:超参数的跨模型尺度迁移规律
众所周知,完整训练一次大型LLM的成本是昂贵的,这就决定了我们不可能直接在大型LLM上反复测试超参数。一个很自然的想法是希望可以在同结构的小模型上仔细搜索超参数,找到最优组合后直接迁移到大模型上。尽管这个想法很朴素,但要实现它并不平凡,它需要我们了解常见的超参数与模型尺度之间的缩放规律,而muP正是这个想法的一个实践。原创 2025-06-09 08:29:34 · 157 阅读 · 0 评论 -
【nlp】大模型训练--3D并行
参考:图解大模型训练之:流水线并行(Pipeline Parallelism),以Gpipe为例在数据并行(Data Parallelism)训练中,模型的被复制到每个计算 GPU 上,而输入数据批次(batch)则被,并分配给不同的 GPU 上进行并行计算。以下是数据并行的详细过程:1. 初始化和模型参数分配2. 前向传播(Forward, FWD)和反向传播(Backward, BWD)3. 梯度聚合(AllReduce)4. 参数更新(Pull)5. 下一轮迭代所有 GPU 的模型参数同步完成后,进行原创 2025-06-08 23:23:05 · 93 阅读 · 0 评论 -
蒸馏训练-Loss:软标签损失(KLDivLoss)、硬标签损失(CrossEntropyLoss)
ScaledMultiClassCrossEntropyLoss是一种改进的多分类交叉熵损失函数,其核心思想是通过引入**温度缩放(Temperature Scaling)**机制调整模型输出的概率分布形态,从而优化训练过程。原创 2025-05-24 23:58:55 · 153 阅读 · 0 评论 -
NVIDIA GPU:A100、H100、A800、H800、H20的差异
Ampere 架构的 GPU 采用了多个流多处理器(SM)和更大的总线宽度,提供了更多的 CUDA Core 和更高的频率。Ampere 架构的 GPU 还具有更高的内存容量和带宽,适用于大规模的数据处理和机器学习任务。它们还将支持PCIe 5.0,成为首批实现这一转变的消费级GPU,不过我们还需观察这一支持是否覆盖所有Blackwell GPU,还是仅适用于RTX 5090。这些GPU主要面向中国客户,如阿里云、腾讯云、百度云等云计算厂商,性能稍逊于A100和H100,但仍然具备极高的计算能力。原创 2025-05-20 06:45:14 · 1014 阅读 · 0 评论 -
大模型分布式训练秘籍:Megatron-LM vs DeepSpeed技术对比
Megatron-LM与DeepSpeed的竞争本质是硬件效率与算法泛化性的平衡:前者依托英伟达生态实现极致性能,后者通过软件创新突破显存物理限制。正如微软研究院负责人所言:“未来的分布式训练框架,必须是编译器、运行时与硬件的共进化系统”。随着3D封装与光互连技术成熟,万亿参数模型的训练将进入“小时级”时代。大模型分布式训练秘籍:Megatron-LM vs DeepSpeed技术对比_megatron 对比 deepspeed-优快云博客。原创 2025-05-08 15:19:59 · 344 阅读 · 0 评论 -
Swift:一站式大模型训练工具链,让模型进化更轻松
模型的进化离不开工具链的支持与助力,未来SwanLab也将与更多工具伙伴一起,为世界AI开发者提供更好的体验,提高模型进化效能。原创 2025-04-05 18:15:42 · 246 阅读 · 0 评论 -
LLM关键函数对比:训练阶段的model(),推理阶段的model(),推理阶段的model.generate()
以下是针对的详细分阶段解释与代码示例,涵盖训练、手动生成、Logits 提取和自动生成,输入均为,目标输出为。代码包含内部实现的简化逻辑。原创 2025-03-12 17:01:19 · 318 阅读 · 0 评论 -
Visualize Llama Inference Using Single and MultiGPUs
Inference using multiple GPUs involves splitting weight matrices by rows and columns, followed by operations like all-reduce or gather. This technique is commonly referred to as Tensor Parallelism (TP).Below are two visualizations of the LLaMA 3.1 8B model原创 2025-02-19 22:25:49 · 112 阅读 · 0 评论 -
DeepScaleR-1.5B-Preview:1.5B模型通过RL就可以媲美o1
为了构建我们的训练数据集,我们收集了1984-2023年AIME问题和2023年之前的AMC问题,以及来自Omni-MATH和STILL数据集的问题,这些数据集涵盖了来自多个国家和国际数学竞赛的问题。为了解决这一问题,我们利用了一个蒸馏模型,并引入了一种新颖的迭代扩展强化学习方案,将计算需求降低到仅3800小时的A100 GPU计算时间,实现了18.42倍的计算量减少,同时仅用一个15亿参数的模型就超越了OpenAI的o1-preview的性能。我们坚信,普及RL扩展是一个社区的努力,欢迎开源贡献和赞助!原创 2025-02-18 22:53:09 · 169 阅读 · 0 评论 -
模型“对齐”人类偏好:有帮助(helpful)、诚实(honest)、无害(harmless)
模型“对齐”人类偏好,尤其是围绕“有帮助(helpful)”、“诚实(honest)”和“无害(harmless)”这三个核心原则,是确保人工智能系统符合人类价值观、伦理标准和社会需求的关键过程。:使用BLEU/ROUGE(帮助性)、事实一致性分数(诚实性)、毒性分类器(无害性)进行自动评估。:过度过滤可能导致回避必要讨论(如性别平等议题),需通过细粒度策略区分“有害”与“敏感但合理”。:若用户问“新冠是否通过5G传播”,模型应回答“无科学依据”,并引用世卫组织的辟谣声明。原创 2025-02-18 21:46:17 · 716 阅读 · 0 评论 -
大规模语言模型(LLMs)指令微调一: FLAN
这篇论文和instruct-GPT的微调指令数据集的不同在于:该文的微调数据集来自于通用的NLP任务,通过指令模板改造输入输出的格式得到。之前的工作表明在非CoT任务上进行指令微调可以提高未见的非CoT任务的能力,但是本文发现这会导致模型在CoT任务上性能的下降。此外,与没有进行微调的模型相比,指令微调的改进幅度似乎并没有减少,这表明指令微调对未来的模型可能会继续有意义;之前的工作表明在非CoT任务上进行指令微调可以提高未见的非CoT任务的能力,但是本文发现这会导致模型在CoT任务上性能的下降。原创 2025-02-18 18:29:12 · 128 阅读 · 0 评论 -
大模型:精度调试
大语言模型的成功证明了增大神经网络的参数规模能够提升模型性能,但同时也增大了对加速器内存、算力及通信传输带宽的要求。为了减少内存占用加快收敛速度,大模型训练往往采用16位半精度浮点格式,例如float16或者bfloat16。大量实验已经证明可以使用半精度浮点数训练大模型,也不会对模型性能带来显著影响,相反低精度计算作为正则化的一部分,反而能够给模型泛化能力带来好处。但目前低精度训练对模型的统计学影响也并不那么清晰,所以整个训练过程单纯使用低精度浮点运算非常具有挑战性。原创 2025-02-12 16:16:43 · 172 阅读 · 0 评论 -
深入解析TRL模型:Hugging Face的强化学习Transformer语言模型
TRL(Transformer Reinforcement Learning)是由Hugging Face推出的一款创新性语言模型,它巧妙地融合了深度学习与强化学习的技术优势,旨在通过动态的学习机制来增强模型的语言理解和生成能力。本文将深入探讨TRL模型的工作原理,并通过具体的代码示例展示其在实际应用中的强大功能。在当今的人工智能领域,Transformer架构与强化学习技术分别代表了自然语言处理与决策制定过程中的两大重要突破。原创 2025-02-11 21:33:52 · 657 阅读 · 0 评论 -
从零实现LLM-RLHF(LLM-RLHF-Tuning)【支持指令微调Alpaca模型;支持训练Reward模型;支持PPO算法训练RL模型】
sft模型:阶段1训练的有监督微调模型,作为策略模型的基线模型,在整个训练过程中参数固定不变,用于限制策略模型πθRL更新幅度,防止策略模型训练偏差过大rm模型:阶段2训练的奖励模型,在PPO训练过程中给生成的序列进行打分,在整个训练过程中参数固定不变。actor模型:策略模型,π(at|st,θ)根据状态 st 生成动作 at ,训练目标是最大化序列价值。critic模型:价值模型, Vϕ(st) 根据状态 st 进行打分,训练目标是打分更精准接近rm模型给的打分,估计折扣奖励更精准。原创 2025-02-11 18:34:06 · 181 阅读 · 0 评论 -
一文搞懂SFT、RLHF、DPO、IFT【LLM 微调的进化之路】
可是,随着训练的进行,LLMs 会逐渐偏离它自己最开始的偏好,损失函数又会错误地估计 LLMs 当前的能力(和上文中的 PT 和 SFT 类似),进而导致不理想的训练结果。,使模型依照自己上一步的预测结果再多预测一步,近似地构建了 LLMs 对于指令的完整回复,更准确地估计了 LLMs 的偏好,从而获得更好的训练结果。DPO 融合了打分模型和策略模型的训练过程,因此只需要标注过偏好的数据、参考模型和策略模型,就可以使 LLMs 直接对齐人类的偏好,极大地减轻了训练时对计算资源的消耗。原创 2025-02-11 12:34:44 · 350 阅读 · 0 评论 -
新手必看:从零起步,一步步教你如何训练自己的大型模型——完整教程大揭秘!
ChatGPT面世以来,各种大模型相继出现。那么大模型到底是如何训练的呢,在这篇文章中,我们将尽可能详细地梳理一个完整的 LLM 训练流程,包括模型预训练(Pretrain)、训练、指令微调(Instruction Tuning)等环节。原创 2025-02-09 17:11:21 · 251 阅读 · 0 评论 -
HAI Platform:开源的 AI 训练平台
High-Flyer May 11, 2023当下 AI 大模型如火如荼的发展,许多厂商开始构建起基于 GPU 的大规模深度学习训练集群。随着算力需求的扩大,一个能对 GPU 资源进行统一高效利用的 AI 平台,越来越成为各 AI 团队降本提效的重要武器。构建一个能管理大规模 GPU 集群资源的 AI 平台,主要会遇到如下几个痛点问题:针对上述问题,幻方 AI 在自建的萤火集群上进行多年的研发与测试,积累了一套高效管理 GPU 集群资源的 AI 训练平台方案,名叫 HAI Platform。其以任务级原创 2025-01-27 13:34:42 · 362 阅读 · 0 评论 -
跟代码执行流程,读Megatron源码(二)训练入口pretrain_gpt.py
trochrun是PyTorch官方推荐用于替代torch.distributed.launch的分布式数据并行训练模块。它旨在提供一种更灵活、更健壮的方式来启动和管理分布式训练任务。原创 2024-12-24 17:35:56 · 330 阅读 · 4 评论 -
TP、PP、DP、集群GPU卡数、grad_accum_steps之间关系【DP=集群中GPU卡总数world_size/(TP*PP)】【grad_accum_steps=gbz/(mbz*DP)】
【代码】TP、PP、DP、grad_accum_steps之间关系【DP=集群中GPU卡总数world_size/(TP*PP)】原创 2024-03-24 06:35:39 · 1196 阅读 · 0 评论 -
大模型训练之难,难于上青天?预训练易用、效率超群的「李白」模型库来了!(1)
但是,DeepSpeed 还不支持模型并行,当模型某些层的参数大到超过了单个 GPU 的显存,或是使用 DeepSpeed 的切分方式导致的通信效率不是最优时,最好还是使用模型并行(Tensor 并行、流水并行),此时,只能结合 Megetron-LM 加上侵入原代码的改造来满足需求。(注:本组均为 num layers = 24,均开启 amp,开启 activation checkpointing, micro-batch size = 128,grad acc step = 8)原创 2024-03-24 05:40:26 · 227 阅读 · 0 评论 -
[学习代码]基于NVIDIA NeMo来做peft (1)
这个词典会保存'state_dict' 这个key,以及对应的value,也是个OrderedDict()。原创 2024-03-07 00:21:24 · 206 阅读 · 0 评论 -
大模型科研新方法:无需训练大模型即可预知大模型表现
智源研究院认知与数据团队提出了Mu-scaling:一种基于最大更新参数化(Maximal Update Parametrization, MUP)的损失预测方法。该方法通过MUP放缩规则,生成一组宽度不同的模型序列,借助小模型的损失(loss)值直接预测大模型的损失。实验证明,对于超参数空间中的损失低谷(loss basin),模型损失与参数规模的关系可以精确拟合为幂律。该方法可直接确定大模型训练所应使用的部分超参数,不需要重新搜索。基于该发现,。这一特性预示了大模型时代一种新的科研范式。原创 2024-03-06 01:23:00 · 319 阅读 · 0 评论 -
Huggingface Accelerate文档:超大模型推理方法
上面的代码对于一些一般大小的模型加载是没有问题的(一般是20亿参数以下的模型,当然和你使用的机器有关),但是对于很大的模型,上面的操作步骤就是有问题的。如果加载一个有60亿参数的模型,需要消耗24GB的内存,整个步骤完成需要消耗48GB的内存(如果使用FP16数据类型,则需要24GB内存)。如果你的模型太大,使得无法加载到内存中。当读者没有足够GPU显存来加载完整的模型(因为都会按照先占满GPU显存,再占满CPU/内存资源,最后占据硬盘的顺序来完成模型加载),上面所有的选项得到的层和设备对应结果将会相同。原创 2024-03-06 01:20:44 · 305 阅读 · 0 评论 -
利用device_map实现多卡训练:model = AutoModelForCausalLM.from_pretrained(model_name, device_map=‘auto‘)【取代DP】
【代码】利用device_map实现多卡训练:model = AutoModelForCausalLM.from_pretrained(model_name, device_map='auto')【取代DP】原创 2024-03-06 01:15:56 · 3697 阅读 · 0 评论
分享