自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vllm安装踩坑

我没找到好的解决办法,issue里说的情况都是在用源码安装后遇到的,我直接在干净环境ubuntu20.24 cuda12.2下面pip安装,仍然遇到了问题。而且问题指向是torch里的class缺少属性,因此我猜测是torch的问题,vllm的每个版本又强制要求某个torch版本,因此我只能选择之前的vllm版本。vllm0.5.2最近一周出了个不好搞的新issue,会遇到torch.ops._C没有rms_norm,或者没有reshape_and_cache_flash这两个属性的问题。

2024-07-18 17:32:04 283

原创 奇怪的错误记录

https://github.com/meta-llama/llama3/issues/80读模型没问题,推理时出现:RuntimeError: “triu_tril_cuda_template” not implemented for ‘BFloat16’————————————————我尝试了解transformers的AutoProcessor时,它提示我:RuntimeError: Failed to import transformers.models.auto.processing_auto

2024-07-11 20:24:04 368 1

原创 提示学习的本质是KNN

提示工程对某一类问题指定了一个共同的前缀。这其实是改变了query的分布,而在训练后,在提示学习的引导下,特定的提示词会让同一query分布对应的正确answer分布发生改变,使得这个正确answer所在的子空间的概率密度变大。遵循query的分布,answer的空间有其自己的分布,一个query进去,answer拿到的值是在其分布上的采样,也就是在输出端的不断sample。

2024-07-10 15:05:00 170

原创 DSPy的BootstrapFewShot

DSPy认为用原始数据直接做few-shot效果不好的原因是:output的answer不是LLM习惯的文本方式,所以尝试用一个teacher LLM(就是你提供的LLM,只不过现在当成teacher用),它满载max_labeled_example数量的few-shot example,这个few-shot example不会被改动。后者是不得已而为之,如果前者只能拿出2个,few-shot又要凑齐4个,那只能从原trainset里拿了,即使它在我们看来不是LLM生成的合适的answer。

2024-07-01 15:13:44 347

原创 cross-attention里为什么encoder提供的是KV?

依照attention在计算全连接图中有向边权重的思路,KV是中心节点的邻居们的KV,中心节点提供Q,与每个邻居单独交流(指QK),然后根据这个权重聚合邻居的信息(V)。因此,encoder提供KV,是全面抛弃了decoder端input的信息库,只将其作为从encoder中摘取信息的媒介(Q)。所以图without self-loop的图,每一个token的output都从同一个节点集合(encoder的input)采集信息。这是decoder-only好的理由之一。

2024-06-04 21:58:45 255

原创 GNN和LLM的关系——瞎想

套用这个想法,casual attention的任务等于图分类任务,给定一个序列token,在每一层decoder拓扑中的边权重都不同的情况下,在某个固定的master node(默认为最后一个token)上汇聚全图表示,然后预测图类别,类别就是token。我注意到,如果每一层的拓扑边权重都不一样,我可以解释成:除了第一层的输入,其他token节点都应该看作一个master node,这就和GNN图分类合上了,将全图特征聚于一个master node,就能用它预测图类别,图类别等于token。

2024-06-03 11:56:46 431

原创 为什么需要CoT,所谓“增加中间token给LLM思考”是什么意思?

那为什么CoT有用?原本直接根据query吐出answer,现在,先吐前半个answer,只要你数据里有这种数据,LLM吐半个就吐得准,然后根据query+前半个answer再吐后半个answer。另外,现有的CoT和改进一定不是解决复杂answer的方法,CoT还是在把问题看作序列生成,依靠拆解问题,基于LLM本身的能力,用类似蒙特卡洛的方法提高最优解题思路的概率,这种办法不具有远视能力,是贪心的方法,只有整条路径上“正确答案”的比例都高才能稳定得到最终的正确答案。所以或许RL才是解决CoT短视的方法。

2024-06-03 11:17:00 170

原创 LLM能够触类旁通的原因

有了这两条,就能知道LLM为什么能够触类旁通了。因为loss逼它必须记住这些知识,所以迫不得已必须有损,差不多能输出对就行,只要一“差不多”,两个人的活就可以一个人干,就能省下一部分神经元去做其他功能,这一个人就有了“触类旁通”的能力。压缩的另一重境界就是同类归并,有论文已经实验出,中文词大概都在英文词的某一个方向,这样的数据对LLM最好处理,LLM只需要很少的神经元,就可以完成中英文转换。因此,所有的触类旁通,本质是过量数据对少量参数的压迫(想不出更好的词了),逼着它不得不用更少的神经元处理更多事务。

2024-06-03 10:47:35 141

原创 ppo-clip的本质以及它为什么是另一种ppo-KL-penalty

于是希望你增加,但是别太狠,就给你增加的量上设个限制,最多上涨一点,就有了负A时重采样比例<1-ε的说法,这样就能继续让这个action提供大比例的负A,打压目标函数R,R就会持续地缩小该action的概率。clip选择截断到1+ε,这等于是人为地增大了RL训练后的策略选中该action的概率(这就是说它等于KL散度的原因),也等于减小了目标函数R的值,反向凸显了其他采样里导致负A的action,彼消,此就涨,就能让RL后的策略选择正确action的概率回上来。对于A<0且重采样比例>1+ε呢?

2024-06-02 22:38:45 390

原创 为什么self-attention要除以一个根号dk

太one-hot了,这里的梯度直接全部到0,就太小了。我愿称之为softmax陷阱,就和sigmoid一样,你以为one-hot好,事实上谁知道呢,比起任由self-attention只关注一个v,还是看看远方的其他v更好吧。这样看,如果浅层网络已经提取到足够的信息了,后面的所有v都将与最有价值的v趋于一致,否则就会因为根号dk强制多see几个而引入不必要的v。这本应是好的,但是从实践来看,我们并不要求一定要输出one-hot,这有点over-fitting的感觉了。是softmax的结果。

2024-05-24 17:21:37 352

原创 PathSim和HeteSim的简单记录

PathSim和HeteSim

2022-12-14 14:08:08 577 2

原创 inductive 和 transductive

什么是直推式学习

2022-10-29 13:42:02 555

原创 证明半群S的非空子集A生成的理想是A⋃SA⋃AS⋃SAS

证明半群S的非空子集A生成的理想是A⋃SA⋃AS⋃SAS

2022-01-11 14:35:51 370

原创 TRPO

直入主题。PG模型和DQN模型都会产生一个现象,就是往后训练的时候模型会退化,或者说变差。而理论上最优值肯定是存在的,梯度下降告诉我们,如果你的步长太大,容易迈过最低点,跑到比自身更高的位置。也就是说,TRPO认为,模型退化的原因是固定的步长对于后期太大了。或许我们可以随着时间的推移,慢慢降低步长,但硬规定终究差点意思。如果能找到一个必定能优化模型的步长范围,那就完美了。理论依据η(π~)=η(π)+Eτ∼π~(∑t=0∞γtAπ(st,at))(1)\eta(\tilde{\pi}) = \et

2021-03-29 19:10:49 172

原创 哈工大计算机网络作业答案(题目略)

作业1答:(1)0.5s和0.35s存储转发的报文交换让AB的文件传输有了先后。给左边的路由器命名为M,右边的为N,A的文件为a,B的文件为b。AM花费0.2s,同时BM从0.1+es开始花费0.1s,所以a先到,b后到。MN段a花费0.1s,紧接着NC段a花费0.2s,总共0.5s。MN段b紧跟着a发送,花费0.05s,ND段b花费0.1s。BM+MN(a)+MN(b)+ND=0.1+0.1+0.05+0.1=0.35s.(2)0.2s和0.1s分组交换让文件a的后半段和b混合了。a

2020-10-30 17:39:34 1534 1

原创 二项分布+大数定律---->泊松分布

大数定律抛一枚硬币,抛6次,不一定能得到3正3负。但抛n=∞n=\inftyn=∞次,那就一定有n2\frac{n}{2}2n​正n2\frac{n}{2}2n​反。二项分布抛一枚硬币,抛n次,其中k次为正的概率为P(X=k)=Cnkpk(1−p)n−kP(X=k)=C^k_np^k(1-p)^{n-k}P(X=k)=Cnk​pk(1−p)n−k泊松分布假设一家店铺,一周里卖了λλλ块手表。我将一周的时间切割为n=∞n=\inftyn=∞份,那么每份时间里卖出111块手表的概率是p=λnp=

2020-09-04 17:28:21 904

原创 Pointer Generator Network 和 PEGASUS

初次接触文本摘要是在接触Pointer Network和copyNet,前者是抽取式摘要,后者通过decoder对已有词表的概率预测和OOV词的copy预测两者,解决了生成式摘要中无法生成OOV词的问题。Pointer Generator Network这个模型是在seq2seq+ATT的基础上加上了pointer network的工作。seq2seq有两个缺点:无法对OOV词进行摘要.容易重复自己,即已经生成过的内容容易再生成一遍。PGN为了解决这两个问题,做了以下工作。将pointe

2020-07-23 17:43:40 313

原创 谱聚类的复杂说明

谱聚类做的是在某个距离函数的作用下,提取目标的二阶微分特征,根据特征进行聚类。步骤:有N个样本。根据径向基函数(一种距离度量函数)获得点与点之间的距离关系。它们可以构成一个N×N的相似度对称矩阵W。将S的每一行元素相加,并将结果放在对角上,获得对角的度矩阵D,尺寸依然是N×N。获得拉普拉斯矩阵L = D - W。这个做法虽然看起来不像二阶微分,但确实是图的二阶微分,详情看这里拉普拉斯矩阵的含义计算L的前K个特征值,并获得特征向量。K是你想聚类的类别数。将K个特征向量拼成N×K的特征矩阵S。这一

2020-07-21 16:32:33 472

原创 Perturbed Masking: Parameter-free Probing for Analyzing and Interpreting BERT

这是一篇比较新的论文,2020/6/10 ACL。它讲述的是如何用

2020-07-21 15:42:43 673

原创 两道编程算法题

一给一个区间, 从a到b,每个数字进行以下计算:每个相邻的数字相减求绝对值,例如813,会变成72。但如果结果不是个位数,就要重复之前的计算,即72–>5。就这样求解a到b之间的每个数,并统计结果为7的数字个数。解我找不到什么规律,但二给两个数字a和b,要求得到x,y,z三个不同的数字,使x+y+z=a,且x,y,z两两之间的的最大公约数是b。只需得到一个解就好。解引入三个数字w,p,q:x = bw, y = bp, z = bq.所以w+p+q=(a/b)如果a/b有余数,

2020-07-21 01:28:21 140

原创 短文本观点聚类的一些总结

最近一时兴起做了个根据微博tag爬微博并聚类的工作,大失败。工作的要求是,希望通过短评聚类得出人群中有哪些不同的观点。这应该算舆情分析里的评论观点抽取。我从根本上就想错了数据集。我以为相同观点的数据会在空间中形成一个比较致密的分布,所以简单地用onehot+tfidf作为句子表示,tsne降维,谱聚类+meanshift核作为聚类手段。事实证明我想错了。大家评论时天马行空,对同一事情的观点评论竟有如此大的差别,导致数据的分布乱七八糟。而且,观点抽取并不是对一件事的情感分析,它可以是对一件事的不同部

2020-07-19 18:58:44 967

原创 新词发现refresh

之前做新词发现实验时思路闭塞了。在无监督文本上,通过自由度凝固度和n-gram的组合拳,以字为单位发现新词,再通过先验词表来筛选。但这是很傻的做法。更好的做法是,不以字为单位,而是以分词后的词为单位,因为模型切不出来的词肯定会切的稀碎,此时用自由度凝固度n-gram的方法把切碎的粘起来,就是新词了。...

2020-07-18 07:52:42 138

原创 钓鱼网站url的识别

昨天偶遇个钓鱼网站的数据集,提供了很多url的特征,就好奇这东西有多难识别,于是简单地做了一下, 发现随机森林就能跑到93%。其中最重要的特征是网站有没有https头,18个特征里能占0.3。给新手们附上链接和实验过程:1.下载数据集(需要注册)2.因为test.csv没标签, 所以从train里抽一点出来,可以37开可以55开。3.数据里有确实值,因为后面要用lasso...

2020-07-08 14:34:09 2140 3

原创 DKRL, TKRL和IKRL

D: descriptionT: transformI: ImageKRL: knowledge representation learning基于描述/转化/图片的知识表示学习.最早期的TransE就是映射三元组学习知识表示.DKRL融入了实体的描述信息.TKRL把映射的层数变深了.IKRL融入了实体的图片信息.用FB15K数据集测试 DKRL稍弱于TKRL.IKRL由于数据集不同所以没有参考价值, 实体预测任务上比TransE高2.6%的十命中率, 93.8%....

2020-06-24 15:23:59 1971

原创 几个算法的面试题

LR损失函数是什么?为什么不用min square loss?损失函数用对数似然函数(交叉熵CE).不用的原因有很多, 但因此用的人也很多.说起最小二乘其实说的是普通的最小二乘法, 平方和开根号. 它只有基于BLUE假设:与x无关, 同方差, 0均值这三条才成立. 但LR多用于预测01概率, 误差或多或少都有关于x, 所以第一条假设就不符合. 第一条不符合, 那同方差就更不符合了.LR是基于LPM线性概率方法, 又加了个sigmoid, 如果不加sigmoid, CE和MSL相比,后者会允许

2020-06-24 12:18:08 226

原创 Circle loss和不定分类的loss

冷不丁看名字眼生, 瞄了眼论文想起来了. 为了方便在此做个引子, 方便查找.建议读这个博客,仰望大神.知乎的解释, 论文作者也有回答.引子k分类问题该怎么设计loss?选择circle loss.它能让正负例同时效劳, 并逼迫网络让负例更小, 正例更大, 直到所有正例的概率大于所有负例的概率.这比传统的loss有更高的要求, 且是一步步推导出来的, 可解释性很强.对于k不确定的分类, 又怎么办?可以设置一个标签s0, 令所有正例的s比s0大, 所有负例的s比s0小. 只需稍微修改loss,

2020-06-17 12:45:41 592

原创 Conversational Word Embedding for Retrieval-Based Dialog System

arxiv链接是个有趣的尝试, 但可用性应该不高.思路User: “你是什么人?”Robot:“我是你的人.”这一问一答中有这么两条对仗: 你-我, 什么人-你的人.单看这一个问答, 可以看到很强的映射效果. 但基于现在的word embedding技术, 很难在同一个空间中将这两个对仗映射的很完美.既然无法匹配完美, 基于现在检索式对话的技术, 多用余弦相似度来匹配问答, 所以当然的, 匹配效果会有点拉胯.所以论文干脆把问答拆开后单独训练word embedding, 然后再做senten

2020-06-17 12:26:45 299

原创 Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning

arxiv链接前言有时候, 输入数据加入细微的扰动, 都会让模型结果大相径庭.因此, 我们总是希望训练结果的分布是光滑的, 这样才能保持稳定.但在连续分布的空间中, 总是存在过大的间隙, 这些间隙只能靠更多的数据或减小网络复杂度(正则)的方法让它尽可能光滑.VAT同样是为了解决光滑问题, 且解释性更强, 也更直观.我只读了文章前4页, 做个大概了解.思路一个图片是N维中的一个点P, 给数据加噪, 其实就是在这P点周围画了一个小圈, 小圈内都是点P加噪后的图.所以, 自然地我们希望小圈周围的

2020-06-17 10:33:06 1635

原创 关系抽取的长尾关系: 知识图谱嵌入+GCN+attention的大融合怪

arxiv链接长尾关系一直是不好解决的问题. 这篇论文使用NYT数据集(53个关系), 训练集包括18000+个关系事实. 在长尾关系(关系事实<200)上有69.2%的成绩.1.GCN图谱关系基本都有分级, 没有的可以用K-means或者层次聚类聚出来(距离近的关系为一组).事先训练一个TransE获得图谱嵌入, 就可以获得关系的嵌入.将这个嵌入赋值给树的对应关系位置. 没有嵌入的上层关系可以用底层嵌入的加和平均.用两层GCN训练这个树.最终的特征是GCN的输出和原图谱关系嵌入特征的拼接

2020-06-15 11:29:42 2295

原创 TransE, TransR

三元组(h,r,t)TransE将(h,r,t)映射到向量h⃗,r⃗,t⃗\vec{h}, \vec{r}, \vec{t}h,r,t, 并尽量使得:h⃗+r⃗=t⃗\vec{h}+\vec{r}=\vec{t}h+r=t所以loss设计为2范数的平方(即平方和):loss=∣∣h⃗+r⃗−t⃗∣∣22loss = ||\vec{h}+\vec{r}-\vec{t}||^2_2loss=∣∣h+r−t∣∣22​除此外, 再限制负例与正例的最小距离为γγγ, 这里的负例指(s,r,o)中, s

2020-06-14 14:55:42 1213 2

原创 bert两篇论文的改进

Low-Rank Bottleneck in Multi-head Attention Models在multi-head attention中, QKTQK^TQKT得到score, 用score将VVV线性缩放得到最终表征. QKVQKVQKV的尺寸设定为d/hd/hd/h, 其中d是hidden-size, h是multi-head的数量, 因此h个head的QKVQKVQKV尺寸就是$h×d/h=d维, $与hidde-size尺寸一致, 不会发生信息丢失.但在每个head中, QKVQKVQK

2020-06-03 13:12:29 342

原创 伽罗华域, 二维码和CRC

前言一个表盘只有0-59的数字.超出59的数字会被60取余, 即61/60=1.在数学上, 我们已经习惯了在无线域上随意地加减乘除而不考虑边界.假如世界不是由无限构成, 而只有3位比特, 0-7这8个数字组成, 又如何保持计算规律的自洽呢?我们可以仿照表盘的设计, 超出域的部分取余,让数字回到域内. 但除法却无法计算, 因为有限域的8个数字里没有小数.伽罗华域拟出了一个全新的有限域规则, 在那个域中, 加减乘除规则被修改, 但却让计算结果永远落在有限域中.伽罗华域伽罗华域因为是有限域, 所

2020-05-13 23:00:22 1241 1

原创 maven指定主类

maven工程.有时候一个jar包只有一种功能, 又懒得记住执行它的主类名称, 所以希望执行时能自动执行它的主类.可以自己写MANIFEST.MF文件来配置主类.在pom.xml中的project标签下添加<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifa

2020-05-10 12:02:26 1246

原创 hadoop的namenode, secondarynamenode, standbynamenode, journalnode

hdfs中包含三个组件: namenode, datanode, secondarynamenode.namenode用于记录元数据, 例如文件存放位置, 文件名称等. datanode是实实在在存放数据的节点.由于namenode是存放在一台机器上的重要节点, 所以为了避免机器故障, 必须进行备份.namenode有两个文件, 一个是fsimage, 文件系统快照. 另一个是edit lo...

2020-04-28 11:07:37 1406

原创 简单的shell脚本and踩坑

shell脚本和其他程序文件性质相同, 通过脚本可以省去很多重复性劳动, 例如给集群内一百台机器copy文件.接下来编写一个输出hostname的shell脚本.#! /bin/bashname=`hostname`echo hostname=$name>>> hostname=master第一行: 声明这是个bash执行文件. 一般shell脚本要通过sh或ba...

2020-04-27 10:22:02 334

原创 IOB, BIO, BIOES

B: beginI: inO: outsideE: endS: singleX: typeBIO: 所有segment都用B-X开始标记, 随后的token用I标记. 不是segment的用O标记.IOB: B只在两个或多个同类segment在一起时使用. 如果该segment前面有一个类别相同的另一个segment, 那它的第一个token就用B-X标记.BIOES: B,I,O...

2020-04-15 16:50:34 962

原创 t-SNE概述

t-SNE是在词向量降维中广泛使用的算法, 它的思路很简单, 假设N个词的词向量分布在空间中,1.设置一N×N的相似度矩阵, 通过某种计算词与词之间相似度的方法进行填充, 理想情况下这个矩阵就包含了所有词语之间的空间关系.2.在一个低维空间中随机初始化那N个词的位置, 计算词与词之间的相似度, 与矩阵的相似度比较, 并调整其位置使相似度接近, 直至相似度一致....

2020-03-08 17:42:09 842

原创 attention在关系抽取中的作用

attention机制是为了让网络更加关注训练数据中的重要部分, 在对句的处理中用于对不同词设置不同的attention程度.关系抽取希望网络能得到句中表示关系的实体和关系词, 相当于让网络的attention聚集在这些词上.如果网络不设置attention机制, 就要纯粹靠网络自己去悟, 是很费时间和资源的, 所以要靠attention机制推波助澜, 事先就让词语的关注度有高有低.而许多网...

2020-02-13 11:02:10 656

原创 GBDT, AdaBoost, XGBoost,LightGBM

以下知识需要了解决策树的工作原理, 和它如何进行二分类和回归.决策树是树模型的基础, 它遍历所有特征的所有分割点, 找出效果最好的分割点, 依靠分割点将数据二分. 不断重复二分, 在差不多的树深度or子节点数据不足的情况下停止.GBDT虽然决策树可用于分类和回归, 但GBDT是基于回归用途来设计的.当然改造后也能分类.决策树的回归是取分类下样本的平均值, 很明显是个很挫的设计.GBDT的...

2020-01-10 16:42:22 140

原创 PCNN实践

学习了这份代码, 但我出了bug没有跑起来PCNN的原理省略.代码遵循PCNN论文中的结构, 以80维词向量, 230个通道的卷积

2019-12-30 14:04:20 902

空空如也

空空如也

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

TA关注的人

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