自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Swift's Blog

Swift的个人博客

  • 博客(231)
  • 收藏
  • 关注

原创 GPU利用率

英伟达官方的GPU利用率的定义如下:GPUUtilrate=number of active SMnumber of total SM×100%GPU Util rate = \frac{number \ of \ active \ SM}{number \ of \ total \ SM} \times 100\%GPUUtilrate=number of total SMnumber of active SM​×100%上述代码片段将在单个流多处理器(SM)上启动指定的内核(线程)。根据常规理

2024-05-20 01:42:19 937

原创 Attention Sink

论文发现自回归LLM存在的一个有趣现象:对于输入文本最靠前的少量几个token,无论它们在语义上与语言建模任务的相关性如何,大量的注意力分数都会分配给他们,如下图所示:more模型的前两层还能保持attention score更多分配给当前token附近位置的特性,而在其他层,靠前的几个token都会接受到大量的注意力。尽管这些token在语义上很可能并没有什么重要性,但它们却聚集了大量的注意力分数。出现这个现象的原因就是softmax操作。

2024-05-12 16:50:44 399

原创 RAG讲解

现有的LLM已经具备了理解、生成、逻辑和记忆能力,RAG(Retrieval Augmented Generation)则是为其套上外挂,使LLM能够访问训练数据来源之外的权威知识库,并生成领域特定的内容,而无须重新训练模型。more。

2024-05-12 15:04:25 265

原创 从loss角度理解LLM涌现能力

本文从预训练loss角度观察了模型涌现能力是如何发生的。其结论也给业界评估模型在下游任务上的性能提供了全新的视角,即预训练loss,而不是模型参数量、数据量、训练计算量。但本文并未从理论角度解释loss与涌现能力的关系,更多地是根据后验进行启发式分析,也未给出2.2的合理说明。但DL一直这么玄学,不是吗?

2024-05-12 02:12:12 684

原创 SwiGLU激活函数

SwiGLU激活函数已经成为LLM的标配了。

2024-05-09 02:08:51 311

原创 模型训练的显存占用分布

训练过程中,显存消耗主要有模型参数、梯度、optimizer状态值和中间激活值。

2024-05-05 17:41:26 108

原创 FP16与BF16区别

more二者都是占用16bit空间。模型训练时使用BF16和FP16都可以降低内存使用和传输量,提高训练效率。

2024-05-05 17:39:15 498

转载 现代GPU内存分级结构

要实现CUDA高性能编程,就必须对GPU内存结构有深刻的了解。more。

2024-04-22 01:04:25 28

原创 显存大小&显存位宽&显存频率

more当你购买显卡的时候,需要根据你的应用场景,综合考虑显存大小和显存带宽。

2024-04-09 22:06:10 227

原创 转化延迟预估

转化数据延迟久,但实时反馈至关重要涉及到模型预估准度,进而影响客户成本。more现状:超过12h的转化被视为负例,12h以内的为正例,这样会导致模型低估。P转化∣点击未转化点击延迟≤12h的转化延迟12h的转化延迟≤12h的转化​。

2024-04-09 01:01:24 350

原创 Gumbel Softmax

Argmax是不可求导的,Gumbel Softmax允许模型能从网络层的离散分布(比如类别分布categorical distribution)中稀疏采样的这个过程变得可微,从而允许反向传播时可以用梯度更新模型参数。more。

2024-04-08 01:15:37 312

原创 PEFT-LISA

LISA是LoRA的简化版,但其抓住了LoRA微调的核心,即LoRA侧重更新LLM的底层embedding和顶层head。more。

2024-04-03 01:36:29 263

原创 大模型融合方法-DARE

LLM在SFT之后会产生大量的冗余参数(delta参数),阿里团队提出DARE方法来消除delta参数,并将其合并到PRE模型中,从而实现多源模型能力的吸收。mt∼Bernoullipδt1−mt⊙δtδtδt1−pθDAREt​δtθPRE​​Enotmask​​xEmask​pp∗x​传统的模型融合只是对神经元进行加权求和,这样会导致模型能力骤降。DARE方法通过dropout避免了这种问题。

2024-03-30 17:39:04 662

原创 多标签分类新建模方法

常见的多标签分类方法是同时生成多个标签的logits,然后接一个sigmoid激活函数做二分类。该方法简单直接,但忽略了标签之间的相关性。虽然业界针对该问题提出了很多解决思路,但大多是任务特定,通用性不强,也不够优雅。Transformer decoder倒是可以序列输出多个标签,但却加入了位置偏差。而标签之间是没有位置关系的,谁先谁后无所谓,只要输出全就行。这样也导致数据集不好构造。more。

2024-03-18 02:31:23 429

原创 GPT的实现细节

关于GPT的代码细节,这里梳理了一下:more。

2024-03-18 02:27:35 988

原创 LLM长上下文外推方法

下面是一些提升LLM长度外推能力的方法总结:more。

2024-03-10 03:49:34 499

原创 YOLO v1讲解

YOLO是最经典的一阶目标检测框架,记录一下v1思路。more。

2024-03-08 02:49:22 832

原创 ViT的若干细节

ViT证明了Transformer架构在CV领域的可行性,以后Transformer将大一统各领域。NLP的成功经验非常有潜力迁移到CV领域,比如scaling law,大数据+大模型的范式将开拓出CV的新一片天地。大数据+大模型真的是既无脑又有效,通过这种方式让Transformer自己去学习到特定领域的归纳偏置。可以说Transformer下限比CNN低,但上限又是CNN无法企及的。

2024-03-03 18:54:58 839

原创 CUDA编程模型

参照数学坐标系,grid的规格是43,block的规格是32more对于CUDA编程模型,本质上还是要掌握并行编程思想。每一个矩阵元素运算,都是由一条线程执行。我们要做的就是找到线程坐标位置及其对应的矩阵元素,然后执行计算逻辑。const;if!printf;exit1;编译。

2024-02-29 03:27:08 397

原创 MIND解读

这篇paper的核心是胶囊网络,该网络采用了动态路由算法自动对用户历史行为序列进行聚类,提取出多个兴趣向量,代表用户的不同兴趣。当用户再有新的交互时,通过胶囊网络,还能实时的改变用户的兴趣表示向量,做到在召回阶段的实时个性化。more。

2024-02-28 03:01:00 834

原创 TDM检索技术讲解

召回的任务是从海量商品库中挑选出与用户最相关的topK个商品。传统的召回检索时间复杂度是ON,而阿里的TDM通过对全库商品构建一个树索引,将时间复杂度降低到OlogN。more。

2024-02-27 02:19:47 856

原创 新一代粗排系统COLD

为了让粗排支持交叉特征来提升模型性能,同时又为了降低引入交叉特征、复杂模型所带来的预估延迟和资源消耗,阿里团队提出了COLD,在模型效果和算力间取得了平衡。more。

2024-02-21 01:55:24 330

原创 FLIP解读

title: FLIP解读toc: trueFLIP由CLIP改进而来,其思想非常简单,通过在图片侧mask掉相当比例的patch(无须重构patch),实现速度和准确性的双重提升。more。

2024-02-07 02:14:11 426

原创 SENet在双塔中的应用

ENet并不能将user侧和item侧的特征交互提前或者使其获得更深层次的交互,user侧和item侧的特征交互仍然只发生在最后的内积那一步,这是由其双塔结构导致的。SENet的作用是提前将各侧的重要特征升权,不重要特征降权。

2024-02-06 01:50:51 415

原创 模型量化入门

量化已经是LLM部署和推理的必备环节了,在此了解一下:more。

2024-01-29 02:06:48 318

原创 top命令

当前时间系统运行时间当前登录用户数系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值进程总数正在运行的进程数睡眠的进程数停止的进程数僵尸进程数us用户空间占用CPU百分比sy内核空间占用CPU百分比ni用户进程空间内改变过优先级的进程占用CPU百分比id空闲CPU百分比wa 等待输入输出的CPU时间百分比hi硬件CPU中断占用百分比si软中断占用百分比st虚拟机占用百分比内存物理内存总量。

2024-01-29 02:05:52 363

原创 alfred自定义谷歌翻译workflow

如果要实现自定义workflow,则必须安装付费版的alfred,囊中羞涩的话可以自行淘宝。自定义步骤如下:more。

2024-01-23 22:16:02 545

原创 Mixtral Moe代码解读

title: Mixtral Moe代码解读toc: true一直对稀疏专家网络好奇,有些专家没被选中,那么梯度是否为0,这一轮被选中有梯度,下一轮没被选中无梯度,模型可以训练收敛吗?more。

2024-01-11 02:51:13 574

原创 Win11+Docker搭建CUDA开发环境

最近入门了CUDA编程,先记录下搭建环境过程。more由于在windows和wsl上折腾了好久,装cuda、cudnn、cmake、gcc等软件,还经常遇到依赖、版本许多问题,最终污染了系统环境。在朋友的安利下,采用docker容器开发方案,试一下真香。

2023-12-24 18:27:25 1105

原创 DPO讲解

PPO算法的pipeline冗长,涉及模型多,资源消耗大,且训练极其不稳定。DPO是斯坦福团队基于PPO推导出的优化算法,去掉了RW训练和RL环节,只需要加载一个推理模型和一个训练模型,直接在偏好数据上进行训练即可:[外链图片转存中…(img-zz2PfNyG-1702835338094)]moreLDPO​πθ​;

2023-12-18 01:49:24 1673

原创 常见的LLM推理加速解决方案

KV Cacheint量化PagedAttentionGQASpeculative DecodingcodeAccelerating Generative AI with PyTorch II: GPT, FastFast Inference from Transformers via Speculative Decoding参考PyTorch造大模型“加速包”,不到1000行代码提速10倍!英伟达科学家:minGPT以来最好的教程式repo之一

2023-12-03 17:39:27 544

原创 RLHF讲解

RLHF包含了两个至关重要的步骤:RLHF理论篇

2023-11-13 02:34:20 476

原创 LLM微调过程中灾难性遗忘问题解决方法

灾难性遗忘是LLM微调过程中最常见的问题,下面是一些解决办法:more。

2023-11-06 02:50:21 1119

原创 Flash-Attention

这是一篇硬核的优化Transformer的工作。众所周知,Transformer模型的计算量和储存复杂度是ON2。尽管先前有了大量的优化工作,比如LongFormer、Sparse Transformer、Reformer等等,一定程度上减轻了Transformer的资源消耗,但对Transformer的性能有所折损,且扩展性不强,不能泛化到其它领域、以及复杂结构的叠加。more。

2023-10-16 02:38:37 433

原创 Self-Instruct

本篇工作利用LLM的生成能力,来产生大量指令数据集(指令、输入、输出),无需人工标注数据。千万不要误解成了模型自己生成输入和标签,然后自己学习,自娱自乐。其中,在对任务判别的时候,需要区分是输出优先还是输入优先。

2023-10-13 02:20:58 104

原创 大模型微调方法

下面是一些参数高效的微调大模型方法:more。

2023-09-19 01:06:24 566

原创 扩散原理详解与实战

学习一下扩散模型的数学原理。more。

2023-09-19 00:56:25 184

原创 常见的相似性度量方法

有如下几种计算相似性方法:more。

2023-09-14 01:41:02 161

原创 旋转位置编码

旋转位置编码具有良好的外推性,即模型在预测时可以处理比训练时数据更长的序列。下面是具体的推导过程:more。

2023-09-14 01:37:59 120

原创 莫比乌斯召回系统介绍

当前召回系统只能召回相关性高的广告,但不能保证该广告变现能力强。莫比乌斯做了如下两点创新:more。

2023-09-14 01:30:29 152

多界面传值

通过代理协议实现多个界面的传值

2017-08-14

空空如也

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

TA关注的人

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