自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(168)
  • 资源 (12)
  • 收藏
  • 关注

原创 YOLOv8模型ONNX格式INT8量化轻松搞定

模型量化与图结构优化有些是不能叠加运用的,模型开发者应该意识这点,选择适当的模型优化方法。深度学习模型量化支持深度学习模型部署框架支持的一种轻量化模型与加速模型推理的一种常用手段,ONNXRUNTIME支持模型的简化、量化等脚本操作,简单易学,非常实用。,其中ONNXRUNTIME支持的动态量化机制非常简单有效,在保持模型精度基本不变的情况下可以有效减低模型的计算量,可以轻松实现INT8量化。首先需要安装好ONNX支持的FP16量化包,然后调用相关接口即可实现FP16量化与混合精度量化。

2024-09-23 10:18:45 76

原创 ONNX模型部署利器ONNXRUNTIME框架

ONNX格式模型部署兼容性最强的框架 ONNXRUNTIME,基本上不会有算子不支持跟不兼容的情况出现,只要能导出ONNX格式模型,它基本上都能成功加载,成功推理。虽然在CPU速度不及OpenVINO、GPU上速度不及TensorRT,但是胜在兼容性强,支持不同硬件上推理部署包括:ARM、CPU、GPU、AMD等,可以通过设置不同的推理后台支持,包括:支持语言也非常丰富,不止于Python跟C++语言,支持列表如下:支持的操作系统包括Windows、Android、乌班图、iOS等。

2024-09-23 10:03:04 238

原创 PyTorch常用代码段汇总

nn.ReLU(),nn.ReLU(),return out卷积层的计算和展示可以用这个网站辅助。继承torch.nn.Module类写自己的loss。

2024-09-20 16:01:17 847

原创 对象检测边界框损失 – 从IOU到ProbIOU

目标检测损失函数的选择在目标检测问题建模中至关重要。通常,目标检测需要两个损失函数,一个用于对象分类,另一个用于边界框回归(BBR)。本文将重点介绍 IoU 损失函数(GIoU 损失、DIoU 损失和 CIoU 损失、ProbIoU)。首先来了解一下什么是最原始的IoU定义2.什么是IOU(并交比)对象检测中的 mAP(平均精度)指标是根据 IoU(交集超过并集)进行评估的。

2024-09-20 11:50:53 349

原创 知识回顾 - 《Flash Attention为什么这么快?》

FlashAttention和块稀疏FlashAttention支持Transformers处理更长的上下文,从而生成更高质量的模型(GPT-2上的困惑度提升0.7点,长文档分类提升6.4点),以及全新的能力:在Path-X挑战(序列长度16K,61.4%准确率)和Path-256(序列长度64K,63.1%准确率)上实现了超越偶然表现的首个变压器。从HBM中加载输入数据,在SRAM中执行所有的计算操作(矩阵乘法,mask,softmax,dropout,矩阵乘法),再将计算结果写回到HBM中。

2024-09-18 11:23:05 704

原创 国产芯片助力大模型推理!LMDeploy+昇腾 它来了!

近日,LMDeploy 基于其强大的 PytorchEngine,增加了对华为昇腾设备的支持。这样一来,在华为昇腾上使用 LDMeploy 的方法与在英伟达 GPU 上使用 PytorchEngine 后端的方法几乎相同。因此,我们将在本期内容中为大家带来在华为昇腾设备上使用 LMDeploy 的方法。

2024-09-18 09:53:05 1046

原创 一文搞懂 | Pytorch维度转换操作:view,reshape,permute,flatten函数详解

在深度学习网络构建与计算过程中,我们经常会使用到张量维度之间的各种转换,用于不同操作。Pytorch中。本文将详细介绍这几个函数的作用与使用方式,并给出了具体的代码示例,希望能够帮助大家。常见的维度有四维:比如(batch, channel, height, width);三维:比如(b,n,c);二维:比如(h,w)。下面介绍如何使用上述函数进行维度之间的转换。

2024-09-11 17:53:18 1027

原创 从零训练一个Vision Transformer

本文涉及到的详细测试代码和测试步骤放置于:https://github.com/xinyuwei-david/david-share.git下的:Multimodal-Models/Training-VIT,截止到目前,CV模型主要是基于卷积神经网络。而随着Transformer的兴起,VISION TRANSFORMER也逐渐被应用。接下来,我们看一下主流的CV实现,以及它们的特点。

2024-09-11 17:11:47 1205

原创 内网环境使用Docker部署Qwen2模型-vLLM篇

在此之前,我们已成功利用Docker与Ollama框架,在内网环境中部署了Qwen2模型。下面我们再来看一下使用Docker与vLLM框架部署Qwen2模型。

2024-09-09 09:58:15 722

原创 终于有人将多模态重点内容做成了动画

CLIP简单的融合方法使其非常适合检索任务,而不适合生成任务,后续的一些模型为了提升融合效果,常采用Transformer编码器作为融合模块,为了具备图生文本的能力,后续模型也都增加了Transformer解码器;CLIP是入门多模态的最佳选择,后续多模态模型基本上都延续了它的思想:分别用图像编码器和文本编码器将图像和文本编码到一个共享的特征空间中,然后通过多模态融合方法将配对的图像文本特征向量拉进。↳ 为什么这么简单?↳ 注意,编码器输出的文本和图像特征向量维度不同(3维向量 vs. 4维向量)。

2024-09-02 10:41:42 718

原创 [Autoencoder(AE)]手书动画

↳ 这一层通常被称为"bottleneck",因为它的输出(绿色)的特征维度(2)比输入特征(4)少得多。↳ 计算输出(Y)和目标(Y')之间的均方误差(MSE)损失的梯度。↳ 输出(Y)是解码器尝试从降维到2D的表示(绿色)重构训练样本。↳ 将训练样本复制为目标 (Y'),目标就是训练样本本身。↳ 应用ReLU,划掉负值。↳ 应用ReLU,将负值划掉 (-1 -> 0)↳ 应用ReLU,将负值划掉 (-1 -> 0)↳ 首先我们计算 输出(Y) - 目标(Y')↳ 公式是 2 * (Y - Y')

2024-09-02 10:32:45 219

原创 一文彻底搞懂大模型 - LLM的构建流程

在已经预训练好的模型基础上,通过使用有标注的特定任务数据对模型进行进一步的训练和调整,以提高模型在特定任务或领域上的性能。在预训练模型的基础上,针对特定任务或数据领域,通过在新任务的小规模标注数据集上进一步训练和调整模型的部分或全部参数,使模型能够更好地适应新任务,提高在新任务上的性能。预训练是语言模型学习的初始阶段。仅调整模型的部分参数,如添加一些可训练的适配器(adapters)、前缀(prefixes)或微调少量的参数,以保持模型大部分参数不变的同时,实现对新任务的适应。预训练的技术原理是什么?

2024-08-30 14:29:24 974

原创 大模型算法工程师经典面试题————为什么 Bert 的三个 Embedding 可以进行相加?

参考:为什么 Bert 的三个 Embedding 可以进行相加?

2024-08-28 14:40:07 890

原创 灵魂 20 问帮你彻底搞定Transformer

然而,由于模型在生成第t个位置的输出时,不应该看到第t个位置之后的信息(即未来的信息),因此需要通过sequence mask来掩蔽掉这些未来的信息。在Transformer中,由于输入序列的长度是可变的,因此每个序列的批量统计信息(如均值和方差)也是不同的。Q用于查询其他位置的信息,K用于被查询以提供信息,V是实际提供的信息内容。如果Q和K使用相同的权重矩阵,则意味着查询和键的表示会完全相同,这会导致模型在自注意力计算时无法区分哪些信息是用于查询的,哪些信息是被查询的,从而降低了模型的表示能力。

2024-08-28 10:37:39 1563

原创 ATSS论文要点总结(Adaptive Training Sample Selection)

在目标检测中,anchor-based 和 anchor-free 检测器性能差异的关键在于正负样本的定义方式。如果训练过程中使用相同的正负样本定义,两者性能将无明显差异。基于此,作者提出 ATSS 方法,根据目标的统计特征自动选择正负样本,以弥补 anchor-based 和 anchor-free 检测器之间的差距。算法其实就做了三件事:(1)为每个GT box在每个level特征图上选择候选正样本集合;(2)计算每个GT box所有候选正样本的数字特征;(3)根据特征选择正负样本。

2024-08-27 14:17:05 442

原创 如何估算LLM推理和训练所需的GPU内存?

在本文中,我们介绍的评估方法,都是基于Transformer架构推算的,该评估方法不适合Transformer以外的其他体系结构。同时,目前存在大量的框架、模型和优化技术,估计运行大型语言模型的确切内存可能很困难。然而,本文可作为估计执行 LLM 推理和训练所需内存资源的起点。

2024-08-27 10:01:17 881

原创 ICCV2023:Co-DETR:DETRs与协同混分配训练

66AP on COCO test-dev,DINO+ATSS+faster-rcnn达成最强目标检测器论文题目DETRs with Collaborative Hybrid Assignments Training摘要我们提出了一种新的协同混合任务训练方案,即Co-DETR,以从多种标签分配方式中学习更高效的基于detr的检测器。这种新的训练方案通过训练ATSS和Faster RCNN等一对多标签分配监督下的多个并行辅助头部,可以很容易地提高编码器在端到端检测器中的学习能力。此外,我们通

2024-08-26 14:59:42 1108

原创 Git 分支操作全解析:创建、切换、合并、删除及冲突解决

管理代码的时候,在集中式管理(比如SVN)中会创建Trunk、Branches、Tag等一些目录,分别放置开发代码、代码分支以及代码的里程碑。那么在 Git 中也使用分支和tag来管理代码。分支就是就是一个代码的副本,可以基于分支进行独立开发。比如我们创建 Bug 分支或者 Feature 分支,等开发好了再合并到主干上。

2024-08-26 10:07:35 1659

原创 一文搞懂SFT、RLHF、DPO、IFT

SFT、RLHF 和 DPO 都是先估计 LLMs 本身的偏好,再与人类的偏好进行对齐;SFT 只通过 LLMs 生成的下一个单词进行估计,而 RLHF 和 DPO 通过 LLMs 生成的完整句子进行估计,显然后者的估计会更准确;虽然 RLHF 和 DPO 取得比 SFT 好的结果,但代价是高昂的数据构造和计算资源开销;IFT 通过引入时序残差连接,仅使用多推理一步的开销,就可以融合 SFT、RLHF 和 DPO 的训练目标,摆脱对偏好数据和参考模型的依赖,保证训练目标与真实生成目标更加相近;

2024-08-22 15:32:08 1284

原创 阿里开源通用多模态大模型mPLUG-Owl3:迈向多图长序列理解

阿里的mPLUG系列在多模态大模型领域产出了多项研究工作。从mPLUG-Owl初代模型引入了视觉对齐-语言模型微调的训练模式,到mPLUG-Owl2通过模块化的模态自适应解决模态拉扯,再到mPLUG-DocOwl通过切图建模高分辨率。这一系列模型一直在探索更为高效有效的多模态大语言模型。尽管近年包括mPLUG-Owl在内的主流多模态大模型在多种单图任务上取得了一系列进展,当前对于多模态大模型来说,多图长序列输入仍然是一个极具挑战性的场景。

2024-08-19 15:56:45 992

原创 腾讯优图开源多模态大模型VITA : GPT-4o的简易平替!

LLM指令微调、多模态对齐和多模态指令微调。

2024-08-19 15:46:03 1043 1

原创 8B 端侧小模型 | 能力全面对标GPT-4V!单图、多图、视频理解端侧三冠王,这个国产AI开源项目火爆全网

这两天, Github上一个 国产开源AI 项目杀疯了!一开源就登上了 Github Trending 榜前列,一天就获得将近600 star。这个项目就是国内大模型四小龙之一面壁智能最新大打造的它再次刷新端侧多模态天花板,仅8B参数,更有:小钢炮一口气将它端侧友好,量化后端侧 6G 内存即可使用;端侧推理速度高达 18 tokens/s,相比上代模型快 33%。并且发布即支持 llama.cpp、ollama、vllm 推理;且支持多种语言。

2024-08-13 14:53:17 777

原创 计算机视觉算法面试

attention机制的优势是能够以较大的感受野来实现任务性能的提升,可以解决卷积的一些暂时不好解决的问题,但是它的劣势也比较明显,一来是计算量的问题,二来是不一定所有任务都需要attention,它也不是万能的东西。BN训练的时候,均值和方差的统计量都是在batch维度上统计得到的,但是测试的时候batch size一般是1,没办法得到统计量,因此一般会保存最后一个训练批次得到的统计量,或者对最后几个批次的统计量进行moving average,用于最后的测试。从整数的因数角度回答了出来。

2024-08-12 18:40:22 489

原创 从头预训练一只迷你 LLaMA 3

虽然是练习,但既然打着复现工作的名头,还是来简要回顾一下原工作究竟做了什么吧。原工作探索的问题是语言模型(LM)在文本连贯性上的表现。像早期的一些语言模型如 GPT-2,即使在一些 Common Craw 这样的语料库上大量预训练后,也很难生成长的、连贯的文本。比如前几年有一种 AI 玩具类型是做文本续写,例如彩云小梦,可以写写作文、小说什么的,如果大家玩过就知道效果其实一言难尽,和今天的大模型完全没法比,其实这就是 GPT-2 level 的续写能力。

2024-08-12 11:18:53 820

原创 这次终于能把vit Transformer搞清楚了

在“Attention is All You Need”¹一文中,Transformer作为一种利用注意力机制作为主要学习方式的机器学习模型被首次引入。这一模型迅速成为序列到序列任务(如语言翻译)中的顶尖技术。“An Image is Worth 16x16 Words”²成功地将[1]中提出的Transformer模型进行改造,用于解决图像分类任务,从而诞生了视觉Transformer(Vision Transformer,简称ViT)。

2024-08-12 10:58:13 1060

原创 使用 ollama 快速部署 InternLM2.5!

ollama 是一个用于部署和管理 LLMs 的工具,它可以帮助用户轻松地将复杂的模型部署到生产环境中。本文将介绍在 Linux 系统下如何使用 ollama 快速部署 InternLM2.5。使用如下 shell 脚本下载并安装 ollama。脚本执行成功后,可以在终端执行 ollama --version, 输出 ollama 版本号说明已成功安装。ollama 安装成功后默认会开启服务。如果未启动服务,可以执行 ollama serve 启动服务。

2024-08-07 18:29:50 983

原创 Transformers 中的Softmax 和 Layer Norm 如何并行?

为啥叫 Fused?他给出的算法,可以在一个集合新增一个元素的时候,均值和方差的不需要把所有的数都遍历一遍,而是根据之前集合的均值和方差就可以直接计算出来。感兴趣的可以看看 oneflow 的一个 softmax 深度优化:https://www.oneflow.org/a/share/jishuboke/54.html . 源代码在https://github.com/Oneflow-Inc/oneflow/blob/master/oneflow/core/cuda/softmax.cuh。

2024-08-06 14:07:22 1010

原创 初学者指南:了解 PyTorch 的 torch.nn 模块

torch.nn除了使用torch.nn提供的现成层,我们还可以定义自己的层。

2024-08-06 10:05:54 417

原创 为什么DETR不需要NMS后处理?

DETR(Detection Transformer)是一种革命性的目标检测模型,它通过将目标检测任务重新定义为一个直接的set prediction问题,显著地简化了传统目标检测流程。在DETR中,引入了稀疏的object queries和位置编码来改善特征表示,并采用变压器(Transformer)结构来直接预测固定数量的目标及其属性,避免了传统目标检测中普遍存在的重复检测问题。这种方法的核心优势在于每个目标仅由一个检测框表示,理论上不需要任何后处理操作如非极大值抑制(NMS)。

2024-08-05 14:09:06 1013

原创 一文彻底搞懂Transformer - Add & Norm(残差连接和层归一化)

在Transformer模型中,Add & Norm(残差连接和层归一化)是两个重要的组成部分,它们共同作用于模型的各个层中,以提高模型的训练效率和性能。网络退化:网络退化(Degradation)是深度学习中一个常见的现象,特别是在构建深层神经网络时更为显著。它指的是在网络模型可以收敛的情况下,随着网络层数的增加,网络性能先增加后迅速下降的现象。这种现象并不符合常理,因为更深的网络结构通常被认为应该表现得更好。

2024-08-02 16:56:48 1306

原创 从提示词工程到 Agent 工程

这是对 " Agent 工程框架 " 的首次尝试,通过勾勒一个高层次的思维模型,提出了一种设计人工智能 Agent 的实用方法,可作为这一演进过程中的一个有用起点。既然我们已经牢牢掌握了 Agent 的工作内容、所需的能力和熟练度以及实现这些能力和熟练程度的可用技术,我们就可以将重点转移到 Agent 的结构和编排上,无论是单独配置还是某种群集或生态系统。在某些方面,这是 " 橡胶与道路 " 的结合点,我们会发现自己正在将多种技术和技巧融合在一起,为我们的 Agent 注入活力。

2024-08-02 10:08:12 485

原创 为什么LLM推理加速有KV Cache而没有Q Cache?

在没有Causal Mask时,计算t位置的Attention需要未来的KV,这在实际进行自回归推理时无法得到;在序列的t位置,Q只有当前位置的 𝑞𝑡q_t 参与了计算,而K和V多个位置参与了计算,所以需要KV Cache,而不需要Q Cache。但是每次都要用到当前和过去所有的KV,这次用到的KV下次马上就要再用一次,所以Cache KV可以加速推理。直到这一步,K和Q看上去都很对称。无论有没有Causal Mask,Q和K在结果中都是不对称的。,这次用的Q下次不会用到,所以不用Cache Q;

2024-07-30 14:31:13 467

原创 CLIP论文解读(翻译)

Tan和Le(2019)为他们高效的网络架构调整了分配给每个维度的计算比例,而我们则简单地将额外的计算资源平均分配到模型的宽度、深度和分辨率的增加上。我们利用互联网上收集的4亿对(图像,文本)对的数据集,从头开始学习最先进的图像表示。具体来说,文本变换器的计算需求是图像编码器的两倍,但在学习识别ImageNet类别上的速度,远不如一个预测相同文本词袋编码的简单模型。我们测试了这种方法在30多个不同的计算机视觉任务上的表现,包括识别照片中的文字、视频中的动作、确定照片的拍摄地点,以及识别不同种类的精细物体。

2024-07-30 11:49:29 826

原创 YotoR(You Only Transform One Representation)

本文介绍了一种名为YotoR(You Only Transform One Representation)的新型深度学习目标检测模型。该模型将Swin Transformers与YoloR架构相结合。在自然语言处理领域引起革命的Transformer技术,如今同样对计算机视觉产生了深远影响,展现出显著提升准确性和计算效率的潜力。YotoR将健壮的Swin Transformer主干网与YoloR的 Neck 和 Head 结合在一起。实验证明了两种模型结合的有效性。

2024-07-29 14:55:23 302

原创 大模型面经之bert和gpt区别

架构:基于Transformer的编码器部分进行堆叠构建,通过预训练和微调两个阶段来生成深度的双向语言表征。作为单向模型,GPT在生成文本时只能依赖已生成的上文,因此在处理需要理解整个文本的任务时可能表现不足。架构:基于Transformer的解码器部分,通过自回归语言模型预训练来学习生成连贯文本的能力。特点:采用了自回归语言模型的预训练方式,逐步生成下一个词语,以此生成连贯的文本。训练方式:单向预训练,从左到右生成文本,只能依赖已生成的上文来预测下一个词语。训练方式:双向预训练,同时考虑前后文信息。

2024-07-29 14:25:38 970

原创 PaddleOCR用onnx推理代码并精度对齐

【代码】PaddleOCR用onnx推理代码并精度对齐。

2024-07-19 18:53:45 929

原创 一文搞懂 Transformer中的三种注意力机制

Transformer使用多头注意力机制的三种不同方式如下:在“编码器-解码器注意力”层中,查询来自前一层解码器,而记忆键和值则来自编码器的输出。这使得解码器中的每个位置都能关注输入序列中的所有位置。这模仿了序列到序列模型中典型的编码器-解码器注意力机制。编码器包含自注意力层。在自注意力层中,所有的键、值和查询都来自同一个地方,即编码器前一层的输出。编码器中的每个位置都可以关注编码器前一层中的所有位置。同样,解码器中的自注意力层允许解码器中的每个位置关注解码器中包括该位置在内的所有位置。

2024-07-19 14:40:10 1300

原创 BLIP-2:节约多模态训练成本:冻结预训练好的视觉语言模型参数

BLIP-2 是一种多模态 Transformer 模型,主要针对以往的视觉-语言预训练 (Vision-Language Pre-training, VLP) 模型端到端训练导致计算代价过高的问题。所以,如果能够使用,应该能够节约不少的计算代价。BLIP-2 就是这样,这个工作提出了一种借助现成的和的,高效的视觉语言预训练方法。但是,简单的冻结预训练好的视觉模型的参数或者语言模型的参数会带来一个问题:就是视觉特征的空间和文本特征的空间,它不容易对齐。

2024-07-18 11:48:52 1019

原创 详解视觉Transformers

从2017年在《Attention is All You Need》中首次提出以来,Transformer模型已经成为自然语言处理(NLP)领域的最新技术。在2021年,论文《An Image is Worth 16x16 Words》成功地将Transformer应用于计算机视觉任务。从那时起,基于Transformer的各种架构陆续被提出用于计算机视觉。Transformer是一种利用注意力机制作为主要学习机制的机器学习模型,它很快成为了序列到序列任务(如语言翻译)的最新技术。

2024-07-16 11:25:05 1651

原创 超大模型加载转换Trick

在深度学习领域,大模型的训练和推理通常需要消耗大量的计算和内存。如何高效地加载和使用大模型是一个相当关键的问题。在这篇博客中,我将分享一些关于更快加载大模型和减少内存的技巧。

2024-07-15 14:10:29 775

cnn学习讲义

cnn学习讲义,入门很不错

2016-05-29

《模式识别与智能计算的MATLAB实现》

《模式识别与智能计算的MATLAB实现》理论联系实际,较为全面地介绍了现代模式识别和智能计算方法及其应用技巧。通过大量实例,讲解了模式识别和智能计算的理论、算法及编程步骤,并提供基于MATLAB的源代码。

2015-01-10

C程序设计语言(he_C_Programming_Language)

C程序设计语言(he_C_Programming_Language),一本很不错的学习C语言的书籍

2014-12-21

图像拼接算法

图像拼接方法和代码,可用于学习和参考,现在的拼接算法大致都差不多!

2014-12-20

21天学通C#

21天学通C#书籍,可用于参考和学习,很不错的c#入门书籍

2014-12-20

字符识别源码

用于做字符识别的源码,可以作为学习和参考的资料!还很不错

2014-12-20

基于OpenCV的计算机视觉技术实现

基于OpenCV的计算机视觉技术实现,是一本很不错的书籍,可以学习

2014-12-12

指针和引用的区别

这个课件详细的介绍了指针和引用的区别,对于C/C++的初学者来说,有很大的帮助,值得学习!

2014-12-07

空空如也

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

TA关注的人

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