- 博客(132)
- 收藏
- 关注
原创 Adam为什么能加速收敛和自适应学习率?
一阶动量矩阵定义:一阶动量(First-order Momentum)是历史梯度的加权平均,用于捕捉梯度的方向趋势,加速收敛并减少震荡。数学形式vt 为当前时刻的一阶动量;∇J(θt) 是当前梯度;β1 是衰减率(通常取0.9)物理意义:类似于物理学中的动量效应,通过累积历史梯度方向,增强参数更新的方向性。
2025-04-09 14:38:03
347
原创 12个乒乓球,其中一个质量异常,用一部没有砝码刻度的天平秤量三次,找出是哪一个质量异常,轻了还是重了?
下面给出一种经典的解法步骤。为方便说明,先给 12 个球做编号:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12。我们只用三次称量(无砝码刻度的天平),既要确定“哪一个球”是异常的,也要知道“它是偏重还是偏轻”。核心思路是:每次称量都要合理安排对比分组,使得每一次称量的结果(左重、右重、还是平衡)都能最大限度地区分不同的可能性。
2025-04-07 15:25:24
432
原创 Self-Instruct生成指令的完整流程示例
优点低成本扩展:仅需175个种子任务即可生成数万条数据;任务多样性:生成指令覆盖创意写作、逻辑推理、跨模态任务等局限性依赖初始种子质量:若种子任务偏向某领域(如翻译),生成任务可能缺乏其他领域覆盖;长尾任务缺失:专业领域(如法律条款生成)仍需人工补充通过这种自举式迭代,Self-Instruct实现了从有限人工标注到海量指令数据的自动化扩展,成为当前指令微调的主流方法之一。
2025-03-31 11:54:48
562
原创 RLHF 中主流强化学习算法
PPO 作为 RLHF 的经典算法,稳定性强但计算成本高;DPO 通过隐式奖励简化流程,但依赖参考模型;ORPO 合并训练阶段,适合轻量级对齐;GRPO 通过群体优势估计提升效率,适用于复杂任务。实际选择需权衡任务需求、资源限制与性能目标。
2025-03-20 20:01:01
257
原创 BPE详解
核心思想:从一个基础小词表开始,通过不断合并最高频的连续token对来产生新的token。具体做法:输入:训练语料;词表大小V1.准备基础词表:比如英文中26个字母加上各种符号;2.基于基础词表将语料拆分为最小单元;3.在语料上统计单词内相邻单元对的频率,选择频率最高的单元对进行合并;4.重复第3步直到达到预先设定的subword词表大小或下一个最高频率为1;输出:BPE算法得到的subword词表。
2025-02-23 17:21:40
164
原创 flash attention
通过这种方式,Flash Attention 在保证计算精度的同时,显著提升了长序列处理的内存效率。二、最大值处理Flash Attention通过动态跟踪最大值、调整历史累积值,实现了分块处理下的数值稳定性。这一机制在不增加显存开销的前提下,确保了与传统Softmax的数学等价性,是高效处理长序列注意力的核心技术。
2025-02-18 17:43:53
1011
原创 LLM + MCTS
LLM + MCTS 是一种强大而灵活的组合,适合需要多步推理、全局规划和复杂决策的任务。通过利用 LLM 的生成和评估能力,以及 MCTS 的探索和优化能力,可以解决许多传统方法难以高效解决的问题。
2025-02-17 14:55:04
569
转载 从DeepSeek V3的MTP,解析MTP技术的前世今生
我们都知道,当前主流的大模型(LLMs)都是decoder-base的模型结构,也就是无论在模型训练还是在推理阶段,对于一个序列的生成过程,都是token-by-token的。从一个token串起,串着串着就乱了。从上图能看到Blockwise Parallel Decoding网络是个并行计算的过程,但遗漏了很多文中表述的细节,也不像是在描述一个Transformer base的网络(这也可以理解,18年,还是SVM、LSTM统治的时代,确实不像现在,Transformer那时候不是个共识性的产物)
2025-02-11 14:32:26
87
原创 sql计算AUC
AUC可以直接根据ROC曲线,利用梯形积分进行计算。此外,还有一个比较有意思的是,可以利用AUC与Wilcoxon-Mann-Whitney检验的U统计量的关系,来计算AUC。这可以从AUC的概率意义推导而来。假设我们将测试集的正负样本按照模型预测得分从小到大排序,对于第j个正样本,假设它的排序为。个正样本前面(得分比它小)的负样本个数为。,那么说明排在这个正样本前面的总样本有。个正样本在所有的正样本里面排第。
2024-12-13 17:22:59
645
原创 机器学习相关问题
从用户的粒度来看这个问题,这种降采样方式更为暴力,可能会导致被采样的用户的一大部分负样本被无情移除了,这些用户的正负样本平衡性发生了较大的改变,导致模型难以判断这批用户的真正喜好与厌恶。训练过程中,由于模型见过的负样本太多了,对于如何判断一个样本是否是负样本这件事对模型来说得心应手,因此我们丢弃一些负样本,并不能增加模型的学习难度,因此”降采样“也就不会对模型的最终指标有太大的影响。精排模型的正负样本数量本来就处于一种不均衡的状态,负样本的数量远远大于正样本的数量,这个模型的学习带来了不小的挑战。
2024-12-13 16:56:58
457
原创 一文读懂增益模型Uplift Model
的指标就是这样去计算的,假设现在有两个满足CIA条件假设的样本组,我们可以对两群人分别预估他们的uplift score(干预的增益),之后将人群按照uplift score进行降序排列,通过score分数这一桥梁,可以把两组人群进行镜像人群的对齐,之后分别截取分数最高的比如10%的用户出来,计算这一部分人转化率(特定群体中发生目标行为,如购买、注册、点击等的人数占该群体总人数的比例)的差异,这个差异就可以近似地认为是分数最高的这群人真实的uplift,什么样的样本有这样的特征,又如何获取呢?
2024-10-28 21:33:12
1038
原创 目标重要性分析
一、背景在电商推荐场景中,商品的排序得分(rankscore)通常是由多个目标分(例如点击率CTR、转换率CVR、多样性得分、利润、GMV等)综合而成。为了定量分析每个目标对最终商品排序的影响,可以采用以下几种方法:二、方法。
2024-08-28 16:51:29
1052
原创 pycharm windows/mac 指定多版本python
工作中经常会使用不同版本的包,如同时需要tf2和tf1,比较新的tf2需要更高的python版本才能安装,而像tf1.5 需要低版本的python 才能安装(如 python3.6),所以需要同时安装多个版本。2、pychram 中指定上述虚拟环境的python作为解释器。1、cmd中创建虚拟环境。二、安装多版本python。
2024-08-14 23:14:21
702
原创 大模型时代,是 Infra 的春天还是冬天?
2023 是我过往人生经历中最传奇的一年(虽然只过去了 3/4),年初 ChatGPT 爆火让所有人看到了 AGI 可能实现的曙光,无数创业公司、大厂立即跟进 LLM 甚至 ALL IN, 紧随而来的 GPT-4 和 Office Copilot 让市场沸腾。当时感觉,AI 时代的技术迭代速度以天记,汹涌的 AI 技术革命将迅速影响每个人的生活。从技术发展曲线来看, GPT-4 的发布应该是市场关注度的峰值:LLM 技术成熟度曲线(大致)
2024-06-05 22:10:43
1495
原创 LLM训练:MFU计算方法
在进行大模型训练时,我们需要关注GPU资源的利用率,特别是GPU算力利用率通常可以作为大模型训练框架的性能指标,也直接影响训练大模型的成本。我们看到大家普遍使用 MFU(Model FLOPS Utilization)这个指标来评估GPU算力利用率[1]。本文主要介绍MFU的计算方法。
2024-05-22 22:57:26
9280
原创 【Transformer 基础系列】模型参数量
如图所示,Transformers 结构的参数量包括 Embed 层,l 层 Attention + MLP 层,每层还有 layernorm 和 position embedding 参数,推理如下表。参考LLaMA模型打印参数名和 shape 以校验。去掉一次项约等于12h**2。
2024-05-22 22:54:46
540
原创 CIKM2023 | 突破双塔: 生成式交互的向量化召回
一篇比较经典的工作是美团的对偶增强双塔[模型]-(https://dlp-kdd.github.io/assets/pdf/DLP-KDD_2021_paper_4.pdf),即在训练时,q侧和d侧各自fake出一段embedding作为底层特征,去学习对方正样本的输出表征。不过,这种方式引入的交叉特征实际是非常"粗粒度"和"高阶"的,即携带的信息仅仅是对方tower最后输出的表征,对方tower在编码这段表征时,也仅仅只利用了fake的emb和tower本身的输入特征的交互。于是,本文横空出世。
2024-05-16 16:40:33
979
原创 大模型推理性能优化之KV Cache解读
在上面的推理过程中,每 step 内,输入一个 token序列,经过Embedding层将输入token序列变为一个三维张量[b, s, h],经过一通计算,最后经logits层将计算结果映射至词表空间,输出张量维度为[b, s, vocab_size]。6、把第5步得到的K和V,与 第2步缓存的K和V concat 得到新的K和V shape 都是 (batch_size,seq_length+1,dim1) 并缓存下来。可以看出如上计算的问题吗?那到底那部分计算是重复了的,是可以cache的呢。
2024-04-16 17:19:52
1396
2
原创 RAFT: Adapting Language Model to Domain Specific RAG
1.如果想要对RAG任务来微调大模型,作者做的DSF以及DSF+RAG的失败实验,值得排除这种尝试。否则大家可能都想试试。不过先在领域继续预训练,学到足够多的领域知识,再用SFT微调,可能效果会更好点?(不过就是知识没办法更新了)2.到底有多少负例文档对效果最好,两个数据集表现不一。作者最终使用的是一个正例文档加上4个负例文档。不过可以肯定的是:如果训练集中只有正例文档都是效果最差的。
2024-03-31 22:04:03
1014
1
原创 Title: LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models
1.: 目标压缩比为2倍。2.: 目标压缩比为3倍。3.: 使用小语言模型计算每个词汇单元(如句子、短语或令牌)的自信息,然后删除信息量较低的内容以实现提示压缩。4.: 提出了LLMLingua方法,包括预算控制器、迭代令牌级提示压缩和分布对齐。Tokens: 在给定压缩比下,压缩后的提示中的令牌数量。BLEUROUGERougeLBSF1: 这些是评估摘要任务性能的指标,分别代表BLEU分数、ROUGE分数、RougeL分数、BERTScore分数和F1分数。Tokens 1/π。
2024-03-26 22:50:33
1189
原创 一些意外的bug
normalize(embed_f).cpu() 与 normalize(embed_f.cpu()) 的结果会不一样,后者会改变精度。2、deepspeed没有adam_cuda属性,需要安装0.8.3 (torch的版本要1.12.1的)tips:这三种结果都有细微 的差别,只是normalize(embed_f.cpu())差别很明显。解决办法:采用normalize(embed_f.cpu().float())若import 的包名与 pip安装的包的路径不一致,则copy过去。
2023-12-12 15:00:57
479
原创 LLM embeding相关整理
Scaling Sentence Embeddings with Large Language Models语言模型之Text embedding(思考篇) - 知乎
2023-11-23 22:40:32
424
原创 玩转deepspeed
DeepSpeed是微软推出的大规模模型分布式训练的工具,主要实现了ZeRO并行训练算法。本文是huggingface的DeepSpeed文档的笔记,做查询和备忘,初次学习建议结合原始文档食用。
2023-10-10 16:27:48
1765
原创 shell 命令
hello_split_表示路径和前缀,路径可以更改为其他路径,比如/home/user1/hello_split_–additional-suffix=.csv表示每一个文件后面添加.csv。-l表示按行分割,后面变量为上面求的行数。-a表示后缀长度,这里为4,默认为2。-d表示添加数字后缀。
2023-10-10 14:43:44
114
原创 java mock单测
Mock 测试就是在测试过程中,对于某些 不容易构造(如 HttpServletRequest 必须在 Servlet 容器中才能构造出来)或者不容易获取 比较复杂 的对象(如 JDBC 中的 ResultSet对象),用一个 虚拟 的对象(Mock 对象)来创建,以便测试方法。Mock 的中文译为仿制的,模拟的,虚假的。对于测试框架来说,即构造出一个模拟/虚假的对象,使我们的测试能顺利进行下去。mock java.util.function.Function 对象。3、常用对象mock示例。
2023-09-07 22:11:46
515
原创 pandas 常用命令
low_memory=False 参数设置后,pandas会一次性读取csv中的所有数据,然后对字段的数据类型进行唯一的一次猜测。另外pandas对数据的类型是完全靠猜的,所以pandas每读取一块数据就对csv字段的数据类型进行猜一次,所以有可能pandas在读取不同块时对同一字段的数据类型猜测结果不一致。pandas读取csv文件默认是按块读取的,即不一次性全部读取;5、设置read_csv的low_memory参数为False。4、设置read_csv的dtype参数,指定字段的数据类型。
2023-07-09 17:51:10
131
原创 IDEA如何配置 Gradle(详细版)
如果已经打开了项目,可以 点击 file->close project ,然后打开idea ,选择打开->找到你git clone 的项目 然后选择 build.gradle ,选择以此打开项目,然后就自动在下载依赖了。很有肯是你的 idea 和你的 gradle 版本不兼容导致的问题,出现一下问题,你需要改下你的diea的配置,使用方式二。3、修改gradle的路径(使用本地的Gradle),以及修改Gradle文件的位置和本地仓库的位置。
2023-03-17 17:21:08
79483
3
原创 JDK的下载、安装和配置
一、背景 为什么需要这个性质呢,因为在对模型进行融合时就需要这个性质,如dssm双塔模型分别对两段文本进行embeding,最后求余弦cos值。现在想进行融合,把dssm变成4塔,一段文本经过两个dnn模型进行编码获得向量a,x,同理另外一段文本也经过两个dnn模型进行编码获得向量b,y。最后会获得4个embeding,这样我们做融合时,自然想到一种融合方式:[cos(a,b)+cos(x,y)]/2。利用cos(a,b)+cos(x,y)==2*cos([a,x],[b,y])的性质,你就会...
2023-03-16 16:57:02
406
1
原创 ef参数设置说明(faiss)
1、模型参数:1000代表聚类中心个数随着聚类个数的增加,模型索引的构建时间近似指数增加但搜索精度也线性增加,不影响内存占用,几乎不影响搜索耗时结论:在 Faiss 引擎的聚类情况下,对于百万级别的数据大概4000个聚类基本足够,符合 Faiss 官网文档聚类取2、搜索聚类个数结论:固定聚类数量后,随着探针数量的增加,搜索耗时会近似均匀增加,搜索精度会逐渐接近 100%。因此在 Faiss 引擎的聚类情况下,建议10%的聚类数量作为探针数量是一个比较合适的搜索耗时和精度的平衡点。
2022-12-29 16:23:48
1154
原创 召回侧对齐精排的多目标打分融合
a、乘法融合 (u1*i1+1)*(u2*i2+1)=u1*u1T+u2*u2T+u1+u2(待推导)维度扩大 d2+d+d。缺点1:要保证各目标召回的item要有足够多的重合的item。a.多目标embeding concat在一起。b.一侧多目标,也可把embeding 相加。目标1:topk item 及对应得分。目标2:topk item 及对应得分。工程侧选择重合的item 进行打分融合。b、faiss之后融合。
2022-09-28 17:57:27
501
原创 POSO论文原理详解和实际应用
前段时间在业务中应用POSO[1]做了一些工作,进行了一些尝试和思考,放在这篇里分享,主要包括两部分:(1) POSO原理;(2) 实际应用中的尝试、效果和分析思考,欢迎大家对工作中的尝试和思考来交流。多说一句:初看论文和在业务中应用的时候,觉得这个思路简单优雅,并未深入体会其中的精妙,在写这篇分享的时候,多次看论文中的一些细节,不得不惊叹作者的巧思。推荐领域常用的方法是监督学习,本质是拟合数据的分布,不管是简单还是复杂的监督学习模型,数据限定了其效果的天花板。因此,监督学习的方法,存在一个共同的问题,对训
2022-08-05 11:23:12
2674
1
原创 SENet双塔模型:在推荐领域召回粗排的应用及其它
目前,双塔结构在推荐领域里已经是个常规方法了,在召回和粗排环节的模型选型中,被广泛采用。其实,不仅仅是在推荐领域,在其它领域,双塔结构也已经被越来越多得用起来了。比如,在当代搜索引擎的召回环节,除了常见的经典倒排索引来对Query和Document进行文本字面匹配外,经常也会增加一路基于Bert模型的双塔结构,将用户查询Query和搜索文档,各自通过一个塔形结构来打Embedding,以此增加Query和Document的深层语义匹配能力;......
2022-08-04 11:50:46
1169
原创 idea 配置maven项目
打开/Users/tjl/IdeaProjects/maven/apache-maven-3.6.3/conf/settings.xml(这是maven的安装路径,根据自己maven的安装路径自行修改)文件。注意maven的安装需要依赖jdk的安装,所以必须先安装完成jdk且配置好jdk环境变量后在进行maven的安装!maven的安装很简单,就是直接解压文件就行了(当然了,前提是你下载的是zip压缩包格式,如下图)2、修改Maven的下载镜像地址为阿里源(这样后续编译,下载文件会快很多)...
2022-07-26 19:33:53
2226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人