自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(420)
  • 收藏
  • 关注

原创 Transformer & MHA &KV-Cache技术小结(MHA,GQA,MQA,MLA)

参考:https://blog.youkuaiyun.com/xiangxueerfei/article/details/144560852。参考:https://zhuanlan.zhihu.com/p/25547444712。Attention 进阶史(MHA 、MQA、 GQA、 MLA)

2025-03-28 17:55:11 138

原创 大模型偏好优化方法都有哪些:RLHF、PPO(Proximal Policy Optimization)和DPO(Distributional Proximal Optimization)的区别

初始化预训练语言模型后,收集模型响应数据及人类反馈,训练奖励模型,接着采样收集数据、计算优势,利用 PPO 目标函数更新策略,通过裁剪机制保证学习稳定,不断迭代优化。先收集人类生成的提示和响应数据,对商业预训练模型进行监督微调,接着人类评估者对模型响应质量打分,以此训练奖励模型,最后语言模型利用奖励模型通过强化学习优化响应生成策略,使模型输出更符合人类偏好。直接基于人类偏好优化模型,无需奖励模型,通过调整模型使其更好地符合人类反馈所表示的偏好输出,直接优化策略以符合人类偏好,简化了 RLHF 过程。

2025-03-28 15:49:02 615

原创 LLM大模型预测耗时的粗略估计方法

在生成后续 token 时,模型可以利用之前生成的 KV 缓存,从而避免对整个输入序列进行重复计算。生成每个新 token 时,模型会将前一个 token 的输出作为输入,结合 KV 缓存,快速生成下一个 token。后续 token 生成:在生成每个新 token 时,模型利用之前的 KV 缓存和前一个 token 的输出,进行增量计算,快速生成下一个 token。首个 token 的耗时 b:与 prompt 的长度和 KV 缓存的初始化有关,通常是生成每个 token 耗时 k 的十几倍或更多。

2025-03-28 10:38:58 250

原创 vlm模型使用的时候温度设置是指什么

温度是控制生成模型输出风格的重要参数,直接影响生成结果的随机性和多样性。在使用 VLM 模型时,合理设置温度可以帮助你根据任务需求获得更理想的结果。如果你的任务需要精确回答,可以选择较低的温度;如果需要创造性和多样性,则可以适当提高温度。它主要影响模型输出的概率分布,从而决定生成结果的创造性、多样性和确定性。在使用VLM(Vision-Language Model,视觉-语言模型)或其他生成式模型时,如果你有具体的任务场景或问题,可以进一步描述,我可以为你提供更详细的建议!是经过温度调整后的概率分布。

2025-03-28 10:15:52 497

原创 大模型训练步骤:预训练;增量预训练;微调;RLHF或者DPO

经过SFT和对齐阶段的训练,我们可以得到一个优化后的模型,这个模型可以部署上线。在使用模型全局tuning的方式适应下游任务时,预训练模型的泛化性能会被严重削弱,因此Prompt-based方法在保持预训练模型参数权重不变的条件下, 增加额外可学习的Prompt tuning 模块来实现对下游任务的泛化,这样就能较好地保持原模型的泛化性能。总结来说,Post-pretraining是一个介于预训练和微调之间的训练阶段,它使用大量的领域特定数据来进一步调整模型,使其更好地理解特定领域的语言和任务。

2025-03-27 19:03:42 305

原创 Transformer 的三大优化技术

通过将每个 token 路由到少数几个专家,MoE 能够显著增加模型的整体参数量(即容量),同时不会显著增加每个 token 的计算成本。具体来说,对于 d 维的特征表示,将其前 d/2 维和后 d/2 维分别组成复数表示,并施加一个位置相关的旋转变换。传统的绝对位置编码通过在词嵌入上加上一个固定的正弦和余弦函数生成的编码来表示位置,但这种方法并不适合长序列的学习。共享专家隔离:一组共享专家服务于所有标记,负责处理广泛有用的知识,而其余专家则专注于某些特定语言或领域的模式。

2025-02-24 11:24:59 848

原创 FSDP完全分片数据并行

这种做法避免了一种微妙的偏差,即那些损失标记数较少的样本(例如,响应较短的样本)会被过度加权,因为如果使用设备本地的损失标记数,这些样本往往会与一个较小的除数配对。损失标记数的影响:在计算每个设备的梯度时,通常会将该设备上的总损失除以该设备上的损失标记数。然而,如果使用设备本地的损失标记数,那些损失标记数较少的样本(例如,响应较短的样本)会被过度加权,因为它们的损失会被一个较小的除数除,从而导致梯度计算出现偏差。为什么损失标记数重要?如果损失标记数不同,会导致不同样本的损失权重不一致,从而影响梯度的计算。

2025-02-21 15:35:40 634

原创 通过docker overlay2目录名查找容器名和容器ID

参考:https://blog.youkuaiyun.com/beck_li/article/details/142059298有时候经常会有个别容器占用磁盘空间特别大,这个时候就需要通过docker overlay2 日录名查找对应容器名.1.首先进入到 /var/lib/docker/overlay2 目录下2.查看谁占用容间最大。

2025-01-21 14:30:50 517

原创 【LLaVA系列】CLIP/LLaVA/LLaVA1.5

参考:https://blog.youkuaiyun.com/2401_84033492/article/details/139381898。

2025-01-20 17:42:09 117

原创 虚拟换装工程

这个是腾讯的,第4条指令用到了IDM-VTON中的模型。部署过程参考:https://blog.youkuaiyun.com/weixin_41012399/article/details/145160752?部署过程参考:https://blog.youkuaiyun.com/weixin_41012399/article/details/145140791?https://github.com/yisol/IDM-VTON/tree/main:模型特别大,实测2个a10跑不起来。剩下两个实测了,效果ok。

2025-01-15 15:20:44 189

原创 IMAGDressing用于虚拟穿衣的交互式模块化服装生成

地址:https://github.com/muzishen/IMAGDressing。可以修改随机数种子,生成不同的图片。可以修改随机数种子,生成不同的图片。下载模型放到ckpt。

2025-01-15 15:03:15 167

原创 IDM-VTON效果测试

报错:OSError: yisol/IDM-VTON does not appear to have a file named scheduler_config.json.修改:https://blog.youkuaiyun.com/qq_34342853/article/details/140459724。修改:设置环境变量HF_ENDPOINT为https://hf-mirror.com即可。地址:https://github.com/yisol/IDM-VTON。

2025-01-14 15:39:33 187

原创 vit及其变体(swin Deit)

DeiT模型(Data-Efficient Image Transformer)Touvron等人通过数据增强(data augmentation)等精细训练策略,在不依靠大型专有数据集的情况下实现了出色的模型性能(依然以ImageNet图像分类任务为衡量标准),这一点与原始ViT模型相反,ViT模型是在Google的JFT-300M闭源数据集上训练的。DINO模型(Self-distillation with no labels)目前谈及的ViT模型都经过有监督的分类任务(预)训练。

2024-11-06 17:00:26 444

原创 优化模型训练过程中的显存使用率、GPU使用率

本人测试过,将num_workers设置的非常大,例如,24,32,等,其效率反而降低,因为模型需要将数据平均分配到几个子线程去进行预处理,分发等数据操作,设高了反而影响效率。其次,当你的服务器或者电脑的内存较大,性能较好的时候,建议打开pin_memory打开,就省掉了将数据从CPU传入到缓存RAM里面,再给传输到GPU上;GPU在等待数据从CPU传输过来,当从总线传输到GPU之后,GPU逐渐起计算来,利用率会突然升高,但是GPU的算力很强大,0.5秒就基本能处理完数据。3. CPU的利用率问题。

2024-11-06 11:55:56 1026

原创 pytoch单卡改多卡ddp训练

参考:https://blog.youkuaiyun.com/weixin_44966641/article/details/121872773。这里的卡设置要小于等于代码里可见的卡设置。

2024-11-05 17:21:15 555

原创 NVIDIA显卡报错:uncorrectable ECC error的问题

参考:https://blog.youkuaiyun.com/caryeko/article/details/140764046。nvidia-smi -i 2 -p 0 修复2号显卡状态,看不出来哪个卡有问题就都修复一遍。

2024-10-29 15:07:14 375

原创 oss-browser linux安装

下载https://oss-attachment.oss-cn-zhangjiakou.aliyuncs.com/ossbrowser/1.17.0/oss-browser-linux-x64.zip。参考:https://blog.youkuaiyun.com/gitblog_00004/article/details/138703127。解压,双击可执行文件即可打开界面。

2024-10-21 17:35:38 267

原创 多模态学习(二)

sam支持4种方式的输入。输入文字进行分割这部分还没有开源。

2024-10-18 14:03:49 119

原创 常用镜像保存

1.orin:部署用,https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel_22-04.html#rel_22-04。2.triton:部署用,nvcr.io/nvidia/tritonserver:24.09-py3 (较新,需要本地cuda版本较高)二、modelscope官方镜像。

2024-10-17 17:50:02 551

原创 onnx修改输入输出名称及维度(动态)

【代码】onnx修改输入输出名称及维度(动态)

2024-10-17 16:43:54 359

原创 mac git管理(新)

1.本地生成ssh key添加到远程gitlab上。3.再git clone 就可以了。本地拉取gitlab地址报错。

2024-10-17 16:31:55 466

原创 yolov5/v7/v8随机种子固定方法

这样随机种子就设置完成,确保每次运行时的随机数生成是可重复的。不过请注意,设置种子只能保证模型在相同的种子值下生成相同的随机数序列,但不能保证模型的训练结果完全相同。(少量数据集下训练结果是完全相同的)参考:https://blog.youkuaiyun.com/qq_45062768/article/details/133852543。二、开启随机种子设置。

2024-09-26 11:59:17 1287

原创 不知道用户名和密码,如何用scp拷贝文件?

参考:https://zhidao.baidu.com/question/502933817.html。4.在A电脑user01下执行scp test.py user02@ip:/data/2、用user01登陆A电脑后,执行ssh-keygen -t rsa 一路回车。1.如果你想在A电脑user01执行scp文件到B电脑user02(没密码)。把刚才粘贴的id_rsa.pub内容复制到里面。user01和user02也可以是root用户。

2024-09-26 10:25:23 251

原创 python添加自定义路径sys.path.append

参考:https://blog.youkuaiyun.com/chengyq116/article/details/97812650。

2024-09-26 10:15:46 363

原创 mmdeploy离线安装

linux arm可以选择onnxruntime-linux-aarch64-1.18.0.tgz。linuxx86可以选择onnxruntime-linux-x64-1.14.1.tgz。解压完export ONNXRUNTIME_DIR=解压后的路径。后来还是使用pip install mmdeploy的方式安装的。需要下载onnxruntime c++的库。但是make -j8的时候都报错。

2024-09-25 16:42:42 299

原创 大模型显存占用计算方法(单卡状态)

一个含有1G参数的模型,如果每一个参数都是32bit(4byte),那么直接加载模型就会占用4x1G的显存。Step1:优化器会先备份一份FP32精度的模型权重,初始化好FP32精度的一阶和二阶动量(用于更新权重)。Step4:优化器利用FP16的梯度和FP32精度的一阶和二阶动量去更新备份的FP32的模型权重。Step2:开辟一块新的存储空间,将FP32精度的模型权重转换为FP16精度的模型权重。模型参数:16(BF16) + 32(PF32)= 48G。模型权重本身(FP32+FP16)

2024-09-23 15:41:12 964

原创 nvidia-smi参数详解,GPU和显存分析

总结起来,显存是一种专门用于存储图形数据的内存,而 GPU 是一种专门用于处理图形和图像数据的处理器。显存和 GPU 是紧密相关的,GPU 使用显存来存储和处理图形数据,以实现高性能的图形渲染和处理能力。在PyTorch中,当你执行完model=MyGreatModel().cuda()之后就会占用相应的显存,占用的显存大小基本与上述分析的显存差不多(会稍大一些,因为其它开销)。显存占用和GPU利用率是两个不一样的东西,显卡是由GPU计算单元和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。

2024-09-23 15:19:09 1801

原创 grid_sampler onnx和 tensorrt不支持吗

pt转onnx不报错,onnx推理grid_sampler报错。trt8.6.1,转trt不报错,trt推理报错。

2024-09-12 16:28:15 445

原创 mmdeploy使用指南

MMDeploy 是一个开源的深度学习模型部署工具集,是OpenMMLab项目的一部分。能更轻松的将 OpenMMLab 下的算法部署到各种设备与平台上。OpenMMLab常用框架:MMDetection、MMSegmentation、MMOCR。

2024-09-12 15:26:14 301

原创 mmdetction使用指南

MMDetection依赖Pytorch和MMCV,因此安装之前需要先安装这两个库。MMCV有两mmcv-full和mmcv两个版本,两者差别在于是否包含CUDA操作,如果不需要使用CUDA可以安装mmcv,不过官方还是推荐安装完整版的mmcv-full。参考:https://blog.youkuaiyun.com/ArthurHai521/article/details/138356084。参考:https://blog.youkuaiyun.com/Adam897/article/details/127534510。

2024-09-12 15:25:50 290

原创 No module named ‘mmcv.runner‘

参考:https://blog.youkuaiyun.com/weixin_55982578/article/details/137243319。版本问题,较早版本的mmcv有runner,后来版本mmcv中的很多库都改到了mmengine里面去了。DistEvalHook和EvalHook在mmengine没有找到。但是有些也找不到了。

2024-09-12 14:41:49 542

原创 使用深度监督策略来优化模型

深度监督策略是一种模型优化的方法,旨在通过在模型的中间层添加辅助监督信号,来帮助模型在训练过程中更好地学习。它不仅仅是一个优化策略,更是一种训练方法,能够提供更多的监督信号,从而加速模型收敛,改善模型性能。多级监督:在模型的中间层添加辅助分类器,为中间层的特征提供直接的监督信号,而不仅仅依赖于最后一层的监督信号。提高性能:通过多级监督信号,模型在不同层次上都能学习到有用的信息,通常能提高模型的整体性能。加速收敛:由于每一层都有直接的监督信号,梯度在反向传播时更稳定,有助于加速模型的收敛速度。

2024-08-30 16:21:30 220

原创 Yolov7重参数化 RepConv 详解

参考:https://blog.youkuaiyun.com/YXD0514/article/details/132466512。

2024-08-28 16:24:52 1105

原创 yolov7详解

引进了更为高效的特征提取模块(ELAN)、下采样模块(MP),不同的空间池化层(SPPCSPC),重参数卷积(RepConv)参考:https://zhuanlan.zhihu.com/p/590986066。:结合YOLOv5中和正样本匹配方法和YOLOX中的正样本筛选方法(SimOTA)2.4 SPPCSPC模块。2.2 ELAN模块。2.5.2 模块实现。

2024-08-28 16:00:55 487

原创 分布式训练ddp和slurm

对于一般的用户来说,ddp多机多卡训练方式已经基本上够用了。然而对于需要进行更大规模训练的人来说,在每个节点上依次运行命令比较繁琐并且容易出错。Slurm 主要的作用在于任务调度,其可以为用户分配计算机节点来执行任务,并且支持任务队列,可以比较高效地分配资源。使用slurm:https://blog.youkuaiyun.com/LittleNyima/article/details/136813418。使用ddp:https://blog.51cto.com/u_16213675/9632480。

2024-08-23 16:30:45 284

原创 图片标签可视化Supervision 计算机视觉工具库

参考:https://blog.youkuaiyun.com/weixin_46105038/article/details/140722342。

2024-08-16 17:38:41 207

原创 transform与位置编码

因为是一次性接收所有token作为输入进行并行处理,“遗忘”的问题没有了、所有的token都一视同仁了、上下文的信息能同时获取到、时间复杂度也降下来了。但是这又出现了新的问题,因为所有token一视同仁了,模型就没有办法知道每个token在句子中的相对和绝对的位置信息,而位置关系对于NLP任务来说是有着决定性影响的。在Transformer出现以前,NLP任务大多是以RNN、LSTM为代表的循环处理方式,即一个token一个token的输入到模型当中。2.句子越靠后的token对结果的影响越大;

2024-08-09 18:35:09 246

原创 GLIP学习

GLIPv2参考:https://blog.youkuaiyun.com/jiaoyangwm/article/details/130623815。GLIP参考:https://zhuanlan.zhihu.com/p/638842771。

2024-08-09 16:28:32 292

原创 detr学习

detr和deformable-der的非常好的一篇讲解:https://zhuanlan.zhihu.com/p/700776674。

2024-08-09 11:44:03 300

原创 机器视觉相关名词定义

在目标检测中,FPS是衡量模型实时性能的关键指标。GFLOPS衡量的是模型每秒能执行的浮点运算次数,单位是十亿(Giga)次浮点运算。在目标检测模型中,一个模型的GFLOPS越高,表示该模型在硬件上执行运算的能力越强。GFLOPS是衡量算法计算复杂度的指标,通常与模型的参数量和运算量相关。在目标检测模型中,参数量通常指的是模型中可学习参数的总数。参数量是衡量模型复杂度的一个重要指标,它直接影响到模型的存储需求、计算成本以及训练时间。参数量的多少也与模型的容量有关,即模型能够学习的特征信息量。

2024-08-09 10:56:50 323

空空如也

空空如也

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

TA关注的人

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