自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 预训练模型语义相似性计算(十一) - M3E和BGE

3.特定任务微调,在C-MTP有监督语料下训练,有监督语料量少但是质量高,为了缓解语料任务之间的矛盾,微调使用指令微调。对于每个小批,我们利用模型编码文本,收集输出的向量同时丢弃所有前向传播中的中间状态,最后汇总向量计算损失。2.通用微调,在C-MTP无监督语料下进行对比学习,没有特意挖掘负样本,而是以来批次内负样本,并通过增大批次从而增加嵌入的判别性。1.C-MTP,一个大型的文本嵌入训练集,包括了大量的非监督语料库和高质量标注的有监督语料库。3.最后将蒸馏损失和混合检索损失作为最后的损失。

2024-05-28 22:17:24 1156

原创 检索模型预训练方法:RetroMAE

1.一种新的MAE工作流,编码器和解器输入进行了不同的掩码。编码器编码的句子向量和解码器的掩码输入通过语言模型进行重构问句。2.非对称的模型结构,编码器拥有像BERT一样全尺寸的transformer,解码器只有一层的transformer。3.非对称的掩码比例,编码器:15%-30%,解码器:50%-70%。retroMAE这样设计的原因:1.auto-encoding对于编码质量的要求更高,传统的自回归更关注前缀,传统的MLM只掩盖一小部(15%)的输入。

2024-05-28 22:16:34 651

原创 微调LLM的理由

原文链接:https://www.freddyboulton.com/blog/when-to-finetune?continueFlag=03133d546a002fc4ba73dda1632eeebe考虑到大语言模型(llama 70b, mixtral, claude...)的能力在不断的增强的情况下,微调是否仍然是值得做的事。下面是值得微调的一些原因: 1.提示工程达不到预期 一开始要进行提示工程而不是微调,因为提示工程是实现最低可行性产品的最快途径。 但是在

2024-05-25 10:03:43 404

原创 大模型时代下两种few shot高效文本分类方法

大模型背景下,两种不依赖大模型和prompt构建框架的的few shot文本分类方法,setfit和fastfit能够高效地实现少镜头下的文本分类任务。

2024-05-13 20:57:31 677 1

原创 预训练模型语义相似性计算(七) -套娃向量表示和动态层的组合拳

尽管 MRL 的效率有所提高,但在获得嵌入之前仍然需要遍历所有 Transformer 层,这仍然是时间和内存消耗的主要因素。这提示考虑了固定数量的 Transformer 层是否会影响表示质量,以及是否使用中间层进行句子表示是可行的。它支持嵌入大小和Transformer层的弹性设置,提供了比MRL更大的灵活性和效率。有了这些优势,MRL 实现了基于准确性和计算约束的自适应部署。为了平衡计算成本和表示效果,使用了俄罗斯套娃向量表示(MRL)技术,传入维度参数后可以指定输出向量的维度大小。

2024-04-07 11:21:46 284

原创 真、开源LLM-OLMo

论文:Weights Code Data Evaluation Adaptation。

2024-02-11 21:30:38 238

原创 RAPTOR:树组织检索的递归抽象处理

检索增强语言模型可以更好的融入长尾问题,但是现有的方法只检索短的连续块,限制了整个文档上下文的整体理解。文本提出方法:递归对文本块进行向量化,聚类,摘要,从下到上构建一棵具有不同摘要级别的树。要解决的问题是,大多数现有的方法只检索几个短的、连续的文本块,这限制了它们表示和利用大规模话语结构的能力。这与需要整合文本多个部分知识的主题问题特别相关,前k个检索到的短连续文本将不包含足够的上下文来回答问题。为了解决这个问题,我们设计了一个索引和检索系统,该系统使用树结构来捕获文本的高级和低级细节。

2024-02-06 19:07:06 900

原创 RAG常见七大坑

2.RAG v.s. 微调:RAG对于微调的优势:更新相关文档,控制用户访问文档权限。3.不在上下文:合并策略限制,检索到了答案相关文档,但没有合并进上下文。论文地址:https://arxiv.org/pdf/2401.05856.pdf。7.答案不完整:信息遗漏,答案在相关文档中没有被LLM完整提取。生成组件:使用检索到的信息作为相关上下文为用户查询生成答案。4.没有提取到:相关文档太多噪声和矛盾,LLM不能正常回答。2.遗漏排名靠前文档:答案在文档中,但文档的排名不够高。1.减少LLM的幻觉问题。

2024-01-20 22:43:41 611

原创 大规模语言模型从理论到实践

2024-01-20 20:12:05 465

原创 增强LLM:使用搜索引擎缓解大模型幻觉问题

论文题目:FRESHLLMS:REFRESHING LARGE LANGUAGE MODELS WITH SEARCH ENGINE AUGMENTATION论文由Google、University of Massachusetts Amherst、OpenAI联合发布。大部分大语言模型只会训练一次,不会被频繁的更新,训练用到的知识会慢慢过时,所以它无法适应变化的世界。论文作者提出了动态问答的基准测试,称为FRESHQA,并且提出了一种简单的解决问题的方法,FRESHPROMPT。

2023-10-09 22:19:07 1581

原创 预训练模型语义相似性计算(十)--ACL2023:成分对比学习生成句子嵌入表示

很多基于对比学习的方法用在无监督语料中,通过最大化对齐同一句子的最小扰动,并且鼓励向量在广泛文本语料中的均匀分布。本文方法提出最大化文本与其短语成分的组合之间的对齐。对比学习框架在计算机视觉中的成功很大程度上是由于用于创建正对时增强的多样性,这使得原始示例的身份保持不变,同时减少输入空间中的成对互信息。将相同的训练目标应用于句子的嵌入表示时,通过离散增强方法构造正向对没有效果。之前的研究通过消融实验可知,这样的增强对会损害相似性任务的下游性能。

2023-08-12 10:51:54 307

原创 OpenAI的编码方式Tiktoken

以上的不一致问题只会出现在messages中的message包含了name关键, 也就是说在使用function这个role的时候才会发生,并且每添加一个有function的message,最后的token差距增加2。所以可以看出问题应该是出现在role为function的message环节的计算上,我猜测是gpt-3.5-turbo-0613模型使用了和gpt-3.5-turbo-0301一样的tokens_per_name,使用了-1而不是1,所以会出现2的差距。

2023-07-31 09:37:40 1368

原创 OpenAI的Function calling 和 LangChain的Search Agent

Agent可以使用多个工具,并将一个工具的输出用作下一个工具的输入。follow up是gpt的输出,表示需要search tool搜索的问题, Intermediate answer 则为search tool的答案,循环多次之后得到最终答案。"时,gpt做出了进行调用get_info_from_web函数的决定,并且调用的参数为"query": "杭州天气"。以下是search agent的例子。调用第2步中gpt输出的参数执行相应的函数,获得中间结果。3.执行gpt的决定,获得回答问题的中间结果。

2023-07-20 20:34:02 3293 2

原创 LangChain中的output parsers

生成语言模型由于生成不可控,所以生成的自然语言是非结构话的文本。而prompt的出现使得用户可以将期望的输出文本格式进行约束和规范。LangChain中的output parsers模块可以使模型输出的期望的结构化文本,使用的正是prompt操作。

2023-07-19 20:59:33 2285

原创 ACL2023:电商中的商品问答综述

PQA的四种方法、数据、挑战、优缺点总结:四种方法的示意图:常见的PQA数据集:

2023-07-13 22:37:41 228

原创 Milvus的索引方式

查询时,查询向量分端后与聚类中心计算距离,各段相加后即为最终距离。使用对称距离(聚类中心之前的距离)不需要计算直接查表,但是误差回更大一些。先对空间的点进行聚类,查询时先比较聚类中心距离,再找到最近的N个点。SQ8:对向量做标量量化,浮点数表示转为int型表示,4字节->1字节。IVF-SQ8:量化操作,disk cpu GPU 友好。IVF-FLAT:量化操作, 准确率和速度的平衡。HNSW:基于图的索引,高效搜索场景。IVF-PQ:快速,但是准确率降低。ANNOY:基于树的索引,高召回率。

2022-12-01 15:31:44 1098 1

原创 中文NER的SOTA:RICON

规律感知模块 span表征 用于实体类型的预测。规律判断模块 span上下文表征 判断是否是实体。

2022-08-09 21:34:41 429

原创 OOD论文:Revisit Overconfidence for OOD Detection

重新审视OOD检测的过度自信:基于自适应类相关阈值的重分配对比学习。

2022-08-09 21:14:04 1209

原创 利用ONNX runtime对transformer模型进行推理加速

利用ONNX runtime对transformer模型进行推理加速

2022-04-28 20:42:59 2123 8

原创 预训练模型语义相似性计算(九)--向量表示相关论文

对话文本中的向量表示以及对比学习相关的向量表示方法。

2022-04-28 20:29:12 431

翻译 [译文]Faster and smaller quantized NLP with Hugging Face and ONNX Runtime

​量化和蒸馏是处理这些尺寸和性能挑战的两种常用技术。这些技术是互补的,可以一起使用。在之前的一篇HuggingFace的博文中讲到了蒸馏。这里我们讨论量化,它可以很容易地应用于您的模型,而无需再训练。这项工作建立在我们之前分享的ONNX Runtime优化推理的基础上,可以为您提供额外的性能提升,以及在客户端设备上解除阻塞推理。

2022-04-28 20:07:07 585

翻译 [译文]Accelerate your NLP pipelines using Hugging Face Transformers and ONNX Runtime

我们将分享ONNX Runtime团队和HuggingFace如何合作,以解决和减少Transformer模型训练和部署中的这些挑战。这是一个简化训练并降低推断成本的解决方案。

2022-04-28 19:45:21 963

原创 预训练模型语义相似性计算(六)--cross-encoder

前面讲的各个语义相似性计算的模型,基本都是双塔的结构。双塔结构主要优点是相似性计算快速,这里指的快速不是模型单个数据的推理速度,而是在大量问句场景下的计算,比如相似问句的召回场景。因为双塔模型得到的其实是单个问句的表示,相似性的计算只是在最后做了简单的计算,最耗时的问句表示操作可以离线完成。而cross-encoder是在模型输入时进行了拼接输入,这样两个问句进行更深层的交互,相似句任务直接在模型中完成,而不单单是问句的语义表示模型。所以cross-encoder的相似计算效果也要明显优于双...

2022-04-22 16:43:03 4509

原创 预训练模型语义相似性计算(八)--AWS文本表示三连击

PariSupConTrans-EncoderVaSCL

2022-04-21 21:17:11 248

原创 Unified Named Entity Recognition as Word-Word Relation Classification

论文链接:Unified Named Entity Recognition as Word-Word Relation Classification code链接:https://github.com/ljynlp/W2NER.gitNER任务根据实体的情况可以分为扁平实体(flat ner)、嵌套实体(nested ner)、不连续实体(discontinuous ner)。如果实际的实体抽取场景中同时包含了上述三种实体,那...

2022-03-09 22:09:26 1797 4

原创 data2vec: A General Framework for Self-supervised Learning in Speech,Vision and Language

abstract 不同模态下的自监督学习的总体思想一致,但是在实际过程中的算法和目标却有很大的不同。 data2vec是一个语音、nlp、cv不同领域下通用的自监督学习框架。 其主要的思想是:在标准的Transformer结构下,对数据进行 mask 后,使用 自蒸馏 方法,预测 隐性表示。 该方法预测了整个输入的上下文隐性表示,而不同于在单模态下的预测某个单元(word、visual token、speech unit)的局部信息。 ps:首先目前来说transf...

2022-03-07 21:01:42 3410

原创 ner新的打开方式

ner目前主流的打开方式就是抽取器(lstm,cnn,transformer)+crf。今天介绍几种新的ner打开方式-prompt learning。prompt learning主要运用低资源场景下的ner,依靠预训练模型中通用的语言知识,能够应对数据少的ner场景。还有一个好处是可以做到持续学习,在新增实体label时,以前的模型需要重新训练,而prompt learning的方式可以通过构建相应template数据做到继续训练学习。1.LightNER 论文链接:...

2021-12-02 21:33:57 968

原创 TENER: Adapting Transformer Encoder for Named Entity Recognition

Transformer编码器用于命名实体识别。

2021-12-02 20:56:36 755

原创 句法分析与语义依存分析

nlp中有很多基础的任务,如常用的中文自然语言处理工具LTP中支持了分词、词性、命名实体识别、 句法分析、语义角色标注、语义依存分析六种自然语言处理工具。其中,分词、词性、命名实体比较常见,这里不过多介绍。语义角色标注是一种浅层语义分析技术,以句子为单位,分析句子的谓词-论元结构。该任务输入通常是句子和该句子的谓语(目前end-to-end的方法不需要给出),找出谓语和它对应的论元结构。语义角色标注的相关论文介绍可以看这里。 句法分析...

2021-11-30 21:36:52 841 1

原创 keybert:基于bert模型的关键词抽取工具

github:https://github.com/MaartenGr/KeyBERTguides:https://maartengr.github.io/KeyBERT/guides/quickstart.html使用向量计算抽取关键词,只需要预训练模型,不需要额外模型训练。流程:1.没有提供分词功能,英文是空格分词,中文输入需要分完词输入。2.选择候选词:默认使用CountVectorizer进行候选词选择。3. model:默认方式,候选词向量和句向量的距离排序。 mmr:...

2021-08-07 12:24:54 3230

原创 Tokenizer总结

Introduciton transformer类型的预训练模型层出不穷,其中的tokenizer方法作为一个非常重要的模块也出现了一些方法。本文对tokenizer方法做一些总结。参考来自hunggingface。 tokenizer在中文中叫做分词器,就是将句子分成一个个小的词块(token),生成一个词表,并通过模型学习到更好的表示。其中词表的大小和token的长短是很关键的因素,两者需要进行权衡,token太长,则它的表示也能更容易学习到,相应的词表也会变小;to...

2021-08-02 22:25:00 10807

原创 论文阅读 CLINE:Contrastive Learning with Semantic Negative Examples for Natural Language Understanding

文章来自清华大学和腾讯AI实验室,中文题目为自然语言理解的语义负样本对比学习。首先还是最近比较热的对比学习,重点关注在语义负样本的构建上。预训练模型虽然有很强的语义表征的能力,但是还是容易受到简单扰动的影响。最近的工作提高预训练模型鲁棒性的方法主要是对抗训练(使用经过扰动后的相近语义样本,而忽略了不同或者是相反样本)。nlp领域 文本的不连续性,使得局部个别字符变化可能造成语义的重大改变。文章经过实验发现,对抗学习对于语义变化情况无效甚至更差。 所以文...

2021-07-29 21:43:03 800

原创 使用huggingface 领域数据适配预训练

如果自己有一批数据,想要使用预训练模型再进行领域数据的适配,可以使用huggingface中的run_mlm.py进行训练。 最近在训练的时候遇到一个问题:训练的时候GPU占用上升导致out of memory。 详细问题描述:pytorch 使用 transoformers(version=4.8.2)中 run_mlm.py 进行垂直领域数据适配预训练的时候;GPU显存占用量慢慢上升,但是并不是一直在升,隔几百个step之后会有一个量(1G)的上升并稳...

2021-07-22 23:43:48 1041 1

原创 学习一下对比学习

由于在做一些语义相似的工作,其中看了陈丹奇组的SimCSE使用了对比学习刷新了有监督和无监督的SOTA,自己也在做一些相关的下游任务的实验,其中就使用了图像和nlp都非常火的对比学习的方法,看了一下张俊林大神知乎对于对比学习的研究进展精要,讲的还是一如既往的清晰易懂。还是做一下搬运工,做一下自己的提炼记录。对比学习分类 对比学习是无监督学习中自监督学习中的一种,其中NLP中的预训练模型MLM就是自监督学习(使用辅助任务挖掘无监督语料自身的监督信息)。图像中的自监督分为两...

2021-07-20 09:07:30 1571 1

原创 预训练模型语义相似性计算(五)--poly-encoder

bi-encoder(SBERT)和cross-encoder两种模型架构都有各自的优缺点,FAIR在ICLR2020上提出的这个poly-encoder的架构集成了两者的优点,并且避免了缺点。poly-encoder的架构图如下: poly-encoder的架构其实很简单,对contexr-query向量进行再一次编码生成m个向量表示,再与candidate-query进行attention计算得到最后的相似表示。bi-encoder在表示的缺点是两个query在经...

2021-06-27 12:27:22 884

原创 预训练模型语义相似性计算(四)--SimCSE

接着之前的句向量表示模型进行相似句计算的方法,这篇接着介绍一种新的方法-SimCSE。文章来自普林斯顿陈丹琦,引入了对比学习的

2021-06-15 23:03:26 2423

原创 NLP中数据增强综述

目录摘要介绍背景 什么是数据增强 目标和权衡 DA的解释技术和方法 基于规则 基于插值 基于模型应用 小资源语言 性别偏见 类别不平衡 少样本学习 对抗样本任务 摘要 问答 序列标注 解析任务 语法纠错 机器翻译 数据-文本生成 开放域和有条件生成 对话 多模态任务挑...

2021-05-23 16:02:17 984

原创 RuntimeError: Already borrowed

问题:之前写的SBERT模型接口部署上线后最近报了RuntimeError: Already borrowed的错误,在这里记录下。现象:具体的报错如下: File "/home/XXXX/XXX/src/sentence_proc.py", line 77, in compute_sentence_vectors sentences = self.tokenizer(sentences, padding='max_length', truncation=True, max_length=...

2021-05-11 21:02:34 1766 2

原创 会话语义角色标注:Conversational Semantic Role Labeling

摘要: SRL任务是捕捉句子中每个谓词的论元。传统的SRL不能分析对话,因为它只能分析单个句子,而省略和回指经常发生在会话中。目前的SRL都是句子级别的,文章提出会话SRL任务,论元可以是会话参与者,出现在当前句子或者会话历史中。介绍: 省略和回指是对话理解中的一个大问题。省略是前文的简略,回指则是避免重复前文的替代。SRL是很多自然语言理解工具包中的语义分析工具。但是传统的SRL只能处理单个句子,不能捕捉多轮会话任务中信息。解决上面问题的方法一般是在SRL前重...

2021-04-19 18:58:09 513

原创 通用的预训练模型:All NLP Tasks Are Generation Tasks: A General Pre-training Framework

最近在arxiv上又看到了一篇论文,出自清华大学。题目为:All NLP Tasks Are Generation Tasks: A General Pretraining Framework。0.摘要NLP任务分为分类或者说是阅读理解任务(NLU)、无条件生成任务、有条件生成任务;预训练模型分为自编码、自回归、编码解码。三种训练模型分别在前面三种任务中表现良好。本文中提出一个通用的预训练模型,在三种任务中都能做到良好表现。 ...

2021-03-26 19:44:44 1686

空空如也

空空如也

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

TA关注的人

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