自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(140)
  • 资源 (3)
  • 收藏
  • 关注

原创 Embedding模型提升效果的方法之二:对比学习(SimCSE最先用在文本表征上)

SimCSE(simple contrastive sentence embedding framework),意为简单的对比句向量表征框架。SimCSE的核心就是使用了对比学习的方法,从而提升对句子的表征能力。如今的预训练语言模型都会存在各向异性的问题,所以需要通过对比学习来加以缓解。下文主要介绍对比学习SimCSE如何使用对比学习,以及为什么对比学习可以缓解各向异性的问题。对比学习就是以拉近相似数据,推开不相似数据为目标,有效地学习数据表征。给定一个pair对样本集合Dxixii1mD。

2024-09-06 19:41:57 104

原创 Embedding模型提升效果的方法之一:Whitening和pooling

各向异性是指在不同的方向上物理性质(表达含义)不同,各向同性是指不同的方向上物理性质相同。

2024-03-25 13:20:15 341

原创 论文阅读:BGE M3-Embedding——通过自知识提取实现多语言、多功能、多粒度的文本嵌入

本文提出了一种新的嵌入模型,称为M3嵌入,以其在多语言、多功能和多粒度方面的多功能性而著称。它可以支持100多种工作语言,在多语言和跨语言检索任务中具有最先进的性能。它可以同时执行嵌入模型的三种常见检索功能:密集检索、多向量检索和稀疏检索,为真实世界的IR应用提供了统一的模型基础。它能够处理不同粒度的输入,从短句到多达8192个token的长文档。M3-Embedding的有效训练包括以下技术贡献。我们提出了一种新的自我知识提取方法,其中来自不同检索功能的相关性得分可以被整合为教师信号,以提高训练质量。

2024-03-05 00:05:29 1054

原创 Redis和RediSearch的安装及使用

这可以通过在用户的主目录或其他你有写权限的目录中安装新版本的 GNU Make 来实现。以上步骤是一般性的安装步骤,确保你的系统已经安装了构建工具(如 make),并具有运行 Redis 和 RedisSearch 的权限。确保你有在该目录中写权限。如果你想要在非默认的端口上运行 Redis,可以使用 redis.conf 文件进行配置,指定非 root 用户可以访问的端口。请注意,这只是一个示例,确保你的 Redis 版本和 RedisSearch 版本是兼容的,以避免不同版本之间的兼容性问题。

2024-01-18 21:23:53 2663 3

原创 RediSearch vs. Elasticsearch vs. solr

比较RediSearch,Elasticsearch和solr

2024-01-11 21:31:33 1604

原创 论文阅读:Making Large Language Models A Better Foundation For Dense Retrieval

密集检索需要学习区分性文本嵌入来表示查询和文档之间的语义关系。考虑到大型语言模型在语义理解方面的强大能力,它可能受益于大型语言模型的使用。然而,LLM是由文本生成任务预先训练的,其工作模式与将文本表示为嵌入完全不同。因此,必须研究如何正确地调整LLM,以便它们能够有效地初始化为密集检索的骨干编码器。在本文中,我们提出了一种新的方法,称为LLaRA(适用于密集检索的LLM),它作为LLM的后验自适应,用于密集检索应用。

2024-01-09 19:40:20 1091 1

原创 如何用GPTCache对自定义大模型的结果进行cache

主要有两个作用,一是省钱,二是减少耗时。目前通过api请求chatgpt等能力比较强的商业化大模型是要按token收费的,而且一点儿也不便宜。另一方面,大模型生成结果的速度比较慢,如果调用大模型做第三方应用的话很影响用户体验。如果可以对问题和大模型给出的对应结果做cache,下次再问到相同或者相似的问题时就可以直接查cache词典给出结果了,这样既省钱还能减少耗时。GPTCache就提供了这样的能力。

2023-12-24 17:24:19 1409

原创 论文阅读:TRAIN SHORT, TEST LONG: ATTENTION WITH LINEAR BIASES ENABLES INPUT LENGTH EXTRAPOLATION

自从transformer模型被提出以来,一个基本问题尚未得到回答:对于比训练中看到的更长的序列,模型如何在推理时实现外推。我们首先证明了外推可以通过简单地改变位置表示方法来实现,尽管我们发现目前的方法不允许有效的外推。因此我们引入了一个更加简单而且更高效的位置表示方法,即Attention with Linear Biases(ALiBi)。ALiBi不会将position embedding和word embedding相加,它使query-key的注意力得分产生偏差,惩罚与他们的距离成正比。

2023-12-15 17:20:28 213

原创 论文阅读:JINA EMBEDDINGS 2: 8192-Token General-Purpose Text Embeddings for Long Documents

如何增大embedding模型所能容纳的token数,从512个token扩大到8192个token

2023-11-26 17:32:54 322

原创 论文阅读:JINA EMBEDDINGS: A Novel Set of High-Performance Sentence Embedding Models

本文介绍了JINA EMBEDINGS嵌入模型集,表明与具有可比backbone的其他模型相比,可以在大幅减少训练数据量的同时,实现各种任务的竞争性能。通过对MTEB基准的广泛评估,我们表明,与使用更大但质量更低的数据集进行训练相比,采用明智的数据过滤技术可以提高性能。这些发现显著改变了范式,表明为嵌入任务训练大型语言模型可以用比以前假设的更少的数据进行,从而可能节省训练时间和资源。然而,我们承认当前方法和JINA EMBEDINGS集合性能的局限性。在二元组训练过程中,采样率的选择是基于启发式方法的。

2023-11-19 13:05:11 804

原创 RetroMAE论文阅读

在NLP常用的预训练模型通常是由token级别的任务进行训练的,如MLM和Seq2Seq,但是密集检索任务更倾向于句子级别的表示,需要捕捉句子的信息和之间的关系,一般主流的策略是自对比学习(self-contrastive learning)和自动编码(auto-encoding)。总的来说:输入的句子在进入Encoder之前先进行15%~30%的适度mask,经过Encoder之后生成Sentence embedding;

2023-11-11 18:49:36 596

原创 论文阅读:One Embedder, Any Task: Instruction-Finetuned Text Embeddings

现存的emmbedding应用在新的task或者domain上时表现会有明显下降,甚至在相同task的不同domian上的效果也不行。这篇文章的重点就是提升embedding在不同任务和领域上的效果,特点是不需要用特定领域的数据进行finetune而是使用instuction finetuning就可以在不同的任务和领域上表现得很好。新提出的模型被叫做INSTRUCTOR,进行instruction finetuning所用的数据集是MEDI。

2023-11-02 16:34:04 939

原创 LLM-Embedder

训出一个统一的embedding模型LLM-Embedder,旨在全面支持LLM在各种场景中的检索增强。

2023-10-27 19:52:56 1204

原创 感知机模型

问题:有一组训练数据集T{(x1​y1​x2​y2​xN​yN​)}其中xi​∈XRnyi​∈Y1−1i12N,求一个超平面S使其能够完全将yi​1和yi​−1的点分开。

2023-07-08 18:22:18 258

原创 load_dataset加载huggingface数据集失败

这种加载方式可能会显示因为连接问题导致失败,此时可以在hugging face里面找到对应的页面下载下来。

2023-06-14 17:19:18 2551 4

原创 Transformer的位置编码

简单来说位置编码就是给一个句子中的每个token一个位置信息,通过位置编码可以明确token的前后顺序关系。对任何语言来说,句子中词汇的顺序和位置都是非常重要的。它们定义了语法,从而定义了句子的实际语义。RNN结构本身就涵盖了单词的顺序,RNN按顺序逐字分析句子,这就直接在处理的时候整合了文本的顺序信息。但Transformer架构抛弃了循环机制,仅采用多头自注意机制。避免了RNN较大的时间成本。并且从理论上讲,它可以捕捉句子中较长的依赖关系。

2023-05-06 15:19:54 4050 1

原创 排序评估指标——NDCG和MAP

用实例理解NDCG和MAP

2023-02-18 22:40:34 4254

原创 ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device的解决方案

ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

2022-11-01 20:51:36 6491 1

原创 用 XGBoost 做 Learning To Rank

训练xgboost排序模型并进行预测的最小实现

2022-10-23 23:24:47 748

原创 RankNet,LambdaRank,LambdaMart

RankNet,LambdaRank和LambdaMart的介绍

2022-10-10 21:13:42 837

原创 git 常用操作

1. 存储修改和恢复修改git stash git stash apply

2022-10-10 14:30:17 191

原创 GBRank:一种基于回归的排序方法

GBRank算法的原理及步骤

2022-08-06 19:03:25 1177

原创 如何将过长的链接放到excel里面

如何将长度超过256的链接放在excel和wps里面,并实现点击跳转

2022-07-15 20:39:57 5254

原创 手推RNN反向传播

手推了RNN的反向传播过程,相信对各位理解RNN的深层机理大有裨益。

2022-06-05 20:30:40 892

原创 FaceBook-NLP工具Fairseq

1. 简介作为一个通用的序列建模工具,fairseq可以在多个自然语言处理任务上使用,如机器翻译、自动摘要、语音识别等文本生成任务,或者BERT、GPT等语言模型的训练;同时fairseq还实现了目前常用的多数模型,如RNN、CNN、Transformer、RoBERTa、XLM等。除了大量内置的任务和模型,fairseq还提供了极为简洁的接口,以便于使用者扩展已有模型、验证新的想法。开源代码:https://github.com/pytorch/fairseq/tree/v0.10.1文档:ht

2022-05-17 19:04:55 2051

原创 最短编辑距离和最短编辑路径

1. 题目求出两个字符串的最短编辑距离,及最短编辑路径。2. 代码# 计算两个字符串的最小编辑距离def min_ed(source_str, target_str, source_len, target_len): # 初始化matrix matrix = [] for i in range(source_len + 1): matrix.append([]) for j in range(target_len + 1):

2022-05-02 18:45:43 882

原创 论文阅读笔记——FastCorrect2

1. 引述考虑到语音识别模型往往可以给出多个备选识别结果,研究员们还进一步提出了 FastCorrect 2 来利用这些识别结果相互印证,从而得到了更好的性能。FastCorrect 1和2的相关研究论文已被 NeurIPS 2021 和 EMNLP 2021 收录。当前,研究员们还在研发 FastCorrect 3,在保证低延迟的情况下,进一步降低语音识别的错误率。2. 存在的问题由于语音识别模型往往会在语音模糊不清或者存在同(近)音字的情况下出错,所以如果纠错模型能够得到这方面的信息,那么就可以在

2022-04-15 00:45:09 3371 10

原创 论文阅读笔记——FastCorrect

编辑对齐( Edit Alignment)如上图所示,我们的源句子为“BBDEF”,目标句子为“ABCDF”,而我们在进行变换操作的时候是按照token粒度进行变换的,在这个例子中就是按照字母粒度进行变换的。我们一共有三种变换的方式:token插入,token删除,token替换。从句子S=(s1,s2,⋅⋅⋅,sM)S = (s_1, s_2, ···,s_M)S=(s1​,s2​,⋅⋅⋅,sM​)到句子T=(t1,t2,⋅⋅⋅,tN)T = (t_1, t_2, ···, t_N)T=(t1​,t

2022-04-13 10:15:32 3273

原创 使用LDA分类器对邮件进行分类

1. 简述LDA线性判别分析(linear discriminant analysis, LDA)是最直接和最快的分类模型之一,是一种有监督的算法。模型的训练可分为3步:(1)计算某个类(如垃圾短消息类)中所有TF-IDF向量的平均位置(质心);(2)计算不在该类(如非垃圾短消息类)中的所有TF-IDF向量的平均位置(质心);(3)计算上述两个质心之间的向量差(即连接这两个向量的直线)。2. 例子下面是一个例子:import pandas as pdfrom nlpia.data.loade

2022-03-05 21:09:54 1052

原创 Mac下安装iTerm2并使用rz sz上传下载

0. 为什么要使用rz sz上传下载开发的时候会用自己的Mac连接远程的机器进行开发,在Mac和远程机器之后需要进行文件的传输。1. 安装iTerm2建议去官网下载安装:http://www.iterm2.com/2. 安装Homebrew先到官网按照提示安装:https://brew.sh/将框中的命令复制下来,然后在输入iTerm中,会车。期间按照提示输入密码或者打回车,我在安装的时候出现了好几次time out的错误,然后多试了几次就装好了。装好之后在命令行输入brew,如果出现如

2022-03-04 11:56:28 4538 9

原创 GDB基础操作

1.最常见的几个GDB命令2.如何使用(1) 编写代码生成可执行文件(2) 进入gdb模式gcc -g ./test.out(3) 运行程序run r(4)退出gdbquit

2022-02-20 21:39:35 541

原创 TF-IDF原理及应用

1. 什么是TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率),是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降词频 (term frequency, TF) 指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(一般是词频除

2022-02-20 17:48:09 1060

原创 如何进行word embedding(tensorflow实现)

1. 什么是word embedding(1)从word到num我们的自然语言,不管是中文还是英文都不能直接在机器中表达,此时就要将自然语言映射为数字。要映射成数字就要有字典,所以一般会先构建词典,举例如下:word_dict = {"我":0, "你":1, "他":2, "她":3, "是":4, "好":5, "坏":6, "人":7, "天":8, "第":9, "气":10, "今":11, "怎":12, "么":13, "样":14,

2022-01-29 18:01:10 2465 2

原创 Hive常用操作

1. locate判断 name 字段中是否包含字符串 “aaa”:select * from temp where locate("aaa", name) > 0;ocate(字符串,字段名),如果包含,返回大于0的index位置;否则,返回0;

2021-11-24 14:51:21 2479

原创 shell常用指令

1. set指令(1)set -e每个脚本都应该在文件开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。(2)set -x用于脚本调试,在liunx脚本中可用set -x就可有详细的日志输出.免的老是要echo了2. if(1) if [-d filename]-d filename

2021-10-30 11:09:35 222

原创 Linux下文件的压缩与解压

1. 文件压缩(1)将file1 压缩为file1.tartar -cvf file1.tar file1

2021-10-21 22:34:28 5143

原创 C++把一个类对象作为另一个类的成员,或者作为一个结构体的成员

1.类对象在另一个类里做成员class Date{ int year; int month;};class Student{ string name; Date t; };2.类对象在结构体中做成员类对象可以在结构体中做成员。不过类的对象不能在联合体中做成员。class Date{ int year; int month;};struct Student{ string name; Date

2021-10-20 10:26:04 4760 1

原创 Linux常用指令

1. 用iconv指令解决utf8和gb18030编码间转换Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致。Linux下使用的编码是utf8,而Windows使用的是gb18030。解决方案:在终端中,进入到txt文件所在目录,使用命令符“iconv -f gb18030 -t utf8 1.txt -o 2.txt”把gb18030编码的1.txt转换成utf8的2.txt。这样2.txt就成为Linux支持的编码。2.cut命令详解...

2021-10-13 20:16:22 899

原创 linux下文件编码格式转换方法

1. 使用iconv进行转换将使用gb18030编码的文件file1.txt转换为utf-8编码的文件file2.txt:iconv -f gb18030 -t utf-8 file1.txt -o file2.txt但是这个命令不好使,一方面容易重复转换,另一方面不支持通配符,无法成批转换,还有如果转换出错就会停止转换。可以加上-c来忽视非法字符:iconv -c -f gb18030 -t utf-8 file1.txt -o file2.txt2. iconv命令【功能】对于给定文

2021-10-08 14:11:58 11627

原创 makefile

1. 几个过程-E 预处理:把.h和.c展开形成一个文件,宏定义直接替换头文件和库文件gcc -E hello.c -o hello.i-S 汇编:.i 生成一个汇编代码文件 .sgcc -S hello.i -o hello.S-c 编译:.S生成一个.o .objgcc -C hello.S -o hello.o-o 链接: .o 链接 .exe windows .elfgcc hello.o -o hello2. 最原始的编写makefile(1) 创建文本文档,取名

2021-09-12 17:43:09 177

time_series_anomaly_detection.zip

时间序列异常的公开数据集,内有异常和正常的标注。内含五个不同的数据集,包括环境温度异常检测、cpu使用率的异常检测、请求延迟系统故障检测、机器温度异常检测和纽约出租车数量异常检测。

2021-04-14

nyc_taxi.csv

纽约地区从2014年7月1日到2015年1月31日的出租车需求

2021-01-26

SMO_web.zip

用smo算法实现参数的求解,内有高斯核函数, 还有本人自己写的注释

2019-07-24

空空如也

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

TA关注的人

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