- 博客(19)
- 收藏
- 关注
原创 「大模型应用」(2)RAG的检索与rerank
不是把整个句子编码成一个向量,而是保留每个词的向量查询的每个词,可以独立去“查找”文档里最相关的词维度密集检索稀疏检索多向量检索输入表示单向量[CLS]每词一个 scalar 权重每词一个 token 向量匹配方式句子整体匹配关键词重合匹配token-token 对齐匹配精度中高(关键词匹配准)高(语义细粒度)速度快中慢可解释性中高中检索效果好(适合语义召回)好(适合专业问答)很好(适合复杂文本匹配)
2025-07-16 17:21:48
1016
原创 「大模型应用」(1)MCP详解
Anthropic推出的MCP协议解决了AI Agent开发中Function Calling的痛点,通过统一规范简化工具调用流程。MCP采用客户端-服务器架构,提供资源、工具、提示词三种核心能力,支持本地和分布式通信。相比传统方式,MCP减少了重复开发,实现了标准化接口,提高了多人协作效率。开发环境使用uv工具管理依赖,并通过实战示例展示了基础客户端实现和OpenAI集成。MCP将Function Calling作为工具接口层,构建了完整的智能流程平台,为Agent开发带来显著效率提升。
2025-07-08 16:31:00
856
原创 「大模型学习」(14)Long Context之线性插值、NTK-aware、Yarn、LongRoPE
大语言模型长上下文扩展中的位置插值技术 摘要:为解决大语言模型(LLMs)在推理阶段扩展上下文窗口时的位置编码限制,研究人员开发了一系列位置插值技术。这些方法主要针对旋转位置编码(RoPE)机制,通过不同策略调整位置索引以适应超出训练长度的上下文。典型方法包括:基础位置插值(PI)均匀缩放位置索引;NTK-aware插值对不同频率维度差异化处理;NTK-by-parts插值根据波长分段调整;Yarn插值结合温度调节;以及LongRoPE采用非均匀插值策略。这些技术在不修改模型结构的前提下,通过调整位置编码的
2025-06-21 11:19:33
969
原创 「大模型学习」(13) DeepSeek-GRPO原理
GRPO是一种改进的强化学习算法,其目标函数结合了PPO的思想并引入组内归一化奖励。该算法还保留了PPO的策略比率裁剪机制和KL散度正则项,以控制策略更新幅度。相较于PPO,GRPO无需额外训练奖励模型,直接利用组内相对评分构建优势函数,更具实用性和部署便利性。优化流程包括采样、组内评分归一化、策略比率计算和带裁剪的目标函数优化等步骤。
2025-06-18 19:48:03
729
原创 「大模型学习」(12)从0开始到DeepSpeed ZeRO
摘要:本文介绍了深度学习中的Adam和AdamW优化器原理及差异,重点分析了训练过程中模型参数、梯度和优化器状态的显存占用问题。Adam优化器结合动量与自适应学习率,需要维护一阶和二阶动量,导致显存开销翻倍。DeepSpeed的ZeRO技术通过分片存储优化器状态、梯度和参数,可显著降低显存占用,其中Stage 3模式可节省90%以上显存,使大模型训练成为可能。文章详细比较了不同ZeRO阶段的显存节省效果,为大规模模型训练提供优化方案。
2025-06-18 15:04:16
997
原创 「大模型学习」(11)kv cache与vllm详解,一文读懂!
Key(键):表示上下文的特征。Value(值):表示上下文的内容。Query(查询):表示当前 token 的查询向量。AttentionQKVsoftmaxQKTdkVAttentionQKVsoftmaxdkQKTV),每次生成一个新 token(比如下一个词),模型会再次查看之前的所有K和V,以计算当前 token 的注意力。问题:每次都重新计算之前的 K/V 很浪费!项目维度(简化)含义Q当前 token 的查询向量。
2025-06-16 16:43:45
1897
1
原创 「大模型学习」(10)LLM的量化(GPTQ、LLM.int8()、AWQ)不信你学不会!
本文介绍了神经网络模型量化技术及其应用。量化通过降低模型精度(如INT8/INT4)来减少存储和计算开销,提升推理速度。量化对模型精度影响较小的原因包括权重归一化、激活函数平滑误差以及分类任务对绝对值不敏感。文中对比了两种量化方法:PTQ(后训练量化)和QAT(量化感知训练),重点讲解了PTQ的四种代表性方法:ZeroQuant(块级重构与混合精度量化)、LLM.int8()(混合精度处理激活离群值)、SmoothQuant(通过缩放因子平衡数值范围)以及GPTQ(基于OBQ的逐层误差优化)。这些技术为大模
2025-06-11 21:30:00
1115
原创 「大模型学习」(9)大模型中的SFT(包括lora、Qlora)超详细!
本文介绍了四种大模型高效微调技术: LoRA(低秩适应):通过添加低秩矩阵微调关键层,显著减少参数量(0.1%~1%),效果接近全量微调; AdaLoRA(自适应LoRA):动态调整各层秩值,利用SVD分解识别重要维度进行选择性微调; QLoRA(量化LoRA):结合4-bit量化、二次压缩和分页优化器,极大降低显存需求(可GPU/CPU切换); Adapter(适配器):在模型层间插入小型MLP模块,仅训练这些附加结构。所有方法均保持原模型冻结,通过不同策略实现参数高效微调,有效解决大模型全参微调的高成本
2025-06-10 10:50:17
1003
原创 「大模型学习」(8)embedding之bge讲解
双编码器结构使用两个独立或共享权重的编码器分别对查询(Query)和文档(Document)进行编码,得到各自的向量表示,然后通过向量间的相似度(如余弦相似度、点积)来判断相关性。稀疏嵌入模型模仿传统信息检索(如 TF-IDF、BM25)的方法,将文档和查询编码为高维稀疏向量,通常每一维代表一个 token 或 n-gram 的重要性。文本 → 稀疏权重向量,如词项权重(类似 TF-IDF)向量中大部分为 0,仅部分 token 激活。
2025-06-09 10:58:40
938
原创 「大模型学习」(7)Normalization(归一化)详解
在深度网络中,每一层的输入分布如果不断发生变化,会使得网络在训练过程中不断需要适应新的分布,这种现象被称为内部协变量偏移。Normalization 技术的引入,正是为了减少这种偏移带来的训练困难。方法是否去均值是否使用方差是否学习缩放是否学习偏移是否依赖 batch应用场景BN✅✅✅✅✅CNN,图像分类LN✅✅✅✅❌IN✅✅✅✅❌图像风格迁移GN✅✅✅✅❌小 batch 图像任务RMSNorm❌✅(平方均值)✅❌❌。
2025-06-03 21:16:31
1151
原创 「大模型学习」(6)大模型分布式训练技术-数据并行DP,DDP,deepspeed
摘要:随着大模型参数规模剧增,分布式训练成为突破显存和计算瓶颈的关键技术。其核心挑战包括通信效率、负载均衡和显存优化。分布式训练主要分为数据并行(DP)、流水并行(PP)、张量并行(TP)和上下文并行(CP)四种方式。数据并行实现简单但显存冗余高,分布式数据并行(DDP)通过Ring All-Reduce同步梯度提高效率。DeepSpeed ZeRO技术通过分片优化器状态、梯度和参数大幅节省显存,分为三个阶段逐步提升优化效果。ZeRO-3虽内存占用最低但通信成本较高,后续改进版本进一步优化通信和存储效率。
2025-05-27 15:43:13
897
原创 「大模型学习」(5)Decoding方法详解
**解码(Decoding)**是语言模型根据概率分布选择输出词的过程,平衡生成文本的准确性与多样性。常见解码策略包括: 贪婪搜索(Greedy Search):每一步选最高概率词,简单但易单调且错误累积。 集束搜索(Beam Search):保留多条候选路径,提升全局最优性,但计算复杂度高。 Top-k抽样:从前k个高概率词中随机选择,增加多样性但需调参。 Top-p抽样(核采样):动态选择累计概率≥p的最小词集,适应性强。 温度调节(Temperature):缩放概率分布,控制生成保守(低温)或随机(高
2025-05-25 15:19:33
770
原创 「大模型学习」(2)一文看懂大模型中的tokenizer
本文介绍了自然语言处理中文本如何转化为模型可理解的“语言”过程,重点探讨了Tokenizer的分类及其主流算法。首先,文本通过Tokenizer被切分成最小语言单元并映射为数字编号,再通过Embedding层转化为向量输入模型。Tokenizer主要分为三类:基于词、基于字符和基于子词的分词器,其中基于子词的分词器(如BPE、WordPiece、Unigram)因其兼顾词与字符的优点,成为主流。文章详细解析了BPE、WordPiece和Unigram三种算法的原理、步骤及优缺点,并介绍了Google开源的S
2025-05-22 10:56:40
1148
原创 「大模型学习」(1)一文看懂pre-norm和post-norm
Pre-Norm和Post-Norm是深度学习中两种常见的归一化策略。Pre-Norm在每一层的输入前进行归一化,其特点是训练速度快、梯度传播平稳,但深层模型容易出现信息堆叠重复,导致有效深度打折扣。Post-Norm则在每一层的输出后进行归一化,虽然训练难度较大,但能实现特征逐层深化,最终性能更强,尤其在微调阶段表现更优。总体而言,Pre-Norm更注重工程实用性,而Post-Norm则更强调结构表达力。
2025-05-21 20:54:00
938
1
原创 【python算法题】(2)二分查找算法与示例讲解
二分查找是一种在有序数组或区间中高效定位目标值每次将搜索范围减半,不断缩小目标位置,直到找到目标或搜索区间为空。应用场景示例数组查找在有序数组中查找目标值插入位置查找某元素插入位置(二分下界)判定性问题能否完成任务/满足限制(如最小最大值)数学函数对单调函数求零点或极值最小化最大值类问题分糖果、装载货物、割木头等二分查找作为算法中的“黄金工具”,其核心价值不只在查找,更广泛用于对“单调性问题”进行最优值搜索。掌握它的本质——在有序或单调空间中二段性收敛,能够帮助你高效应对诸多高频问题。
2025-05-14 11:49:20
752
原创 【python算法题】(1)贪心算法与示例讲解
贪心算法通过局部最优解逐步推导出全局最优解,适用于问题能够通过眼前最优达到全局最优且无反例的情况。文章通过三个实例展示了贪心算法的应用:1. 买股票的最佳时机,通过记录历史最低股价和计算每日最大利润来确定最佳交易策略;2. 跳跃游戏1,通过更新最大跳跃距离来判断是否能到达数组末尾;3. 跳跃游戏2,通过记录最大跳跃距离和更新跳跃次数来找到到达数组末尾的最小跳跃次数。这些实例展示了贪心算法在解决特定问题时的有效性和实用性。
2025-05-14 11:24:39
652
原创 【C++】(1)C++ 中的 `std::set` 使用指南
/ 自定义比较函数// 使用自定义比较函数的 set// 输出: kiwi apple banana cherry (按长度排序)return 0;
2025-04-10 17:06:34
499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人