- 博客(19)
- 收藏
- 关注
原创 【深度长文】RLHF 算法全景解析:从 PPO 到 DPO/GRPO 的范式革命
本文围绕 LLM 训练的 PPO、DPO、GRPO 三种算法展开,以 PO 统一视角解析核心逻辑,对比各算法组件、显存压力等差异。
2025-11-24 18:00:24
691
1
原创 FP32/FP16/BF16/FP8...一文搞懂大模型数据类型变迁
摘要:大语言模型的数据类型选择直接影响训练效率与推理性能。FP32因显存占用过高逐渐被替代;FP16虽提速但易下溢,需混合精度训练;BF16凭借与FP32相同的数值范围成为当前训练主力;FP8因高效计算成为推理新宠;整数类型(INT8/INT4)适合资源受限场景。未来趋势是动态混合精度,根据模型层级的敏感度差异化选择数据类型,在精度与效率间寻找最优平衡。数据类型演变反映LLM“效率优先”的发展逻辑。
2025-11-06 20:45:15
1025
原创 解读DeepSeek-V3.2-Exp:基于MLA架构的Lightning Index如何重塑长上下文效率
DeepSeek-V3.2-Exp中的Lightning Index,为长上下文LLM的效率优化提供了一个“精准且轻量”的新范式。效率与性能的平衡:通过代码中“少头+FP8+KL对齐”的设计,在大幅降低计算成本的同时,保持了模型的任务性能;架构兼容性:深度适配MLA的MQA模式,无需重构现有模型,为已有长上下文模型的效率升级提供了可复用的方案;落地实用性:基于真实GPU集群的优化代码(如TileLang核函数、分布式并行),使推理成本降低的效果可直接转化为业务价值。动态调整index_topk。
2025-10-04 23:58:02
1002
原创 Stanford CS336 | Assignment 2 - FlashAttention-v2 Pytorch & Triotn实现
算法层面:理解了分块计算和LogSumExp技巧如何将注意力的显存复杂度从O(T²d)降至O(Td),为处理长序列(如8k、16k)提供了可能;工程层面:掌握了Triton框架的核心用法——通过块指针高效访问内存、利用共享内存减少全局内存访问、设计合理的分块策略适配GPU硬件;性能层面:验证了FlashAttention在长序列场景下的显著优势,为Transformer模型的工程落地提供了关键优化手段。扩展方向支持多头注意力的融合计算(当前版本为单头,多头可通过维度拆分实现);
2025-09-13 19:02:50
1028
1
原创 Stanford CS336 | Assignment 1 - Transformer Language Model Architecture
本文介绍了基于Transformer的语言模型实现细节,重点剖析了核心组件与训练流程。主要内容包括: 模型架构:采用仅解码器的Transformer结构,包含RoPE位置编码、RMSNorm归一化和SwiGLU前馈网络等现代设计。 关键组件实现: 基础层:无偏置线性层、词嵌入层和RMSNorm归一化 注意力机制:旋转位置编码(RoPE)增强位置感知 前馈网络:SwiGLU激活函数提升表达能力 训练支持: 自定义AdamW优化器 学习率调度和梯度裁剪 断点续训功能 该实现从底层构建了完整的Transforme
2025-09-13 18:36:50
1290
原创 Standford CS336 | Assignment 1 - Implementing the tokenizer
本次作业的核心任务是实现一个Tokenizer类,该类基于训练得到的词汇表(vocab)和合并规则(merges),能够将文本编码为整数 ID 序列,以及将整数 ID 序列解码为文本。同时,需要支持用户提供的特殊符号。编码(encode):将输入的文本字符串转换为 token ID 列表。过程需先进行预分词,再应用 BPE 合并规则。解码(decode):将 token ID 列表转换为文本字符串。对于无效的 token ID,需用 Unicode 替换字符(U+FFFD)处理。支持从文件加载:实现。
2025-07-11 17:01:07
927
1
原创 Stanford CS336 | Assignment 1 - BPE Tokenizer Training 实现
本次任务目标是在 TinyStories 数据集上训练一个字节级 BPE 分词器。如图所示,需要完成函数train_bpe。初始化:以所有可能的字节(0-255)作为初始词汇表;预处理:将文本分割为初始令牌(字节序列);合并:统计所有字节对的频率,合并最频繁的对并更新词汇表,重复此过程直至达到目标词汇量。
2025-07-10 14:07:19
1503
6
原创 大模型(LLM)微调方法分类框架
大模型微调方法可以按照多个维度进行分类。以下是一个系统化的分类框架,结合技术原理、应用场景和资源需求,帮助你理解不同方法的定位和特点
2025-03-10 08:00:00
856
原创 大模型解码策略详解:top-k、top-p与temperature
在大模型中,top-k和top-p(核采样)是两种常用的解码策略参数,用于控制生成文本的多样性和随机性。
2025-02-28 11:31:17
1048
原创 一杯咖啡的时间学习大模型(LLM):LLaMA解读之分组查询注意力(Grouped Query Attention)
一文读懂LLaMA核心架构之分组查询注意力(Grouped Query Attention)
2025-02-14 11:31:12
1338
原创 一杯咖啡的时间学习大模型(LLM):LLaMA解读之均方根误差标准化RMSNorm(含代码实现)
一文读懂LLaMA核心架构之均方根误差标准化RMSNorm(含代码实现)
2025-02-13 22:35:39
1373
原创 一杯咖啡的时间学习大模型(LLM):LLaMA解读之旋转编码RoPE(含代码实现)
一问搞懂LLaMA的架构之旋转编码(RoPE, Rotary Position Embedding)
2025-02-13 22:01:09
920
1
原创 【Linux基础】关于Linux Shell中参数的引用(双引号““、反斜杠)的疑难杂症
通过上面的分析,我们可以总结出以下几点关键概念:双引号:当你使用双引号引用变量时,Shell 会保留其中的空格、换行符和其他特殊字符的格式,不会对它们进行修改。变量引用($b):当你引用变量时,Shell 会自动将其中的换行符替换为空格,除非你使用双引号来保留格式。转义字符(\n):在双引号中,\n只是普通的字符序列,除非使用-e选项启用解析,才会被解释为换行符。
2024-11-26 02:30:51
1054
原创 深度学习基本功——自动微分的正向模式与反向模式:理解JVP与VJP
刚才介绍的JVP、VJP是不是听上去感觉和正向、方向模式似乎有些关系?没错!正向模式对应于利用 JVP来实现输出向量(所有输出)对单一参数的求导。特别的,正向模式适用于输入维度较小的情况,因为它可以有效地逐步计算出每个输入对输出的影响,从而得到雅可比矩阵的每一列。反向模式则对应于利用 VJP 来实现输出的某个分量对参数向量(所有参数)的求导。在这一模式下,我们从输出出发,计算输出变化相对于输入变化的灵敏度,使用雅可比矩阵的转置与输出变化的向量相乘。
2024-10-23 03:15:48
2398
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅