
LLM
文章平均质量分 76
灵海之森
一剑霜寒十四州
展开
-
MLA(多头潜在注意力)原理概述
注意力机制的发展经历了MHA,MQA,GQA,MLA。时间复杂度:MHA为O(n²),MQA、GQA、MLA通过优化降低至O(n)原创 2025-04-19 18:28:30 · 930 阅读 · 0 评论 -
PG,TRPO,PPO,GRPO,DPO原理梳理
Policy Model(Actor Model):根据输入文本,预测下一个token的概率分布,输出下一个token也即Policy模型的“动作”。该模型需要训练,是我们最终得到的模型,并由上一步的SFT初始化而来。Value Model(Critic Model):用于预估当前模型回复的每一个token的收益。接着,还会进一步计算累积收益,累加每一个token的收益时不仅局限于当前token的质量,还需要衡量当前token对后续tokens生成的影响。原创 2025-04-19 17:38:06 · 972 阅读 · 0 评论 -
deepseek-R1架构和训练流程总结
deepseek-R1是对open ai o1的开源复现路径之一,非常火热,实际使用也是碾压o1。这带来了新的用户使用范式,以往用户都期望大模型能够快速返回结果,超过十几秒就无法忍受。但R1的到来使得普通用户都非常乐意看到大模型等待几分钟再回答的情况。记得o1刚出来时,都再猜是怎么实现的,我接触到的观点是将COT数据放在了模型内部的强化学习上,使用强化学习迫使模型内部产生思考。本文将介绍训练和测试的scaling laws,奖励学习的两种reward方式,deepseek-r1的实现流程等。原创 2025-02-27 00:28:48 · 575 阅读 · 0 评论 -
mlp的两种实现:FFN和GLU
【代码】mlp的两种实现:FFN和GLU。原创 2025-02-26 00:39:29 · 202 阅读 · 0 评论 -
MOE结构解读和deepseek的MoE结构
MoE将dense的FFN层修改为了一个门控网络和多个小型FFN,在处理输入时,由门控网络选择激活最相关的top_k个FFN,将输出进行加权求和,得到MoE层的输出。目的是通过多个专家网络来提高模型的表达能力和性能。原创 2025-02-26 00:16:36 · 617 阅读 · 0 评论 -
InternLM-XComposer2.5-OmniLive解读:语音和视频实时交互的新方向
该系统为实时处理多模态信息提供了新的思路,至少可行性没问题。但是看文章显示延迟是个问题,因为里面涉及到很多模块交互。未来的改进点:1.编码器优化:选择垂直领域的编码器,提升视频和音频理解能力。2.多模态的长期记忆模块:这方面是核心。可以参考mem0将视频和音频记忆存储到多模态知识图谱中,还有针对每个用户的键值数据库,向量数据库,图形数据库等。这样才能更为个性化,增强可用性。原创 2024-12-22 16:41:25 · 793 阅读 · 0 评论 -
LLM:一个小型搜索agent的实现
agent就是给大模型加上外部系统,能跟环境交互。所以叫智能体,能够根据外部系统的输入修改自身状态。3.大模型参考提示词给出符合模版的回复,比如action是什么,目标函数所需的参数等。本文实现了基于deepspeek大模型的谷歌搜索agent。5.上述结果就是观察到的结果,作为助手消息添加到消息记录中。4.从回复中解析出这些,定位到特定工具函数,执行得到结果。1.前置准备:谷歌搜索工具函数,系统提示词模版。6.再次调用大模型,得到生成后的结果。2.用户输入query。原创 2024-12-03 22:54:58 · 1108 阅读 · 0 评论 -
LLM:模拟o1的思维链实现
4.将回复追加到消息列表,继续发送,拿到第二次思考结果。如此反复,直到生成最终答案,或者达到迭代次数。2.组装消息列表,包括系统提示词(关键),用户消息,助手消息(模拟回应的格式,引导后续正常生成)3.将消息列表发送给大模型,拿到回复,这时是第一次思考,大概率是解析写纲要的阶段,可以参考上述项目的提示词,是精心迭代后的,大部分情况都能适应。再看原生模型的回答,没有从数学逻辑上来计算,得到了错误的答案。5.让大模型根据上述思维链结果总结,生成最终的回复。OK,可以看到,思维链推导后是正确的。原创 2024-12-03 22:19:30 · 485 阅读 · 0 评论 -
大模型应用于推荐系统:《Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond》
假设我们有一个电子商务网站,需要为用户推荐商品。传统的推荐系统可能会依赖于用户的历史购买记录和商品的属性(如价格、类别等)。然而,这些信息可能不足以捕捉到用户的深层次偏好。假设我们正在开发一个新闻推荐应用,目标是向用户推荐他们可能感兴趣的新闻文章。原创 2024-11-14 12:29:22 · 474 阅读 · 0 评论 -
关于transformers的八股
RLHF是最大化sample出来的整个序列在奖励模型(reward model)上的得分,最终会落到字粒度的调节(也就是优化每个单个时间步的决策),在每个时间步追求的是后续n步期望回报的最大化,每个时间步的loss有不同的权重。(是指如果两个token在句子1中的相对距离为k,在句子2中的相对距离也是k,那么这两个句子中,两个token之间的相关性应该是一致的)1.策略模型:策略网络是需要优化的目标模型,它通过增加偏好样本的概率和减少非偏好样本的概率,直接对齐人类偏好。,从而保证模型在训练时的稳定性。原创 2024-11-07 15:54:45 · 1053 阅读 · 0 评论 -
LLM:badcase分析
bad case分析是了解业务、了解场景的重要途径,知道当前研究、实践中容易出现的问题,往通俗的说,吸收经验的重要途径。分析badcase必须要先了解目前模型的效果,也就是baseline,知道该往哪个方向努力。原创 2024-10-21 19:12:31 · 697 阅读 · 0 评论 -
LLM:reward-model-deberta-v3-large-v2模型结构
https://hf-mirror.com/OpenAssistant/reward-model-deberta-v3-large-v2是在做合成数据的质量打分时的奖励模型。模型依托deberta-v3-large-v2编码模型,给定一个qa对,能够给出一个分数来衡量qa对的质量。没有公开训练细节,由于模型的输出层是一个线性层且没有激活函数,输出的 原始分数(logits) 可以是任何实数,范围从负无穷到正无穷。一般删掉小于0的样本。原创 2024-10-21 18:36:02 · 1077 阅读 · 0 评论 -
LLM:向量索引类型
做RAG时,要进行向量索引,下面是一些常用的索引类型图检索:NSW、HNSW、NSG;聚类中心:K-Means;乘积量化:PQ、IVFPQ;原创 2024-10-20 13:32:49 · 818 阅读 · 0 评论 -
LLM:deepspeed zero-2时模型训练所占显存分析
LoRA 增量参数:fp16的参数:87.36 M×2 字节≈174.72 MB;fp32的参数(:87.36 M×4 字节≈349.44 MB。lora参数的优化器状态:87.36 M×4 字节 + 87.36 M×4 字节 ≈ 698.88 MB。换算就是1B的参数量,以fp16表示,占2G的内存。模型参数:fp16的模型前向传播副本。fp32的模型的优化参数副本。LoRA 参数的梯度(FP16):87.36 M×2 字节≈174.72 MB。冻结的模型参数(FP16):32*2=64 GB。原创 2024-10-18 15:33:39 · 511 阅读 · 0 评论 -
LLM:参数高效微调方法总结
可以分为基于适配器、基于提示的。原创 2024-10-18 14:41:19 · 666 阅读 · 0 评论 -
ELO评分机制公式
ELO评分是一种常用于棋类等竞技游戏中的评分系统,用来衡量玩家(或模型)的相对技能水平。在大模型竞技场中,ELO评分可以用来比较不同模型的表现。ELO评分系统的核心是根据比赛结果调整模型的评分。原创 2024-08-18 17:56:04 · 1024 阅读 · 0 评论 -
RAG系统优化思路
该图展示了可以从哪些部分去优化RAG。原创 2024-08-15 20:45:59 · 405 阅读 · 0 评论 -
RAG:系统评估,以RAGAS为例
面试的时候经常会问到,模型和系统是怎么评估的,尤其是RAG,这么多组件,还有端到端,每部分有哪些指标评估,怎么实现的。今天整理下目前最通用的是RAGAS框架,已经在langchain集成了。在看它之前,首先要了解整个业界是怎么做的。原创 2024-08-15 20:35:33 · 2101 阅读 · 0 评论 -
DPO原理及训练经验
它针对与RLHF相同的目标,但提供了一种更简单、更直接的培训方法。DPO的工作原理是增加偏好样本的对数概率与减小非偏好样本响应的对数概率。它结合了动态加权机制,以避免仅使用概率比目标时遇到的模型退化问题。DPO直接根据策略定义偏好损失。给定一个关于模型响应的人类偏好数据集,DPO可以使用简单的二元交叉熵目标来优化策略.原创 2024-08-14 23:37:29 · 3669 阅读 · 0 评论 -
多模态大模型SFT数据处理
多模态数据处理:数据质量、数据数量、数据分布和数据安全。原创 2024-08-13 15:04:51 · 1000 阅读 · 0 评论 -
LLM:SGD、adam
SGD没有一阶和二阶动量。adam是融合了这两种动量。原创 2024-08-04 21:28:28 · 297 阅读 · 0 评论 -
LLM:混合精度&量化概述
浮点数在计算机中的存储方式由符号位(sign)、指数位(exponent)和小数位(fraction,也称为尾数、mantissa)组成。原创 2024-08-02 22:56:55 · 1532 阅读 · 0 评论 -
LLM:flash-attention概述
标准注意力。原创 2024-08-02 17:22:09 · 1347 阅读 · 0 评论 -
LLM:并行化训练
llama3.1论文称使用了:张量并行(TP)、流水线并行(PP)、上下文并行(CP)和数据并行(DP)。并行化可以先粗分为:1.数据并行2.模型并行:张量并行,流水线并行3.上下文并行(llama3.1)4.deepspeed (专门提出)所以主要就是 数据并行(DP)、张量并行(TP)、流水线并行(PP)。还有deepspeed。原创 2024-08-01 21:40:29 · 1915 阅读 · 0 评论 -
LLM:模型微调经验
样本数量一般1万左右的高质量样本即可达到良好效果。对于简单任务,100-300条数据足够;中等难度任务需1000条以上;高难度任务需3000条甚至更多,可能达到10万条。样本质量样本质量优先于数量,高质量样本更有效。需要重点关注样本的多样性和答案质量。继续预训练当领域任务数据与预训练数据集差异较大时(如内部数据),需进行继续预训练,尤其是数据量较大时。原创 2024-08-01 15:52:40 · 4333 阅读 · 1 评论 -
LLM:微调大模型的评估
微调了一个垂直大模型,要判断其好坏,怎么做才算科学的?原创 2024-07-31 16:27:16 · 3019 阅读 · 0 评论 -
LLM:激活函数与梯度问题
随机初始化:简单但易导致梯度消失或爆炸问题。Xavier初始化:适用于Sigmoid和Tanh激活函数,保持输入输出方差一致。He初始化:适用于ReLU激活函数,考虑了ReLU的非对称性。通过选择合适的权重初始化方法,可以有效缓解梯度消失和梯度爆炸问题,从而提高深度学习模型的训练效果和稳定性。原创 2024-07-28 17:46:14 · 1128 阅读 · 0 评论 -
LLM:归一化 总结
Layer Normalization 是一种有效的正则化技术,特别适用于 RNN 和其他不依赖于 mini-batch 统计的模型。它通过对每个样本的特征维度进行标准化,提供了更稳定的训练过程。参考:https://pytorch.org/docs/stable/generated/torch.nn.LayerNorm.html更适合卷积神经网络和大型批量训练,但不适用于小批量训练和序列模型。更适用于序列模型和小批量训练,虽然计算量较大,但能提供稳定的训练效果。原创 2024-07-28 00:00:35 · 1084 阅读 · 0 评论 -
llama3.1数据集处理方法
数据混合的缩放定律。这些分类器包括训练识别给定文本是否会被维基百科引用的快速分类器(如fasttext,Joulin等,2017,Touvron等,2023a),以及更为计算密集的基于Roberta的分类器(Liu等,2019a),这些分类器训练自Llama 2的预测结果。例如,为了缓解过度道歉的语调问题,我们识别了过度使用的短语(如“对不起”或“我道歉”),并在数据集中仔细平衡此类样本的比例。我们的最终数据混合大约包含50%的通用知识标记,25%的数学和推理标记,17%的代码标记,以及8%的多语言标记。原创 2024-07-24 17:40:21 · 1542 阅读 · 0 评论 -
LLM:学习清单 ing
归一化:层归一化,RNSnorm,批归一化,Pre-LN和Post-LN的区别。注意力机制:自注意力,多头注意力,分组查询注意力,多查询注意力(前两个要手写)BGE,BCE,BERT。长度外推:滑动窗口,rope,位置插值,yarn的原理。激活函数:tanh,relu,gelu,silu。位置编码:绝对位置编码,三角函数编码,ROPE。分布式:数据并行,模型并行,流水线并行。模态数据处理:多图,多视频,图文交错。agent:作用,实现方法,优化经验。RAG:作用,流程,性能调优经验。原创 2024-07-13 00:24:37 · 344 阅读 · 0 评论 -
LLM:tokenizer分词器概念
在做nlp时,首先要对文本进行分词,也就是给定一个句子,将其归到词表中的一系列token上,token有对应的数字(token_id)。上图是bert的分词器的json内容,可以看到词表是一个字典,key为token,value为对应的id。像 “[unused6]”:6 这样的条目。这些条目称为“未使用”(unused)标记,它们在模型的原始训练过程中没有特定的用途,但被包括在词汇表中为了可能的未来使用。原创 2024-07-12 22:28:26 · 1231 阅读 · 0 评论 -
大模型推理知识总结
定义: 键值缓存(KV缓存)是一种优化自回归模型生成速度的方法。它存储先前词元的计算结果,以便在后续生成中重用,避免冗余计算。原理自回归模型生成自回归模型逐个生成词元,每个新预测依赖于先前生成的词元。例如,生成“Apples are a boring fruit”时,预测“fruit”时需要前面所有词元的信息。使用KV缓存存储先前词元的键(Key)和值(Value)对。新的查询(Query)只需与缓存的键值对进行计算,无需重新计算整个序列。提高生成速度和效率。形象例子。原创 2024-06-27 23:55:14 · 4012 阅读 · 0 评论 -
openai类模型的超参数含义
重要提示:使用JSON模式时,你必须通过系统或用户消息指示模型生成JSON,否则模型可能会生成无限的空白,直到达到token限制,导致请求长时间运行且看似“卡住”。设置后,会像ChatGPT那样发送部分消息delta,生成的token以数据服务器发送事件形式发送,终止时发送data: [DONE]消息。一个在0到20之间的整数,指定在每个token位置返回最有可能的token数量,每个token都附带其log概率。正值会对新token进行惩罚,基于其在当前文本中的出现频率,从而减少模型重复相同行的可能性。原创 2024-06-26 19:33:32 · 794 阅读 · 0 评论 -
CPsyCoun:心理咨询多轮对话自动构建及评估方法
在大模型应用于心理咨询领域,目前开源的项目有:https://github.com/SmartFlowAI/EmoLLM (集合,生态完善)https://github.com/CAS-SIAT-XinHai/CPsyCoun (该论文)https://github.com/X-D-Lab/MindChat (数据集没开源)训练一个大模型不难,难的是怎么得到领域内的数据集。该论文就提出了一个Memo2Demo的方法,使用LLM从公开的心理咨询报告中还原真实的心理咨询多轮对话。原创 2024-06-24 18:25:36 · 1734 阅读 · 0 评论 -
多模态大模型通用模式
MM-LLMs(多模态大模型)是目前比较新的和实用价值越发显著的方向。其指的是基于LLM的模型,具有接收、推理和输出多模态信息的能力。这里主要指图文的多模态。原创 2024-06-18 18:52:24 · 1607 阅读 · 0 评论 -
RAG技术综述
RAG的基本架构。,生成器和检索器。参考paper:https://arxiv.org/html/2402.19473v4文中将rag的内容从文本扩展至多模态,打开了思路。:transformer,LSTM,扩散模型,gan:稀疏检索(tf-idf,bm25),密集检索(余弦相似度,内积,l2距离),混合检索基于查询的 RAG、基于潜在表征的RAG、基于Logit的RAG,推测型RAG。原创 2024-05-25 18:52:25 · 1458 阅读 · 0 评论 -
agent简述
Agent = 大语言模型(LLM) + 观察 + 思考 + 行动 + 记忆。原创 2024-05-12 20:34:21 · 311 阅读 · 0 评论 -
向量模型微调评估指标
余弦相似度和点积得分都是用来衡量两个向量之间相似度的常见指标,但它们在计算方式和适用场景上有一些关键的区别:原创 2024-05-10 23:57:53 · 1038 阅读 · 0 评论 -
RAG查询改写方法概述
在RAG系统中,用户的查询是丰富多样的,可能存在措辞不准确和缺乏语义信息的问题。这导致使用原始的查询可能无法有效检索到目标文档。因此,将用户查询的语义空间与文档的语义空间对齐至关重要,目前主要有查询改写和嵌入转换两种方法。查询改写的方法包括Query2Doc,Doc2Query,HyDE,Step-Back Prompting,Rewrite-Retrieve-Read,ITER-RETGEN,Multi-query。原创 2024-05-09 15:35:35 · 2724 阅读 · 2 评论 -
langchain+qwen1.5-7b-chat搭建本地RAG系统
由于语言模型的底层运作基于数学概率,其输出本质上是一系列数值运算结果,因此在模型知识匮乏或不擅长的领域,可能会出现幻觉问题,即生成与现实脱节或错误的内容。RAG通过将检索到的准确且相关的信息作为输入的一部分,降低了幻觉问题的发生几率,使模型生成的内容与现实更为一致。: RAG 通过从知识库、数据库、企业内部数据等外部数据源中检索相关信息,将其注入到模型提示词中,使模型能够利用这些信息进行推理和生成。将召回转为字符串,输入到prompt中,使用模型推理。索引阶段,包含数据读取,切片,向量化,入库。原创 2024-05-03 17:22:49 · 5137 阅读 · 2 评论