
深度学习
文章平均质量分 72
深度学习
FakeOccupational
这个作者很懒,什么都没留下…
展开
-
c++高性能多进程 cuda编程: safe_softmax实现 + cub::BlockReduce自定义归约操作
例如,计算线程块内的最大值:或者使用自定义操作:原创 2025-03-17 15:00:00 · 469 阅读 · 0 评论 -
c++高性能多进程 cuda编程: naive_softmax实现和图示
分母d_total_inverse的计算图示: Layer 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 SM BlockReduce 0 1 2 3 4 5 6 7 8 9原创 2025-03-13 19:00:00 · 792 阅读 · 0 评论 -
CUDA error: fatal error: cuda/std/utility: No such file or directory #include
【代码】CUDA error: fatal error: cuda/std/utility: No such file or directory #include。原创 2025-03-11 19:00:00 · 190 阅读 · 0 评论 -
CUDA error: fatal error: cub/cub.cuh: No such file or directory的解决方案 + 单独安装 CUB解决
CUDA error: fatal error: cub/cub.cuh: No such file or directory的解决方案 + 单独安装 CUB解决原创 2025-03-10 15:00:00 · 607 阅读 · 0 评论 -
图片速览 FlashAttention + Online softmax论文翻译 & Online normalizer calculation for softmax
算法 3 的第 1-6 行定义了一种顺序计算归一化项的方法,通过一次遍历输入向量来完成。这种并行化方法将算法的计算过程分解成多个并行线程,每个线程负责计算输入向量的一部分,最后将结果合并。在线 Softmax(算法 3)对每个向量元素进行三次内存访问:一次加载用于计算归一化项,一次加载和一次存储用于计算 Softmax 函数值。,然后再将新值加入归一化项。在自回归模型的推理过程中,结合 TopK 后进行搜索,而 TopK 不需要计算所有的。(计算的顺序不影响最终结果)的,这使得可以并行地评估公式 (3)。原创 2025-03-08 19:00:00 · 2026 阅读 · 0 评论 -
图片速览 DeepSeek NSA Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention
长上下文建模对下一代语言模型至关重要,但标准注意力机制的高计算成本带来了显著的计算挑战。稀疏注意力为提高效率同时保持模型能力提供了一个有前景的方向。本文提出了NSA,一种原生可训练的稀疏注意力机制,它将算法创新与硬件对齐的优化相结合,以实现高效的长上下文建模。NSA采用动态分层稀疏策略,将粗粒度的标记压缩与精细粒度的标记选择相结合,以保留全局上下文感知和局部精度。该方法通过两个关键创新推动了稀疏注意力设计:(1) 通过算术强度平衡的算法设计,在现代硬件的实现优化下,实现了显著的加速。原创 2025-03-06 19:00:00 · 705 阅读 · 0 评论 -
高性能 :OpenAI Triton& torch.compile(add,backend=“inductor“) & torch生成Triton 内核代码+使用用户编写的Triton 内核
的行为、查看中间代码、诊断错误或性能问题。进行编译时,可以启用调试模式,以便分析。是一个环境变量,在使用。原创 2025-02-11 19:01:01 · 866 阅读 · 0 评论 -
高性能 :OpenAI Triton Open-source GPU programming Language LINUX 环境配置
【代码】高性能 :OpenAI Triton Open-source GPU programming Language LINUX 环境配置。原创 2025-02-10 15:00:00 · 890 阅读 · 0 评论 -
高性能 :DeepSeek-V3 inference 推理时反量化实现 fp8_cast_bf16
【代码】高性能 :DeepSeek-V3 inference 推理时反量化实现 fp8_cast_bf16。原创 2025-02-06 19:00:00 · 1494 阅读 · 0 评论 -
图片速览 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
NeRF 的神经网络部分(图中的(a)到(b))用于从给定的光线信息(位置和方向)计算颜色和密度。图中的(c)为体积渲染,体积渲染(Volume Rendering)来从神经网络的输出生成图像。原创 2025-01-20 19:50:09 · 783 阅读 · 0 评论 -
图片速览 difflogic: Deep Differentiable Logic Gate Networks 可微分逻辑门网络
近年来,研究越来越集中于高效神经网络。本研究探索用于机器学习任务的逻辑门网络。由于具有签名 $f : \{0,1\} \times \{0,1\} \rightarrow \{0,1\}$的函数总共有 16 种,每个神经元执行的操作信息可以仅用 4 位编码表示(见Table 1)。目标是学习这些 16 种操作中哪一种对每个神经元来说是最优的。原创 2025-01-12 15:00:00 · 1026 阅读 · 0 评论 -
视频多模态模型: VideoChat、Video-LLaMA、Video-ChatGPT、Video-LLaVA等
以视频为中心的多模态对话系统通过使用开源视觉模型将视频内容文本化,将视频理解表述为自然语言处理 (NLP) 问答。引入了一种以视频为中心的多模态指令微调数据集。创建了一个独特的数据集,其中包含数千个视频,并配以详细的文本描述和对话,这些描述和对话使用密集的字幕按时间顺序提供给 ChatGPT。该数据集强调时空对象、动作、事件和因果关系,为训练以视频为中心的多模态对话系统提供了宝贵的资源。原创 2024-05-22 16:58:38 · 3843 阅读 · 2 评论 -
OOD:Holistic Representation Learning for Multitask Trajectory Anomaly Detection
文中介绍了用于学习轨迹正常模式的整体多任务方法。每个潜在空间轨迹段通过第 3.3 节中定义的正负对自监督对不同时间的正常轨迹的预期进展进行编码。潜在片段表示被解码到输入空间并与正常/异常轨迹进行比较,如第 3.4 节所述。我们将 T 帧上的完整连续轨迹表示为v∈RT×Nv∈RT×N,其中 N 是每个点 x 的空间坐标个数,t1Tt1...T。文章将子序列定义为超过t\hat tt个时间位置的连续片段sss。该研究将整个轨迹vvv。原创 2024-03-21 13:44:41 · 1190 阅读 · 0 评论 -
图片速览 BitNet: 1-bit LLM
模型使用absmax 量化方法进行b比特量化,将输入量化到−QbQbQb2b−1xQuantxClipx×γQb−QbϵQb−ϵClipxabmaxaminbx))γ∣∣x∣∣∞其中 ε 是一个小的浮点数,可防止在执行截断时溢出。原创 2024-03-07 19:34:44 · 1089 阅读 · 0 评论 -
图片速览 PrintListener: 通过手指摩擦声发现指纹认证漏洞
PrintListener的攻击场景广泛且隐蔽。它只需要记录用户的指尖摩擦声,就可以利用大量的社交媒体平台进行启动。在实际场景中的大量实验结果表明,Printlistener 可以显著提高 MasterPrint的攻击力。优势:1)隐蔽性:PrintListener可以通过利用主流社交软件进行语音和视频功能,不需要任何辅助硬件。它利用智能手机等电子设备中的内置麦克风来捕捉手指在电子屏幕上移动产生的微弱摩擦声。随后,从这些声音中推断出用户的指纹模式。原创 2024-02-22 10:00:00 · 1194 阅读 · 0 评论 -
pytorch框架:pytorch的钩子
张量钩子是与模型中的具体张量(tensor)相关联的。通过在张量上注册钩子,可以在张量的计算中执行自定义的操作,例如记录梯度、修改张量的值等。这对于调试、可视化和梯度的处理非常有用。在PyTorch中,可以使用方法来添加张量钩子。模块钩子是与模型中的具体模块(layer、block等)相关联的。通过在模块上注册钩子,可以在模块的前向或后向传播中执行自定义操作,例如获取模块的输出、记录模块的参数等。在PyTorch中,可以使用和方法来添加模块钩子。原创 2024-02-20 07:00:00 · 1179 阅读 · 1 评论 -
VisualGLM:推理+微调+sat的简单使用
本段落提供了一个简单且能独立运行的sat模型例子,感觉sat的BaseModel更多还是更关注注意力模型的微调,本段落提供的例子没有很强的逻辑含义,推荐看官方的。注:模型中有两个mixins,VIT的有参数,qformer的为空。原创 2024-01-12 15:24:40 · 2955 阅读 · 0 评论 -
迈向通用异常检测和理解:大规模视觉语言模型(GPT-4V)率先推出
异常检测是跨不同域和数据类型的关键任务。但是,现有的异常检测模型通常是针对特定域和模式设计的。本研究探讨了如何使用强大的视觉语言模型 GPT-4V(ision) 以通用方式处理异常检测任务。我们研究了 GPT-4V 在多模态、多域异常检测任务中的应用,包括图像、视频、点云和时间序列数据,涉及多个应用领域,例如工业、医疗、逻辑、视频、3D 异常检测和定位任务。为了提高 GPT-4V 的性能,我们结合了不同类型的附加提示,例如类信息、人类专业知识和参考图像作为提示。原创 2023-12-31 21:31:08 · 2929 阅读 · 2 评论 -
SoniTranslate
【代码】SoniTranslate。原创 2023-12-29 18:04:15 · 1703 阅读 · 0 评论 -
模糊-神经网络控制 原理与工程应用(绪论)
这样,有两种类型的模糊控制器,即具有确定性输入输出的模糊控制器和具有模糊性输入输出的模糊控制器。前四种属于基于基本参数调整的自适应模糊控制器,第五和第六种为基于模型的自适应模糊控制器,而第七到第九种为基于智能算法的自适应模糊控制器。他们进一步将这一研究推广到其他推理方法下的各类Mamdani模糊控制器,指出基于不同推理方法的简单模糊控制器实际上是不同的非线性PI(比例积分)控制器,其增益是可变的(Ying,1993)。通过调整隶属函数的形状和参数,实现对模糊集合的适应性调整,以更好地适应系统的非线性特性。原创 2023-12-27 15:24:18 · 1853 阅读 · 0 评论 -
OOD DCA视频异常检测中的分而治之:全面回顾和新方法
本文旨在研究分而治之(DAC)方法在VAD领域的应用。近年来,DAC方法作为解决复杂问题的有效方法,在越来越多的关于VAD的文献中被发现。分而治之方法的基本概念是将一个问题分解为多个独立的子问题,分别解决每个子问题,然后合并结果以达到最终解决方案。由此,我们可以提供以下定义:定义 1.在视频异常检测中,“分而治之”方法是指将问题沿特定维度分解为多个独立的子问题。每个子问题都根据其各自的维度独立提供异常分数/结果,然后合并这些分数/结果,以获得视频的总体异常分数/结果。原创 2023-12-27 15:17:35 · 1088 阅读 · 0 评论 -
图片速览 OOD用于零样本 OOD 检测的 CLIPN:教 CLIP 说不
具体来说,我们设计了一种新颖的可学习的“不”提示和“不”文本编码器,以捕获图像中的否定语义。随后,我们引入了两个损失函数:图像文本二进制相反的损失和文本语义相反的损失,我们用它来教导 CLIPN 将图像与“否”提示相关联,从而使其能够识别未知样本。它由三个网络组成:图像编码器、文本编码器和带有可学习的“no”提示 ρ 的“no”文本编码器。: CLIPN的文本编码器ψ与预训练的CLIP的文本编码器保持相同的结构和参数。(3)“no”文本编码器。表示它们是反向匹配的(即,“no”文本与图像具有相反的语义)。原创 2023-12-19 17:43:26 · 704 阅读 · 0 评论 -
图片速览(数据集相关) DrugOOD:分布外 (OOD) 数据集管理器和人工智能辅助药物发现的基准
传统的药物发现过程非常耗时且昂贵。人工智能辅助药物发现在制药领域的应用正在不断扩展,其中,虚拟筛选是最重要但最具挑战性的应用之一。虚拟筛选的目的是在存在大量候选化合物的情况下,精确定位对给定靶蛋白具有高结合亲和力的一小部分化合物。解决虚拟筛选问题的关键任务是开发计算方法来预测给定药物-靶标对的结合亲和力,这是本文研究的主要任务。在人工智能辅助药物发现领域,训练分布与测试分布不同的分布偏移问题无处不在。原创 2023-12-19 17:43:07 · 388 阅读 · 0 评论 -
图片速览 PoseGPT:基于量化的 3D 人体运动生成和预测(VQVAE)
将动作压缩到离散空间。使用GPT类的模型预测未来动作的离散索引。使用解码器解码动作得到输出。提出的方法在HumanAct12(一个标准但小规模的数据集)以及BABEL(最近的大规模MoCap数据集)和GRAB(人-物体交互数据集)上取得了最先进的结果。原创 2023-12-18 14:40:27 · 815 阅读 · 0 评论 -
OOD 异常GPT:使用大型视觉语言模型检测工业异常
大型视觉语言模型(LVLM)如MiniGPT-4和LLaVA已经展示了理解图像的能力,并在各种视觉任务中取得了卓越的表现。尽管由于广泛的训练数据集,他们在识别常见对象方面的能力很强,但他们缺乏特定的领域知识,并且对对象内的局部细节的理解较弱,这阻碍了他们在工业异常检测 (IAD) 任务中的有效性。另一方面,大多数现有的IAD方法仅提供异常评分,并且需要手动设置阈值以区分正常和异常样本,这限制了其实际实施。原创 2023-12-17 17:29:54 · 852 阅读 · 0 评论 -
OOD Hierarchical Semantic Contrast for Scene-aware Video Anomaly Detection 用于场景感知的分层语义对比异常检测模型
提高场景感知能力是视频异常检测 (VAD) 的一个关键挑战。在这项工作中,我们提出了一种分层语义对比(HSC)方法,用于从普通视频中学习场景感知VAD模型。我们首先利用预先训练的视频解析模型,将前景对象和背景场景特征与高级语义相结合。然后,在基于自动编码器的重建框架的基础上,我们引入了场景级和对象级对比学习,以强制编码的潜在特征在相同的语义类中是紧凑的,同时在不同的类中是可分离的。这种分层语义对比策略有助于处理正常模式的多样性,并提高其辨别能力。原创 2023-12-17 17:23:05 · 287 阅读 · 0 评论 -
OOD : DMAD Diversity-Measurable Anomaly Detection
基于重建的异常检测模型通过抑制异常的泛化能力来迭代学习。然而,由于这种抑制,不同的正常模式的重建效果也会变得不理想。为了解决这个问题,本文提出了一种称为多样性可测量异常检测(DMAD)框架,旨在能够增强重建多样性的同时拥有抑制异常泛化的能力。作者评估了模型在视频监控和工业缺陷检测场景中的效果。为了在后一种情况下应用DMAD,作者提出了PDM的变体PPDM,以处理纹理重建中的误报问题。大量的实验结果验证了该方法的有效性。此外,提出的方法即使在受污染的数据和类似异常的正常样本检测面前也表现良好。原创 2023-12-12 18:03:26 · 1730 阅读 · 0 评论 -
图片速览 FlashAttention+Softmax的安全计算形式(暂记)
加快PyTorch对GPT-2的关注。FlashAttention不读写大号𝑁 ×𝑁 注意力矩阵到HBM,导致注意力计算的7.6倍加速。Jax上继承了Numpy计算加速,XLA加速,JIT编译,自动微分等,以下代码不用自己实现cuda函数。作者在附录B中给出了反向传播的推导。原创 2023-08-21 11:00:00 · 469 阅读 · 0 评论 -
pytorch Stream 多流处理
在PyTorch中,默认情况下,GPU上的操作是在默认流(default stream)中执行的。默认流是一个序列化的流,其中的操作按照它们出现的顺序逐个执行。这意味着在没有显式指定其他流的情况下,所有的操作都会在默认流中执行。[JIT] 在 TorchScript 中支持 CUDA 流 https://github.com/pytorch/pytorch/issues/41355。然而,PyTorch还提供了功能可以将操作提交到其他流中执行,以充分利用GPU的并行性。来创建其他流,并使用。原创 2023-08-08 17:00:00 · 5784 阅读 · 0 评论 -
试用AI生成代码工具Fauxpilot,详细安装过程
设置对应的模型类型,‘fastertransformer’ or ‘py-model’ :否则会报错fauxpilot-main-copilot_proxy-1 | WARNING: Model ‘fastertransformer’ is not available. Please ensure that。原创 2023-08-06 11:38:18 · 2099 阅读 · 0 评论 -
DLA 神经网络的极限训练方法:gradient checkpointing
一般来说,训练的过程需要保存中间结果(不管是GPU还是CPU)。前向传播根据输入(bottom_data)计算输出(top_data),后向传播由top_diff计算bottom_diff(如果某个变量打开梯度进行训练的话)。如果不保存这些变量,每次传播时重新分配和计算,会大大减少内存的使用量,但是也会使得网络的训练时间无限延长。原创 2023-08-05 19:37:02 · 908 阅读 · 0 评论 -
FasterTransformer :transformer类模型的三种结构
Transformer是一种基于注意力机制的深度神经网络结构,常用于文本生成、机器翻译等NLP任务:transformer类模型的三种结构,KV Cache in GPT,Kernel fuse原创 2023-08-05 18:29:28 · 726 阅读 · 0 评论 -
c++高性能多进程 cuda编程:GPU结构和通信速度+tiling
SMSMSML2 cacheL1 cacheSP:streaming processor(也称为CUDA core)处理指令的单元。供Global Memory使用的缓存最常见大小为64kB或96kB通常所说的计算机显存包括控制分发单元,算子控制器,浮点运算单元,整数运算单元,结果队列等。原创 2023-08-05 10:00:00 · 29 阅读 · 0 评论 -
模型量化:Training Transformers with 4-bit Integers HQ(哈达玛矩阵量化)
这篇文章将激活、权重和梯度量化为 4 位以加速神经网络训练。但是,现有的 4 位训练方法 需要当代不支持的自定义数字格式 硬件。在这项工作中,我们提出了一种变压器的培训方法,包括 使用 INT4 算法实现的矩阵乘法。培训与 超低 INT4 精度具有挑战性。为了实现这一目标,我们仔细分析 变压器中活化和梯度的具体结构提出 专用的量化器。对于前向传播,我们确定 挑战异常值并提出一个哈达玛量化器来抑制 异常。对于反向传播,我们利用梯度的结构稀疏性 通过提出位拆分并利用分数采样技术来量化 精确梯度。原创 2023-08-02 15:42:02 · 91 阅读 · 0 评论 -
pytorch的发展历史,与其他框架的联系
我一直是这样以为的:pytorch的底层实现是c++(这一点没有问题,见下边的pytorch结构图),然后这个部分顺理成章的被命名为torch,并提供,我们在python中常用的是带有python接口的,所以被称为pytorch。昨天无意中看到Torch是由lua语言写的,这让我十分震惊,完全颠覆了我的想象。所以今天准备查找并记录一下pytorch的发展历史,与其他框架的联系。当然以下列举的部分难以面面俱到,如果您知道哪些有意思的相关知识,请在评论去评论。原创 2023-07-29 19:18:45 · 1795 阅读 · 2 评论 -
DLA :pytorch添加算子
介绍了简单的CUDA入门,涉及到CUDA执行模型、线程层次、CUDA内存模型、核函数的编写方式以及PyTorch使用CUDA扩展的两种方式。通过该项目可以基本入门基于PyTorch的CUDA扩展的开发方式。就总体的逻辑来说正向传播需要输入数据,反向传播需要输入数据和上一层的梯度,然后分别实现这两个kernel,将这两个kernerl绑定到pytorch即可。这部分主要介绍如何在pytorch中添加自定义的算子,需要以下。ScatWave是使用CUDA散射的Torch实现,主要使用lua语言。原创 2023-07-29 11:30:00 · 1946 阅读 · 0 评论 -
100% RNN language model ChatRWKV 相关开源项目
RWKV(读作RwaKuv)借鉴了RNN的移动平均模型(MA),将transformer的OT2d复杂度降低到OTd,同时保持较好的结果表现。RWKV也是一个开源模型,甚至其都有开源。以下为发现的与RWKV相关的开源项目,其中包括模型结构,任务扩展,微调训练,模型加速,服务化等几个部分。原创 2023-07-28 16:47:34 · 1606 阅读 · 0 评论 -
RELU激活函数的导数(caffee)
在深度学习中,ReLU层通常被用作激活函数,因为它可以有效地减少神经网络中的梯度消失问题。f′x10ifx≥0ifx0这个公式的意思是,当x大于零时,ReLU函数的导数为fmax0x)),否则为零。这个导数公式可以帮助神经网络更好地学习非线性特征,并且可以避免梯度消失的问题。原创 2023-07-23 22:36:53 · 2523 阅读 · 0 评论 -
SeLa:Self Labeling Via Simultaneous Clustering and Representation Learning
x∈RDΦxΦII1INy1yN∈1KhRD→RKpy⋅∣xisoftmaxh∘Φxi))Ep∣y1yN−N1i1∑Nlogpyi∣xi1今天求佛x_i =1,明天中彩票的概率和明天不中彩票的概率。原创 2023-07-18 22:03:27 · 734 阅读 · 0 评论 -
图片速览 DCN K-means-friendly Spaces: Simultaneous Deep Learning and Clustering
本文使用了一种交替更新网络参数和聚类中心的方法。在网络更新完成之后,对于固定的网络参数和 M,再更新当前样本的分配向量。然后根据新的分配结果如式子3.8更新聚类中心:注:文中还有问题是否能进行凸优化的部分。原创 2023-07-15 21:17:12 · 2076 阅读 · 0 评论