自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 本科毕业设计--基于大语言模型的知识图谱构建

本文提出了一种基于LoRA微调Qwen2.5-0.5B大模型的知识图谱构建方法,用于从工业场景说明书中提取实体关系三元组。针对大模型直接使用Prompt提取时存在的输出控制问题,通过LoRA微调显著提升了三元组提取效果。方法包含四个关键环节:1) 自动生成工业领域训练数据集;2) 对Qwen模型进行4-bit量化后的LoRA微调;3) 三元组提取效果评估对比;4) 使用Neo4j构建可视化知识图谱。实验结果表明,微调后的模型在F1分数上提升了11.5%,且能够稳定生成结构化输出。该方法可泛化至医疗、餐饮等其

2025-06-17 11:43:36 157

原创 GPTQ记录一下

将浮点数scale到整数级别,然后再舍入小数,来减小显存占用,提高运算速度,丢一点精度。

2025-03-10 01:29:05 126

原创 记录WSDM比赛的一些细节

其中微调的时候标签Y的prompt部分归为-100,此外也可以使用loss_mask。模型选择Qwen2.5-14B-instruct-Int8。

2025-03-09 22:41:59 111

原创 minimind这个项目,学到了什么,一些总结

这里截取模型的一部分举个例子,比如说如下的minimind的第7个minimind block,这个block里面的attention部分含有wq、wk等等的模块,wq、wo底下又有lora这个属性,下面我解释一下layers.7.attetion Attention wq wk wv wo lora等等这些是怎么来的呢?

2025-03-06 15:51:01 864

原创 机器学习深度学习基本概念:logistic regression和softmax

softmax用来处理多分类问题:比如llm在generate的时候,每个batch里面的一个样本的一个一次generate就是softmax生成一个大小为vocab_size的向量的概率分布,然后再采样。当W·x趋近于负无穷时sigmoid输出接近于0,当趋近于正无穷时,接近于1,来生成分类预测的概率。逻辑回归(logistic regression)的核心:sigmoid函数。softmax函数输出每个类别的概率,概率总和为1。逻辑回归用来处理二分类问题。对数损失作为损失函数。

2025-03-06 12:38:17 312

原创 记录一个笔记,hidden_state是什么

(batch_size, seq_length, hidden_size)其中hidden_size是每个token输出的向量的长度。需要调用某一层的输出hidden_state,可以这样output.hidden_state[n_layer]模型最后的输出相当于是output.last_hidden_state。hidden_state相当于每一层的输出,他的形状通常是。

2025-02-26 18:36:53 163

原创 nn.Module和nn.functional的区别

实际上就是nn.functional实现的是做一个运算,其中不包含参数,如果需要可学习的参数,则需要自定义self.weight。而nn.Module是一个类或者说一个块,它包含了可以学习的参数,和需要进行的运算(forward)nn.Module和nn.functional可以实现同样的功能,

2025-02-26 16:07:38 211

原创 RoPE旋转位置编码的特性

长度外推性(Length Extrapolation)指模型在训练时使用较短序列(如2048 token),推理时能处理远超训练长度的序列(如4096甚至1M token),且性能衰减可控。远程衰减性(Long-range Decay)指两个token的内积随相对距离增大呈震荡衰减趋势,符合自然语言中邻近词相关性更强的特性。兼容性(Compatibility)指RoPE可直接替换传统位置编码(如绝对位置编码),无需修改Transformer架构,且支持与线性Attention等高效计算方案结合。长度外推性。

2025-02-25 22:29:52 839

原创 leetcode hot 100 接雨水。我自己ac的比较一般的方法,200ms

2.2右边存在上坡,则后面一定有凹陷,因为右边都比l处低,所以右边的第一个最高处,就是水坑的r,右边的这个最高处的高度就是接下来水坑里水的高度,又因为l处此时可能并不是水坑的左边界,我们就进行比较,找到最后一个高于水坑高度的l,就是左边界,然后计算水的含量。1.右边存在高于l的,一定有凹陷,可以直接找到第一个高于l的处赋值给r,然后水面的高度就是l处的高度,然后计算水的含量。当l+1处小于l时,说明l右边在下坡,那我们只要找到上坡就有凹陷。2.右边都低于l处,那又只有两种情况,把接雨水看做求凹陷处的过程。

2025-02-21 23:25:38 305

原创 迭代器的一些我遇到的问题

迭代器有点类似指针,想要使用迭代器要加*来间接寻址。如果不加*寻址,则会报错,或者输出地址。加入输入是abcd,此时输出就是b。

2025-02-20 17:52:06 94

原创 数组包括array,不初始化会怎么样?

如果是array型,就要加{}初始化为全0。//此时内容是随机的。如果申明的是局部数组,数组的内容会是随机的,不一定是0。如果申明的是类的成员数组,数组的内容是随机的,不一定是0。如果申明的是全局/静态数组,系统会把数组的内容自动初始化为0。如果是全局变量的数组,会初始化为全0;如果是局部变量,会初始化为随机值。内用memset初始化为0。

2025-02-20 17:39:29 152

原创 算法800. 数组元素的目标和

这里j>0是为了后面j不为负数,比如说a[N]=123456,b[N]=45678;x为6,如果不加j>0就会出现两个结果:10和5-1。注意,while(j>0&&a[i]+b[j]>x)j--;

2025-01-17 17:41:53 118

原创 算法799. 最长连续不重复子序列

每次i加1,q[i]对应的计数都加1,如果q[i]大于1了,说明有两个重复的了,从j开始查找(是s[q[j]--,q++)是哪一位开始重复的,查找到重复位后,j再后移一位,之后计算不重复子序列数目就从现在这个j开始算起。利用s[N]来记录不同数出现的次数,有点像计数排序的方法。每次i增加1都重新比较最大的不重复子序列数目。

2025-01-17 17:02:01 211

原创 XGBoost和LightGBM

这个目标函数的意思是,已知一个二叉决策树的形状,我们就会知道最小目标函数是这个,然后我们要更新这棵决策树,让他是否划分新的叶子结点,划分哪个叶子结点,就是要看哪个划分对应的决策树形状的目标函数值最小。第一步到第二步,fk(xi)等于样本xi最终预测对应的节点q(xi)的权值,即w^q(xi),所有的w^q(xi)相加其实就是将所有样本xi对应的叶节点进行分类,然后再分别按节点求和(每个节点对应的样本有几个就),并且其中gi和hi也都是常量,是xi样本对应的前t-1棵树的结果求导数和二阶导数的常量。

2025-01-02 17:46:16 389

原创 算法_差分矩阵

差分矩阵就是要让a[i][j] = b[i][j] + b[i-1][[j] + b[i][j -1] +...+ b[1][1],就是a[i][j]要等于所有b[i][j]的所有子矩阵之和。b[i][j]+=c,则a[i][j]右下角元素都加c。

2024-12-31 16:31:45 128

原创 算法_差分

当在{ai}的一段区间[l,r]内每个数加上c,即让bl加上c然后再让br+1减去c,可以让时间复杂度为O(n)的操作变为时间复杂度为O(1)只需要一个insert操作就可以完成。即变为b1 = a1,b2 = a2 - a1,...,bn = bn - bn-1。输入一段序列,在[l,r]之间每个数都加上c,并输出最后的序列。即在l处加c,在r+1处减c。

2024-12-30 23:44:14 222

原创 算法_子矩阵的和

【代码】算法_子矩阵的和。

2024-12-30 17:02:01 86

原创 笔记_参数高效微调(PEFT)方法:Adapter、Prefix Tuning、Prompt Tuning、P-Tuning V1/V2、LoRA、QLoRA

设置Adapter Layer插入transformer中,固定原模型参数,只微调Adapter Layer的参数Adapter的设计:首先是一个down-project层将高维度特征映射到低维特征,然后过一个非线性层,再用一个up-project结构将低维特征映射回高维特征。

2024-12-29 22:56:20 449

原创 算法_前缀和

【代码】算法_前缀和。

2024-12-29 18:58:02 109

原创 算法_高精度除法

除法与加法、减法、乘法的计算顺序不同,除法要从高位开始计算。除法、减法、乘法都会出现高位为0的情况,要消除高位0。

2024-12-29 14:19:44 180

原创 算法_高精度乘法

mul函数最后的while循环实际上是解决b为0的问题,也可以用if函数(用while是与减法模板匹配记忆)这些高精度的都比较简单。

2024-12-29 13:31:03 135

原创 算法_高精度减法

每次计算前都要比较AB大小,当A小于B时计算B-A并输出-,当A>=B时计算A-B。sub中,每位相减完后,如果小于0,则下一位要减1,则令t=1,否则t=0;并且计算后t小于0要加10,大于等于0则直接输出t,整合起来就是(t+10)%10;最后计算的结果如果是00000xxx,则要把前面的0全部去掉输出,所以,当C.size()>1并且C的最后一位等于0时要pop掉最后一位。

2024-12-28 22:30:10 201

原创 算法_高精度加法

A与B用小端方式存储输入的a和b对应的数字。A与B各位分别相加,并用t(初始为0)记录每位相加的结果,t%10为相加后该位的结果,t/10为进位保留到下一位继续参与运算。

2024-12-28 21:32:04 137

原创 算法_求数的三次方根

【代码】算法_求数的三次方根。

2024-12-27 20:06:27 179

原创 算法_确定数的范围(二分法)

给定升序排序的长度为n的数组,查询m次(自定义次数)每次查询,返回一个元素的起始位置和终止位置(从0开始)如果数组中不存在该元素,则返回-1 -1实际上算法的流程就是1.用2分法缩小范围确定左边界位置 2.判断确定的位置对应元素是否等于x来确定是否是左边界 3.用2分发缩小范围确定右边界位置(该位置对应元素一定等于x)

2024-12-27 19:05:38 2118

原创 算法_逆序对的数量(归并)

所以最后这部分的逆序对之和就等于后半部分每个j对应的逆序对个数之和,每个j对应的逆序对个数为输出q[j]到tmp[k]时的mid-i+1(因为输出q[j]时q[j]

2024-12-26 19:02:20 264

原创 算法_归并排序

设置两个指针i和j,指向两个段的当前位置,设置一个数组tmp暂时记录归并过程中的元素以及一个指针k指向当前需要写入的tmp段位置。2.递归l~mid和mid+1~r区间得到两个有序归并段。1.递归结束的条件为l == r。3.归并两个有序归并段。

2024-12-26 13:22:39 195

原创 算法_第k个数(快速选择)

如何选择递归并返回哪一部分?在快速排序内设置sl记录l~j部分的长度,如果sl >= k则第k个数落在前一部分,否则k落在后一部分。3.根据第k个数所在位置,选择用快速排序递归l~j部分还是j+1~r部分并返回递归的值(递归返回到第1步执行)1.如果l == r则第返回q[l](递归到最后只剩一个数就是第k个数)3.快速排序内的递归两个部分变为根据k的位置递归并返回其中一部分。2.结束递归条件为最后返回l == r。1.相比快速排序增加了k参数。2.快速排序数组q的l到r。

2024-12-25 23:53:53 302

原创 算法_快速排序的边界问题

因为小于i的范围(小于等于j的范围)都是小于等于x的,大于j的范围(大于等于i的范围)都是大于等于x的,所以是l~i-1(或l~j)和i~r(或j+1~r)。当基准选择l或(l+r)/2对应值时若递归区间选择l~i-1和i~r,则在递归到最后只剩2个数(即l=r-1的情况)时,若第一个数小于第二个数,则选择的基准是2个数的第一个即q[l](q[(l+r)/2]),会出现i=j=l,最后递归区间即变成l~l-1和l~r,第一个递归直接退出,第二个递归会陷入不断执行l~r区间无限递归的问题。

2024-12-25 21:40:03 902 3

原创 ubuntu(服务器&本地) pip永久换源

粘贴以下部分:[global]保存退出。

2023-11-25 02:05:39 151

原创 李宏毅机器学习HW5-Transformer代码解析(解释代码并记录跑HW5的历程)

李宏毅机器学习HW5,解析详细,包括自己的调试历程的心得,还有学习的体会

2023-10-11 04:01:45 2876 7

原创 解决C++项目如何调用动态库 .dll文件的问题

解决C++项目动态库(.dll)的链接问题

2023-04-17 11:43:18 2557 1

原创 cmake生成可执行文件、库的链接以及vscode下的编译

关于cmake的学习,生成可执行文件,链接动态库与静态库,cmake多文件的配置,cmake语法的学习,以及vscode下如何使用cmake进行编译

2023-01-14 21:11:18 1148 2

原创 抽象类的纯虚函数

如果定义了抽象类的纯虚函数,那其派生类必须定义并覆盖这个纯虚函数

2022-09-07 15:52:03 178

原创 无法将this指针从type1转化为type2

对const对象调用非const 成员函数会导致此错误,应对成员函数添加const 或删除对象的const

2022-09-07 15:48:58 251

minimind包含详细注释

给每个重要部分都写了详细注释

2025-04-14

空空如也

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

TA关注的人

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