自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(222)
  • 收藏
  • 关注

原创 RNN/LSTM/GRU/Transformer

但是同样会有一些更加复杂的场景。比如我们试着去预测“I grew up in France...I speak fluent French”最后的词“French”。当前的信息建议下一个词可能是一种语言的名字,但是如果我们需要弄清楚是什么语言,我们是需要先前提到的离当前位置很远的“France”的上下文。这说明相关信息和当前预测位置之间的间隔就肯定变得相当的大。不幸的是,在这个间隔不断增大时,RNN会丧失学习到连接如此远的信息的能力。

2025-09-10 14:04:43 324

原创 常用优化器及其区别

优化器即优化算法是用来求取模型的最优解的,通过比较神经网络自己预测的输出与真实标签的差距,也就是Loss函数。为了找到最小的loss(也就是在神经网络训练的反向传播中,求得局部的最优解),通常采用的是梯度下降(Gradient Descent)的方法,而梯度下降,便是优化算法中的一种。根据损失函数计算得到的误差结果,需要对模型参数(即权重和偏差)进行很小的更改,以期减少预测错误。简单来说,优化器可以优化损失函数,优化器的工作是以使损失函数最小化的方式更改可训练参数,损失函数指导优化器朝正确的方向移动。

2025-09-09 22:32:26 334

原创 针对不同任务如何选择损失函数?

乘一个人工设定的常数权重。

2025-09-09 16:44:14 418

原创 手撕LRU(最近最少使用)

【代码】手撕LRU(最近最少使用)

2025-09-09 13:01:37 104

原创 手撕交叉熵(二分类简化版)

【代码】手撕交叉熵(二分类简化版)

2025-09-08 22:27:50 109

原创 手撕交叉熵

【代码】手撕交叉熵。

2025-09-08 16:49:59 112

原创 全网最全 and 最易理解 手撕softmax函数

【代码】全网最全 and 最易理解 手撕softmax函数。

2025-09-08 14:04:33 122

原创 首创 全网最全+最易理解 手撕多头注意力(MHA)

【代码】手撕多头注意力(MHA)

2025-09-08 11:34:53 142

原创 训练一个7b模型要占用多少显存,不同zero阶段能节省多少显存?

2025-08-26 16:36:37 136

原创 PPO算法中马尔可夫决策过程起到什么作用?是否是必要的?可以用什么方法替代?

2025-08-26 15:37:16 102

原创 什么是旋转位置编码?解决了什么问题?为什么?

2025-08-26 14:43:01 104

原创 计算attention时候为什么要除以根号dk,还有哪些scale处理?

2025-08-26 11:40:39 127

原创 项目中怎么做的多任务学习,有用到经验回放吗?

1 前言(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,也就是系统的输出为实数的情况。复杂的学习问题先被分解成理论上独立的子问题,然后分别对每个子问题进行学习,最后通过对子问题学习结果的组合建立复杂问题的数学模型。

2025-08-26 11:18:38 679

原创 大模型灾难性遗忘是什么?怎么解决的?

3)[7]从另一个角度来约束参数的变化,文中认为参数是一个概率分布,只要在这个分布的核心地带,对于该任务就是可行的,不同的任务对应不同的概率分布,如果能找到两个分布重叠的部分,并将参数约束到这个区域,那么这一参数不就可以对这些任务都有效吗,这类方法被称之为Transfer Techniques法[7]。我想强调的是,深度强化学习披上了强化学习利用机器人与环境交互的数据进行学习的外衣,让我们有种深度学习具备持续学习的能力,不存在灾难性遗忘的问题的错觉。你的每一个生物神经元都是生物组织和化学物质的有机结合。

2025-08-26 11:01:07 852

原创 GRPO改进

2025-08-26 09:06:16 92

原创 DPO(Direct preference optimization)

2025-08-25 16:42:07 85

原创 KL-散度 & 优势函数

2025-08-25 14:44:29 115

原创 PPO改进:Group Relative Policy Optimization(GRPO)

这是一种类似于PPO的强化学习算法,核心思想是通过限制策略更新的幅度,确保新策略与旧策略的差异不会过大,从而稳定训练)。

2025-08-25 11:48:12 150

原创 NLP 场景下的强化学习

2025-08-22 17:28:27 173

原创 RLHF的定义

如下图所示,利用人类偏好来拟合奖励函数,同时利用RL算法优化当前预测的奖励函数。在某些领域中,人类更擅长比较agent的性能而不是给出绝对的评分,这种比较也能学习到人类偏好。RLHF的定义首先由《Deep Reinforcement Learning from Human Preferences》提出,解决了强化学习中奖励函数怎么设计的问题。:依赖于人类设计的奖励函数,这在实际应用中往往非常困难且不够灵活,因为面临涉及复杂、定义不明确或难以指定的目标的任务时,很难定义奖励函数。用户给出反馈的成本不高。

2025-08-22 14:34:43 249

原创 PPO & GAE

这里的传统PPO指的是agent和环境进行交互(例如机器人),因此奖励也是环境即时给的,也就是每一个动作都会有一个奖励,不需要额外训练一个奖励模型。而之后的RLHF-PPO的奖励信号来源于人类反馈(例如对话生成任务),需要额外设计奖励模型(无论是基于规则的奖励还是用深度学习模拟),奖励往往是在序列结束时给出,并且在奖励中引入了额外的KL-散度限制。模型(对完整序列(如生成的文本)进行评分)。模型(用于约束策略模型输出,防止偏差)和。两个模型,而RLHF-PPO额外引入了。

2025-08-22 12:08:03 184

原创 了解deepseek-R1吗?介绍一下

2025-08-21 16:12:09 111

原创 Flash-Attention在实现上有哪些优化?

2025-08-21 15:32:45 138

原创 Deepseed Zero-1, Zero-2, Zero-3

DDP存在的问题:在N张卡进行训练,就需要存储N份模型、梯度和优化器参数。设模型参数量为M,采用全精度参数,则需要参数+梯度+优化器=(4+4+8)*M空间。:对优化器状态、梯度和模型参数全部进行分割,前向/反向传播时动态获取其他设备的参数分片(通过。Deepspeed则是在DDP的基础上,采用Zero分片策略。:仅对优化器状态进行分割,每个GPU中仍有完整的模型参数和梯度数据。:对优化器状态和梯度进行分割。

2025-08-21 10:22:01 358

原创 KV cache

由于解码器是因果的(即,一个标记的注意力仅取决于其前面的标记),因此在每个生成步骤中,我们都在重新计算相同的先前标记的注意力,而实际上我们只是想计算新标记的注意力。(例如,在 GPT 等仅解码器模型中,或在 T5 等编码器-解码器模型的解码器部分中)。BERT 等模型不是生成式的,因此没有键值缓存。唯一的缺点是它需要更多的 GPU 显存(如果不使用 GPU,则需要更多的 CPU 显存)来缓存键和值的状态。通过缓存之前的键和值,我们可以专注于计算新 token 的注意力。为什么这种优化重要吗?

2025-08-20 10:45:04 198

原创 多头注意力机制中的头数如何影响模型性能?如何选择合适的头数?

DeepSeek-V3 的注意力头数量设置为模型层数的两倍(128 个),但考虑到稀疏度 48 已经带来了较强性能,翻倍注意力头数带来的边际收益不足以抵消额外的推理开销,因此 Kimi K2 最终选择64 个注意力头。头多能增强模型表达能力,提高并行运算效率,但存在过拟合风险,并且很多头可能是无效的。头数设置参考qwen,llama等开源模型就行,要么就得自己做实验测试。

2025-08-20 10:09:45 317

原创 大模型参数如何影响模型的学习和优化?

Transformer参数量计算Transformer架构组成:多头注意力机制前馈神经网络层归一化残差连接

2025-08-19 22:48:28 347

原创 SwiGLU激活函数——从ReLU到SwiGLU

SwiGLU在计算中引入了门控机制,门控机制可以使用更软性的权重筛选有用的信息,并且梯度更平滑。

2025-08-19 20:26:36 181

原创 大模型如何通过人工指标来评估效果?有哪些常用的人工指标?

一、常用的大模型评价指标常用的大模型评测指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数(F1 Score)、ROUGE、Perplexity, BLEU等等,我们一一来解释这些指标是什么,适用于什么任务,以及这些指标是如何应用在评估任务中的。

2025-08-19 17:20:07 763

原创 LoRA微调时如何选择参数

一般来说,LoRA微调会集中在以下层:Attention层的查询、键、值和输出投影(q_proj, k_proj, v_proj, o_proj)

2025-08-19 14:52:01 1096

原创 Transformer时间复杂度分析

Transformer模型的时间复杂度主要由其核心模块自注意力机制和前馈神经网络决定,其中自注意力机制的计算复杂度占主导地位。

2025-08-19 11:02:12 186

原创 模型篇(Bert llama deepseek)

三阶段预训练通用基座:4 096 token 上下文,累积 30 万亿 token,构建语言与常识能力。推理强化:继续在 4 096 token 长度下追加 5 万亿 高质量 STEM/Code 样本,加速学习率衰减。长上下文扩容:采用,将窗口扩展至 32 768 token,训练数千亿 token。长 CoT 冷启动:先用 Qwen2.5‑72B-Instruct进行用户query筛选 提升样本质量与多样性,再用QwQ-32B生成候选响应。推理 RL(GRPO):选取多样且困难的问题,使用GRPO。

2025-07-14 12:54:00 853

原创 Agent篇

记忆模块是智能体存储内部日志的关键组成部分,负责存储过去的思考、行动、观察以及与用户的互动。短期记忆关注于当前情境的上下文信息,是短暂且有限的,通常通过上下文窗口限制的学习实现。长期记忆储存智能体的历史行为和思考,通过外部向量存储实现,以便快速检索重要信息。混合记忆-通过整合短期和长期记忆,不仅优化了智能体对当前情境的理解,还加强了对过去经验的利用,从而提高了其长期推理和经验积累的能力。

2025-07-13 21:22:08 655

原创 Rerank模型

使用,将用户查询和文档拼接起来,交给Transformer编码器,能更好的建模两者之间的语义关系。一般都采用多阶段训练的方式,逐步扩充上下文长度。损失函数大多采用InfoNCE损失,并在对比学习中加入难负样本,增强模型的鲁棒性。为了加速训练和节省显存,可能采用deepspeed、混合精度训练、激活检查点、动态批次划分等技术。在性能上,使用了Rerank模型后的精度往往更高。

2025-07-13 19:43:18 952

原创 RAG篇(RAG的流程)

GraphRAG 不使用非结构化的文本,而是利用知识图谱,利用图结构捕捉数据中的实体、关系及复杂依赖,从而更高效地检索相关信息并生成准确答案。GraphRAG 的一大特色是利用图机器学习算法针对数据集进行语义聚合和层次化分析,因而可以回答一些相对高层级的抽象或总结性问题, 这一点恰好是常规 RAG 系统的短板(例如:用户提问一个问题,需要全局搜索整个数据集,而不是搜索相似性片段,在这种场景下rag性能比较差)。

2025-07-13 19:15:35 1274

原创 大模型推理

信息熵与复杂度:模型在训练时,loss降低,在这个过程中模型追求更低的熵,对于那些复杂度较高、句式不常见的输入/已生成文本,模型更难以预测下一个合适的词,因此更有可能从已有的预测中选择最匹配的词,进而造成重复。贪心解码导致的自我强化效应:greedy decoding策略会基于已有的输入tokens选择下一个概率最大的token,随着重复token的生成,模型会产生概率增强效应(self-reinforcement),即一旦某个词或短语被解码生成,其后续出现的概率会增加,导致连续重复的概率单调递增。

2025-07-13 12:17:57 643

原创 过拟合 & 跷跷板 & 幻觉 & 混合精度

在模型训练过程中,某些优化策略可能在提升模型在特定任务上的性能的同时,牺牲了模型在其他任务上的性能。还有一种最近比较流行的思路是集成知识图谱,就是graphrag,即不再局限于向量数据库的匹配,做召回时不仅考虑文档块,同时还考虑图谱的三元组,将只是图片集成到RAG中,通过利用知识图谱中结构化且相互关联的数据,可以显著增强RAG系统的推理能力。想要解决幻觉问题,首先要搞清楚幻觉的来源,在准备数据的过程中、模型训练的过程中、模型推理的过程中都可能产生幻觉。当模型训练完毕后,保存的也是它。

2025-07-12 22:33:31 762

原创 大模型量化相关

它的做法是:在前向计算时只保存一部分关键的中间结果(激活值),等到反向传播时再重新计算这些值,以此来减少内存使用。显存峰值:反量化后的权重会短暂占用与原始精度相同的显存(如8B参数在FP16下仍需16GB)。:这是基础开销,取决于参数量和数据精度。示例:8B模型的FFN层若用8-bit量化,可节省~8GB显存(假设50%参数量化)。存储(而非量化格式),以便数值稳定性和优化器更新,因此梯度显存占用与未量化时相同。混合精度下,优化器状态(如Adam的动量/方差)仍需FP32,无法节省显存。

2025-07-12 19:15:35 801

原创 Flash Attention & 分布式训练

DP在多个GPU上复制模型,模型的参数存储在主GPU上,主GPU负责将模型参数广播到其他GPU上,多个GPU计算得到的梯度在主GPU上汇总,然后更新模型参数。在最后的阶段,模型的所有参数也会被分布到各个 GPU 上,这样每个 GPU 只保存一部分参数,从而显著节省显存。通过将大矩阵 的计算拆分为小块来进行,每次只计算和存储一个小块的内容,每次计算都在 SRAM 中存放需要的部分数据,从而最大限度地减少对 HBM 的访问。DDP不仅支持单机多卡,还支持跨多节点的分布式训练,非常适合大规模训练任务。

2025-07-12 14:58:55 317

原创 GRPO & PPO

GRPO的核心思想是通过组内相对奖励来优化策略模型,而不是依赖传统的批评模型(critic model)。具体来说,GRPO会在每个状态下采样一组动作,然后根据这些动作的相对表现来调整策略,而不是依赖一个单独的价值网络来估计每个动作的价值。这种方法的优势在于:减少计算负担:通过避免维护一个与策略模型大小相当的价值网络,GRPO显著降低了训练过程中的内存占用和计算代价。提高训练稳定性:GRPO通过组内比较来估计优势函数,减少了策略更新的方差,从而确保了更稳定的学习过程。

2025-07-12 14:30:02 506

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除