自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 提示词应用

可以用合适的提示词,让模型生成需要的数据。

2026-04-20 22:52:20 27

原创 Agent外挂RAG,然而RAG中有些是企业内部机密资料,怎么避免隐私泄露,或攻击

将企业内部资料进行数据分级,至少区分,公开,内部、敏感、严格机密。不同密级不要混在一个统一索引里裸检索,而需要按照租户,部门、项目、密级做逻辑隔离,必要时做物理隔离。敏感资料原则上不该进入长期记忆;必须进入向量库的,也要加密、分区、限权,并控制召回范围。根据使用者的身份,角色,部门,项目范围等,设定检索权限范围。第九道:别把“记忆”“缓存”“向量库”当成天然安全区。第五道:对输出做 DLP(数据防泄漏)检查,不仅查输入,也查模型输出和工具出参。第八道:做红队测试,重点测“越权问答、注入、外传、旁路推断”。

2026-04-20 21:56:24 454

原创 Travel Agent跑通

由于各大大模型厂商的API都要钱,于是自己通过vLLM跑了一个本地大模型。qwen 1.8b。

2026-04-17 18:11:00 26

原创 AI coding 可操作版

生成代码期间,打开对应模块,然后说:在开发中,我会大致审查下AI生成的代码是否在命名框架上是否合理,是否正确理解我的意思,完成我想要的功能,检查是否有可能潜在的漏洞,或后期可能可以优化,扩展的地方。3.异常处理,是否有 try/except,assert等放错处理,是否有明确error,出错了是否直接崩。代码生成好后,不直接照抄,适当修改,校验(要说出来,自己在干嘛)4.外部依赖,看他调了什么库,什么API,会不会不稳定。2.看主流程,先做了什么,在做了什么,出错时怎么处理。

2026-04-13 15:01:51 292

原创 AI coding类项目的面试(阿里巴巴为例

我会按一个缩小版标准研发流程来做:需求澄清 → 方案设计 → 模块拆解 → AI 辅助实现 → 测试 → Demo → 风险与优化。我要先做一个最小可运行的 MVP,先满足主链路,再补异常处理、测试和文档。你拿到模型回复后,不要照抄,要自己再整理一下。这一步你要自己先想清楚流程,再让模型补代码。这样看起来是你在主导,不是模型在主导。如果不好,就继续追问,而不是直接复制。这一层建议单独封装,不要散在主流程里。因为面试官很可能在观察你的整个过程。接着你需要让面试官看到你有设计意识。

2026-04-12 16:47:46 559

原创 大模型学习相关项目或文档

提示词工程手册:链式提示 | Prompt Engineering GuideAgent学习手册及项目:datawhalechina/hello-agents: 📚 《从零开始构建智能体》——从零开始的智能体原理与实践教程chat-flow:prompt-engineering/chat-flow: ChatFlow - AI-based chat flow framework, personalize your ChatGPT workflows and build the road to automa

2026-04-10 13:39:33 16

原创 大模型题目6

GQA:若干个query head 共享一组K/V head,共有 g个K/V head,满足1<g<h。A. GQA的主要收益是减少query投影计算,而K/Vcache大小与MHA基本相同。核心的就是其中注意力机制:(MHA、MQA、GQA、MLA、NSA、SSA、MoBA)C. GQA让K/Vcache与带宽开销更接近MQA,而质量通常比MQA更接近MHA。B. GQA的主要收益是增大K/V表达维度,因此推理质量通常超过MHA。MHA:每个query head 都有独立的 K/V head。

2026-04-10 11:13:15 33

原创 大模型是这样进行深度思考的

但其实后面发现推理过短也不好,所以认为设定,如果超过某个长度,直接让他不说了,如果过短就强制把end替换为wait,然后继续输出。对推理结果进行打分,把得出正确结果的收集起来,然后对推理长度做平均,超过平均长度的认为是不好的,短于平均长度的认为是好的。可以训练的时候用老师学生模型,选择推理最短,且回答正确的作为学生模型的训练资料,来学习最短的推理过程。所以有时候训练的时候可以让中间是错误的,知道是错误的之后,后面遇到错误的时候,能够学会纠正。推理过程需要每一步都是对的吗?当如果有错误有时候也会纠正。

2026-04-09 17:04:17 23

原创 大模型后训练怎么避免学到的技能又遗忘。

如果找不到过去的训练资料的话,可以让给模型一些问题以及部分答案,然后让模型回答答案并顺着继续追问,这样不断生成新的问题和答案,从而得到训练资料。post-training 最大的挑战是,模型会可能忘了旧的技能或能力.微调的时候最好混5%的前一阶段的资料,防止模型遗忘已经学到的知识技能。原因,后训练的时候,更加关注到了我们想要的技能,而忽略了其他技能。学得多一些,忘得可能多一些,学的少一些,忘的往往也少一些。且forgetting的现象和参数量大小关系不大。

2026-04-09 14:53:37 15

原创 diffusion扩散模型认识

他是将mask_gt图片,经过T步加噪,得到T个噪点图,(注:这里的T是一个超参数,即 认为设定,一般常见为1000,经过T步后,图形几乎就是纯噪声了)(这里噪声一般加的是高斯随机噪声), 得到T个噪点图后,不是每次都用完全噪声那一个,而是随机抽取1~T 其中一个被加噪了的图。然后送入网络,进行生成mask图,最后又来用mask_gt图,计算loss,进行更新。真正的推理过程是,输入是纯随机噪声图,然后不断去噪,得到干净清晰的mask图。即,我们最后用到的,或者说我们要学习的,就是去噪过程。

2026-04-09 11:21:42 227

原创 提示词工程Zero-Shot、One-Shot、Few-Shot

例如,回答需要最新数据的问题、解决复杂数学问题、进行深度分析等。模型会生成思考链(Reason),然后决定是否需要采取行动(Act),例如调用搜索工具、计算器或代码解释器来获取外部信息,最终综合所有信息给出答案。:适用于任务相对复杂或模糊,仅靠指令或一个例子不足以明确边界的情况。:适用于需要明确输出格式、风格或解决特定类型的问题,但获取大量示例成本较高或不便的场景。:适用于模型已经具备相关知识的通用任务,如翻译、摘要、分类、问答等。,来显著提升模型在复杂推理任务(如数学问题、逻辑推理、常识问答)上的表现。

2026-04-01 23:17:07 431

原创 提示词工程手册学习

尽量说做什么,而不是说不做什么。提示词示例:让模型给出具体回答的最佳方法之一是改善提示的格式。输入Mice.

2026-04-01 10:42:49 37

原创 微调学习。

Lora微调:是引入一个低秩的参数块,用这个参数去适配,影响原来的参数(像继电器一样)微调方法:全量微调,冻结微调,lora微调。

2026-03-30 22:57:41 26

原创 LoRA 大模型微调是怎么回事

预训练:通过海量的输入得到输出,然后计算loss值,不断调整参数的过程。微调:(监督微调SFT)投入特定的文本进行训练。用小矩阵乘法,去适配大矩阵参数的一个过程。

2026-03-30 22:29:54 30

原创 nano-vllm学习

看代码步骤1. 调度:决定下一步运行哪些序列其中seqs表示被调度的序列列表。seqs是一个包含 Sequence对象的列表,这些是被调度器选中、将要送入模型进行本次推理的序列。这些序列的来源:新请求:第一次运行的序列(需要预填充)进行中的请求:已生成部分token,需要继续生成的序列混合批次:可能同时包含新序列和进行中序列# 3. 后处理:更新序列状态self.scheduler.postprocess(seqs, token_ids)更新序列状态什么意思。

2026-03-22 22:02:18 183

原创 怎么解决大模型幻觉问题?

检索增强生成是一种结合外部知识检索生大语言模型(LLM)生成能力的技术框架,主要用于解决大模型在处理需要实时或特定领域知识时的”幻觉”问题(如事实性错误、知识过时Retrieval-Augmented Generation (RAG,等)。3.文档分段:将长文档切分为合适长度的片段(如200-500字),避免信息过载,同时保留上下文完整性。1.查询解析:对用户输入进行预处理(分词,去除停顿用词,语义理解),提取关键信息。检索准确性:避免“无关文档检索”(如通过语义重排序、多阶段检索提升相关性)

2026-03-22 10:04:32 43

原创 预训练对齐Alignment

pretrain的时候,同一个人,不同顺序,不同版本的介绍,可能让模型学到的讯息更加全面,更加多维度。(也类似人理解一个东西,从多维度介绍一个东西后,对一个东西的认识会更加全面准确)令人意外的是,要想模型更好,其实更应该学习模型知道的知识,这对模型更有帮助,训练完全不知道的知识,反而破坏了模型的能力(可能就跟邯郸学步一样)。Alignment没有办法真正改变pretrain模型内部真正的知识,它知识改变了模型的行为而已。在有限算力,固定模型下,应该尽量看更多不同的资料,而不是看相同或类似的资料。

2026-03-22 10:03:54 39

原创 Transformer架构

残差链接存在理由:可以在深层网络时Optimization更容易,训练更深更复杂的网络,AI更相信AI的话,AI更相信整洁的RAG内容。线性注意力不如自注意力的原因。每一种架构存在都有一个理由。

2026-03-18 17:02:44 26

原创 指定cuda在cuda3上,为什么还是用了cuda0?

这可能是训练模型的时候,数据是从cuda0上跑的,而且可能训练的时候用的多张卡,如果设置参数里面没有map_location设置的话,就会自动加载到原来保存数据的位置(即,训练的时候是从cuda0上保存的,则推理读取的时候也会默认走cuda0)

2026-03-13 13:52:58 19

原创 余弦退火CosineAnnealingRestartLR

公式:current_lr = eta_min + 0.5 * (base_lr * weight - eta_min) * (1 + cos(pi * current_iter / period))[25000,50000,25000,50000,25000,50000.....] 和 [1, 0.5, 1, 0.5, 1, 0.5, 1, 0.5......]该学习率退火方式,是实时动态变化的,即每一轮学习率都随余弦函数平滑变化。另外值得注意的是,这两个参数的数组长度一定是相同的。

2026-03-12 11:20:52 23

原创 loss.backward()到底啥意思

loss确实是一个数,但是,它在内存中不仅仅只是一个数。在这里你可以把它理解成一个标志,当调用这个函数的时候,其背后反向传播的逻辑就开始了,就是反向求导的过程,然后把各个求偏导的过程函数求出来,再带入当下对应的变量的值,最后求得梯度,最后self.optimizer_g.step() 这一步就是在用优化器更新了。loss到底是个标量(张量)还是数呢,它怎么求导怎么计算呢,怎么求梯度的呢?这是反向传播的过程大家都知道,但是也疑惑。

2026-03-11 10:25:03 27

原创 对抗训练是什么,对抗判别器是怎么回事

值得注意的是,两者网络有一定差别,生成器是负责生成图像,而判别器是判别和原本的数据信息是否像,即判定为“真”和“假”,其网络本身都会简单一些,它只用提取特征,然后用交叉熵损失进行对比就可以了。更新的时候,就是两次输入,一次输入真实图片,让输入真实图片(真)输入的map尽可能接近1,来更新判别器, 另一次输入就输入生成的图片(假),让输出的map尽可能为0,来更新判别器。相当于就是,生成的图片输入判别器,判别器不断下采样,最后输入一张1通道的 概率map,这个概率就是对原本图像的图像块相似度的概率打分。

2026-03-10 17:34:25 27

原创 VLLM的推理加速是怎么实现的

这是vLLM最核心的创新,彻底重构了大模型推理中KV Cache的内存管理方式(KV Cache占显存开销的30%–70%)。:每个请求的KV Cache需分配连续的显存空间,不同序列长度产生大量内存碎片(浪费率30%–50%)。传统注意力计算需预留最大序列长度内存,导致显存浪费(如:用户输入短文本时,可能导致80%显存闲置):多个请求若有相同的prompt前缀,需重复存储和计算KV Cache,造成冗余。:请求完成后释放的内存块若不连续,新请求无法复用,需频繁搬运内存。:优先处理低延迟要求的请求。

2026-03-06 18:02:55 336

原创 混合精度训练的实现步骤及loss scaling的作用

将计算出的FP16 Loss乘以一个可以动态调整的缩放因子(Scale Factor,通常是一个较大的数,如 512、1024、65536等),得到放大后的 Loss。值得注意的是,这里这个系数实际目的不是对loss值进行放大,而是为了乘以一个系数,让反向传播的时候,梯度进行了放大,因为求导是对损失函数进行求导。优化器(如SGD、Adam)使用FP32精度的主权重和还原后的FP32梯度进行计算,并更新。使用FP16的权重和FP16的输入数据执行前向传播,计算得到FP16的损失(Loss)。

2026-03-06 16:15:16 212

原创 真实用案例测评模型

代码能力:用html+css+javascript 写一个坦克大战游戏。数学推理能力:给一个奥数题之类的。写一个leecode困难题。

2026-03-05 09:52:43 19

原创 pycharm中到底运行的wsl下的哪个环境???

当用wsl的时候,右下角的解释器就直接是下图这样,3.10@Ubuntu, 但是如果我再里面又创建了另一个conda环境,那我如果想运行的话,怎么运行呢?我又怎么知道,我当前的这个解释器是运行的哪个环境呢?注意看解释器中后面那一长串就是你所运行的环境的地址 (我相当于就是用的我创建的qwen环境)如果想要切换到我们其他的解释器,就点击右边下拉箭头就是(我这里就还有哥mamba_env环境)类似前面的conda环境,找到对应虚拟环境下bin文件中的python。如果你是wsl环境,就点击wsl。

2026-03-03 17:16:04 114

原创 混合精度训练

因为相加的时候,小数要转换成和大数一样的指数表示,这样就使得容易让前面的数很小,也就 向下溢出变成0了。正是这样的问题,所以就产生了混合精度,需要高精度的时候就用float32,需要低精度的时候就fp16。1. 表示范围有限:不能表示太大的数,(向上溢出),也不能表示太小的数(向下溢出,变为0)2.出现大数吃小数的问题。

2026-02-04 17:50:46 47

原创 分布式训练DP与DDP

从硬盘读取数据,然后一个cpu进程将数据分成多份,给每个GPU训练,然后计算出梯度 进行网络更新(无效更新),然后再将各个GPU算出来的梯度,返回到gpu0进行梯度平均,再更新网络0,网络0再把更新后的网络参数广播到其他网络上。(他会预先分配好,哪些参数该谁更新,这样就避免了一个参数连圈转的发送和接收(相当于原来是A给B给C给D,现在是,A,B,C直接给D了)(即卡间负载极不平衡)图中scatter的意思是,通过分发,让不同的节点有不同的值,reduce 的意思是 收集所有节点的值,并进行计算。

2026-02-04 17:23:59 74

原创 Distributed data parallel (DDP)分布式训练

all reduce:就是把所有卡的信息收即到自己这里来的这么一个通信操作。(4张卡就4个都会做,且是对同一批参数梯度同时对齐,也只有这样才能同时对齐)几张开训练一轮后,会共享自己反向传播的梯度,然后对梯度取均值,来达到同步跟新的效果。(注意他同步梯度的时候,是边反向传播,边互相同步,而不是等反向传播完了之后在同步)几张卡初始化模型一样,每张卡分别拿不同的数据。靠这个随机种子,来保证取数据大家 是同步的。多机多卡,或单机多卡。

2026-02-03 17:56:30 38

原创 用DDP(分布式多卡训练报错问题Failures: <NO_OTHER_FAILURES>

于是 我重新在原来没改动之前的代码运行了下,结果能跑起来,一排查,发现是 用了sequential这个里面包含了多个卷积操作的原因,这就可能导致在分布式训练中。总之 分布式训练最容易引起同步问题,大概率在代码本身,减少连续操作变换等的情况,可能可以。然后debug也只是一直卡在一些地方,没有找出根本原因很难受。于是我改成下面这个之后,就完全好了。

2026-02-03 16:06:11 65

原创 计算flops报错集锦

(query, key, value),但 CodeFormer 的代码中传递了。

2026-01-21 15:27:22 228

原创 torch.roll是在干啥,是干嘛的

是一种循环操作,移出边界的部分会从相反方向重新出现。如下图所示,原本在图像底部的区域在向上移位后,会出现在图像的顶部。相当于循环移位,来改变原来特征图的相对位置,这通过循环移位将远距离的信息拉近,为窗口间的信息交流创造条件。是打破固定窗口的限制,让当前窗口能够与原本不相邻的、更远的区域进行信息交互,从而。:这指定了移位的方向和距离。负号表示向左和向上移动。:这指定了在哪个维度上进行移位。(这是常见设置),那么特征图会。对应高度维度(H),对应宽度维度(W)。

2025-12-17 11:13:02 159

原创 nn.layernorm的认识

A:以前的归一化是x_i' = x_i / sum(x) ,即让所有元素综合为1.这种主要应用于生成概率分布,注意力权重等。而深度学习中的归一化,目标是为了 调整。被选定的维度作为一个整体,计算出方差和均值然后进行对被选定维度进行归一化。(整体归一化的意思就是,如果把[C, H, W]作为归一化维度,那么C*H*W 个元素来进行计算均值和方差,然后进行归一化。标准差为1 ,就意味着 值的分布为 均值±1.使其更加稳定(均值为0,标准差为1),其主要是为了。稳定神经网络训练、加速收敛、防止梯度问题。

2025-12-15 10:41:16 266

原创 .flatten(2)到底是什么,到底在干啥

如 x.shape 为 (B, C, H, W), 参数为2的意思就是,从高度维度H开始展开,把高和宽合并,也就是最后就变成了 (B,C, H*W),展开的顺序就是从高到宽的逐步展开。这是一个展平函数,把二维或者更高维度的数据进行展平,括号内的参数表示从第几个维度开始进行展平(即展平的起始维度)。相当于就是 从左到右,从上到下的展开。

2025-12-11 15:03:54 125

原创 我们常见的patch embed到底在干什么

它的操作过程里理论上就是:把一个输入图像映射到指定通道,然后裁剪成指定大小,然后再把这一个个块进行排列成一条的操作。(img_size是用于校验输入图像大小是否符合预期的一个值,没有实质性对输入数据产生影响)Q:这么多参数到底在干什么,到底是怎么操作,怎么回事的,到底是怎么实现这个过程的?

2025-12-11 14:20:23 156

原创 卷积学习录

nn.Conv2d(num_in_ch, embed_dim, 3, 1, 1) 则表示:输入通道是num_in_ch,输出通道数为embed_dim,卷积核大小是3,每次移动的步长是1, 在输入特征图的四周各。一个卷积核,卷积出来就是一个通道,值得注意的是,每个卷积核的通道数一定是和输入数据的输入通道数是一样的。A:影响的是高和宽的大小,当卷积核大小为3X3,padding=1的时候,卷积后,高和宽不变。这里几个参数分别表示 (输入通道数,输出通道数,卷积核大小,步幅,填充大小)

2025-12-11 14:18:24 200

原创 如何理解神经网络对超分辨率图像处理过程

1)只参考当前低分辨率图像,不依赖其他相关图像的超分辨率技术,称之为单幅图像的超分辨率(single image super resolution),也可以称之为图像插值(image interpolation)。2)参考多幅图像或多个视频帧的超分辨率技术,称之为多帧视频/多图的超分辨率(multi-frame super resolution)。

2025-12-10 14:26:05 127

原创 ollama怎么让他不安装在C盘

在ollamasetup.exe文件夹所在目录,输入 powershell,然后回车。

2025-12-10 14:25:54 177

原创 文献调研ACL: Activating Capability of Linear Attention for Image Restoration

通过将线性注意力(Linear Attention, LA)集成到Mamba结构中,ACL在保持计算效率的同时,增强了全局特征依赖性,并通过多尺度膨胀卷积模块(MDC)提升了局部细节的恢复能力。LA 线性注意力,把Mamba中的SSM给替换了,其的涉及参照了Transformer中的Q,K,V,但是计算公式不是用的softmax来计算的,而是 直接先与V相乘,复杂度就是O(N*d^2),而d是个固定值,所以复杂度就是O(N),Mamba固有的一维扫描限制,最近的方法引入了多方向扫描以增强序列间的相关性。

2025-11-10 17:00:44 308

原创 BN和LN有什么不同,各自是怎样的

BN就是batch normalization 对多个样本进行归一化(可以理解为就是对某一特征在多个通道层面进行归一化)各自也有优缺点,也是由他们的操作方式造成的, BN就忽视了不同特征的大小关系(因为他是某一特征在不同层上进行归一化的嘛)LN就忽略了相同特征之间的大小重要性关系(因为他是所有特征进行归一化的,相同特征在不同的层次之间就没有进行操作)BN,LN一般都在用,batch size比较大的时候一般推荐用BN,相反一般用LN。

2025-10-21 15:17:04 205

SCU数字图像处理课后题及往年真题

SCU数字图像处理课后题(部分

2025-01-06

SCU数字图像处理课后题(部分

SCU数字图像处理课后题(部分

2025-01-06

SCU数字图像处理课后题(部分

SCU数字图像处理课后题(部分

2025-01-06

华为题库2024简单题

华为题库2024简单题

2024-06-29

华为题库2024简单题

华为题库2024简单题

2024-06-29

华为题库2024中等题

华为题库2024中等题

2024-06-29

多视图学习调参画图的matlab代码

多视图聚类相关

2024-04-18

空空如也

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

TA关注的人

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