自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

温染的笔记

人生不是戏剧,而我亦非主角

  • 博客(103)
  • 收藏
  • 关注

原创 论文阅读:Enhancing Retrieval and Managing Retrieval: A Four-Module Synergy for Improved Quality and Ef

作者的研究发现了将 Query Rewriter 模块增强为 Query Rewriter+ 的机会,即通过生成多个查询来克服与单个查询相关的信息高原,以及通过重写问题来消除歧义,从而明确基本意图。作者还发现,当前的 RAG 系统在无关知识方面存在问题;为了克服这一问题,提出了知识过滤器。

2024-07-27 20:59:30 236

原创 论文阅读:DQ-LoRe:Dual Queries with Low Rank Approximation Re-ranking for In-Context Learning

在本研究中,作者介绍了一种利用双查询和低秩近似重新排序(DQ-LoRe)的框架,以自动选择用于上下文学习的范例。双查询首先查询 LLM 以获得 LLM 生成的知识(如 CoT);然后查询检索器,通过问题和知识获得最终范例。此外,对于第二次查询,LoRe 采用了降维技术来完善范例选择,确保与输入问题的知识密切吻合。

2024-07-20 23:27:20 883

原创 论文阅读:Speculative RAG: Enhancing Retrieval Augmented Generation through Drafting

作者介绍了 SPECULATIVE RAG,一种利用较大、通用 LLM 高效验证由较小、经过提炼的专业 LLM 并行生成的多个 RAG 草案的框架。每个草稿都是从检索到的文件中的一个不同子集生成的,从而为证据提供了不同的视角,同时减少了每个草稿的输入 tokens。这种方法增强了对每个子集的理解,并减轻了 long context 中潜在的立场偏差。该方法将起草工作委托给较小的专家 LM,由较大的通用 LM 对草稿进行一次验证,从而加快了 RAG 的速度。

2024-07-20 20:13:08 1506 3

原创 论文阅读:Be like a Goldfish, Don‘t Memorize! Mitigating Memorization in Generative LLMs

大型语言模型会记忆和重复训练数据,从而造成隐私和版权风险。为了减少记忆,作者对 NSP 训练目标进行了微妙的修改,称之为 goldfish loss。在训练过程中,随机抽样的 token 子集将被排除在损失计算之外。这些被剔除的 token 不会被模型记忆,从而防止逐字复制训练集中的完整 token 链。作者进行了大量实验来训练十亿规模的 Llama-2 模型,包括预训练的和从头开始训练的,结果表明可提取的记忆量显著减少,对下游基准几乎没有影响。

2024-07-09 16:53:08 879 1

原创 AI 情感聊天机器人之旅 —— 相关论文调研

角色扮演情感聊天机器人的相关论文调研。

2024-06-20 22:13:16 957 2

原创 RAG 查询检索模块 - 检索 - Pinecone 混合检索方案

虽然向量检索有助于检索给定查询的语义相关块,但它有时在匹配特定关键字词方面缺乏准确性。为了解决这个问题,混合检索是一种解决方案。该策略充分利用了矢量搜索和关键字搜索等不同检索技术的优势,并将它们智能地组合在一起。使用这种混合方法,您仍然可以匹配相关的关键字,同时保持对查询意图的控制。。

2024-06-07 13:59:15 1040

原创 RAG 查询检索模块 - 前处理 - 查询变换

查询文本的表达方式直接影响着检索结果,微小的文本改动都可能会得到天差地别的结果。直接用原始的查询文本进行检索在很多时候可能是简单有效的,但有时候可能需要对查询文本进行一些变换,以得到更好的检索结果,从而更可能在后续生成更好的回复结果。

2024-06-07 13:41:00 972

原创 论文阅读:RCoT Detecting and Rectifying Factual Inconsistency in Reasoning by Reversing Chain-of-Thought

本文提出的 RCoT 是一种能够让 LLM 自动检测和纠正事实不一致的方法,以提高 LLM 的推理能力。RCoT 通过对重构问题和原始问题进行细粒度比较来检测事实不一致,然后通过细粒度反馈要求 LLMs 纠正不一致。在七个算术推理数据集上的实验结果证明了 RCoT 的有效性。实验还显示,在人工编写的细粒度反馈的帮助下,LLM 的推理能力得到了令人鼓舞的提高,这鼓励了社区进一步探索细粒度反馈的生成。原则上,RCoT 可以应用于其他需要 CoT 解决方案的任务。

2024-05-17 21:37:04 900 1

原创 RoPE + 位置线性内插

RoPE 位置编码在超出一定的序列长度后,模型生成的 PPL 指标会爆炸,因此直接外推的效果很差。Meta 的研究团队在论文《Extending Context Window of Large Models via Positional Interpolation》中提出了“位置线性内插”(Position Interpolation,PI)方案,来扩展 LLM 的 context length。

2024-05-17 17:45:06 1160

原创 RoPE 相对位置编码解读与外推性研究

RoPE(Rotary Position Embedding)位置编码是大模型中最常见的位置编码之一,是论文 Roformer: Enhanced Transformer With Rotary Position Embedding 提出的一种能够将相对位置信息依赖集成到 self-attention 中并提升 transformer 架构性能的位置编码方式。谷歌的 PaLM 和 Meta 的 LLaMA 等开源大模型都是 RoPE 位置编码。

2024-05-16 22:49:40 1450

原创 Transformer 架构中的位置编码

Transformer 模型需要位置编码来处理序列数据,因为其核心机制——自注意力(Self-Attention)本身并不具备捕捉序列中元素位置信息的能力。为了解决这个问题,Transformer 引入了位置编码(Positional Encoding)作为补充信息,确保模型能够利用序列中元素的位置信息。在这篇博客中,我们将介绍绝对位置编码、相对位置编码以及在 LLM 中常用的 RoPE。

2024-05-16 18:42:50 869

原创 论文阅读:Self-Consistency Improves Chain of Thought Reasoning in Language Models

提出了自我一致性方法,先使用思维链 prompt,然后通过采样等手段获取多条输入,汇总答案(根据投票以及加权等方式),并选择最一致的答案。该方法受限于固定的答案集,并且计算成本较高(多条输出、推理路径)。但在算术和常识推理任务上能够提高准确性。

2024-05-14 17:12:32 1296 1

原创 AI 情感聊天机器人之旅 —— 多轮对话存在的问题与数据积累

在 QA、逻辑推理等领域,多跳问答比单跳问答难得多。同理可得,多轮对话比单轮对话也难得多,模型需要结合历史对话和用户当前内容生成合适的响应。现有的指令数据大都是单轮或者两轮的对话,模型在对话轮数较少时,还能很好地遵循指令、记住历史信息以及输出合适的内容。但对话轮数多了后,模型的输出往往会变得不可控,例如越来越长、格式出现错误、遗忘历史信息、指令遵循能力变弱(人设不符)。那么如何缓解该问题,并积累相关的对话数据用作训练,是一个值得研究的场景与方向。

2024-05-14 11:35:33 875

原创 AI 情感聊天机器人工作之旅 —— 与复读机问题的相遇与别离

检查了相关的训练数据集,的确发现存在大量重复的语句,用户在不断地说着同样或类似的话,而角色回复的内容也有大量的短语级的重复,再加上我们训练时,只训练角色回复且多 epoch,会强化这一倾向。9 月 11 日得出的结论和研究员 4 的结论相同,通过更多的训练数据来让模型 cover 更多 context 下的输出,避免预训练阶段存在的问题(特定 context 下输出分布有问题,导致存在一个子串,反复生成该子串可以提高 PPL,例如成语接龙中“为所欲为”可以不停地循环)。

2024-05-13 23:24:57 1071

原创 论文阅读:Self-Evolved Diverse Data Sampling for Efficient Instruction Tuning 数据子集挑选方法

引入了 DIVERSEEVOL,这是一种用于高效调整 LLM 指令的自进化方法。DIVERSEEVOL 依靠迭代方案,利用 K-Center 策略从大量指令数据中选择不同的子集,从而逐步完善自身,而无需寻求任何外部监督。经验结果表明,该方法只用了不到原始数据大小的 8%,就能达到或超过强大的基准性能。未来的工作可以在更大的指令数据集上利用该方法,以获得可能更加精细的结果。在 DIVERSEEVOL 所奠定的基础上,更先进的多样化采样算法也有望进一步提高模型性能。限制。

2024-05-12 23:02:39 813

原创 LLM 可以从简单数据中学习吗?

在这之后训练的模型的 loss 曲线都是阶梯状,按照记忆假说和先前分析的内容来看,llama2、vicuna-13b-v1.5 等模型的对话、闲聊能力得到了提升(也有可能是 GPT4all 数据集让模型闲聊能力下降),在我们所认为的“高质量”数据集上进行训练,模型只是记住了对话内容,而非真正意义上地学习(训练数据集对于模型来说非常简单)。起初,这似乎是不可能的。早期训练的模型的 loss 曲线都是正常,可惜的是早期的训练数据被删了,无法准确地判断是数据质量的因素,还是基底模型的因素。

2024-05-11 00:00:41 934

原创 论文阅读:The Unreasonable Ineffectiveness of the Deeper Layers 层剪枝与模型嫁接的“双生花”

作者实证研究了针对流行的开放式预训练 LLM 系列的简单层修剪策略,发现在不同的 QA 基准上,直到去掉一大部分(最多一半)层(Transformer 架构)后,性能的下降才会降到最低。为了修剪这些模型,作者通过考虑各层之间的相似性来确定要修剪的最佳层;然后,为了“治愈”损伤,进行了少量的微调。特别是 PEFT 方法,尤其是量化和低秩适配器(QLoRA),这样每个实验都可以在单张 A100 GPU 上完成。

2024-05-10 22:06:15 797

原创 关于模型参数融合的思考

模型参数融合通常指的是。这种融合可以在不同的层面上进行,例如在神经网络的不同层之间,或者是在完全不同的模型之间。模型参数融合的目的是结合不同模型的优点,减少过拟合的风险,并提高模型的泛化能力。在实际应用中,这通常需要大量的实验来找到最佳的融合策略。本篇文章只介绍训练完成后的不同模型的参数融合,不涉及训练过程的模型参数融合。

2024-05-09 20:03:17 1146

原创 论文阅读:GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints

语言模型的推理成本很高,这主要是由于加载 key 和 value 所带来的内存带宽开销。MQA 降低了这种开销,但代价是降低了模型的容量和质量。作者建议将 MHA 模型转换为 MQA 模型,只需原来预训练计算量的一小部分。此外,还引入了GQA,它是 MQA 和 MHA 的插值,能以与 MQA 相当的速度达到接近 MHA 的质量。

2024-05-08 18:46:50 1129 1

原创 论文阅读:RHO-1:Not All Tokens Are What You Need 选择你需要的 Tokens 参与训练

**简要介绍**:作者认为“**并非语料库中的所有 token 对语言模型训练都同样重要**”,初步分析深入研究了语言模型的 token 级训练动态,揭示了不同 token 的不同损失模式。利用这些见解,推出了一种名为 RHO-1 的新语言模型,采用了选择性语言建模 (SLM),即有选择地对符合预期分布的有用 token 进行训练。

2024-05-07 16:37:30 1391

原创 论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

研究发现在 LLaMA2 系列模型上:(i)相邻 token 的 query 向量之间的相似度非常高,(ii)当前 query 的注意力计算可以完全依赖于一小部分前面 query 的注意力信息。基于这些观察结果,作者提出了一种无需重新训练的 KV 缓存驱逐策略 CORM,通过重复使用最近的 query 注意力信息来显著减少显存占用。通过广泛的评估,作者证明 CORM 可以将 KV Cache 的推理显存使用量减少多达 70%,而在各种任务中不会出现明显的性能下降。

2024-05-07 00:02:42 1232

原创 prompt 工程整理(未完、持续更新)

工作期间会将阅读的论文、一些个人的理解整理到个人的文档中,久而久之就积累了不少提示工程(Prompt Engineering)关注提示词开发和优化,帮助用户将大语言模型(Large Language Model,LLM)用于各场景和研究领域。

2024-04-14 00:20:11 1054

原创 FlashAttention V1 学习笔记

Flash Attention 是一种新型的注意力机制,旨在解决传统 Transformer 模型在处理长序列数据时面临的计算和内存效率问题。它通过一系列创新的技术优化,显著提高了注意力机制的计算速度和内存使用效率,同时保持了精确的结果,不依赖于近似计算。

2024-04-11 13:12:27 1031

原创 构建 fluentd 镜像与部署应用

本文将具体介绍如何在基础镜像 ubuntu:20.04 上搭建 fluentd 镜像,并且实现监控指定目录的日志文件。

2023-04-06 21:41:43 871 1

原创 Word2Vec 的一些理解

Hierachical Softmax 思想Hierachical Softmax 的基本思想:将词典中的每个词按照词频大小构建出一棵 Huffman 树,保证词频较大的词处于相对较浅的叶子节点,词频较低的词处于相对较深的叶子节点。这样就将原本的 |V| 分类问题转换为了 log |V| 次的二分类问题。|V| 分类问题:log |V| 分类问题:原本需要计算 |V| 次,现在只需要沿着 Huffman 树的路径进行计算,计算量变为 log |V|。需要注意的是根节点无编码(无词语)。

2021-10-24 22:02:32 407

原创 基于 BK 树的中文拼写纠错候选召回

最近在研究中文拼写纠错,在查阅资料的时候看到了这篇文章《从编辑距离、BK树到文本纠错 - JadePeng - 博客园》,觉得 BK 树挺有意思的,决定深入研究一下,并在其基础上重新整理一遍,希望能够对各位读者大大们有所帮助。前置知识本节介绍实现基于 BK 树的中文拼写纠错候选召回所需要的前置知识,包括文本纠错的主流方案、编辑距离和 BK 树等相关概念。文本纠错目前业界主流的方案仍然是以 pipeline 的方式:“错误检测 -> 候选召回 -> 候选排序”的步骤依次进行。以平安寿险纠错

2021-03-22 22:44:01 998 2

原创 EM 算法理解

EM 算法是一种迭代算法,1977 年由 Dempster 等人总结提出,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计。EM 算法的每次迭代由两步组成:E 步,求期望(expectation);M 步,求极大(maximization)。所以这一算法称为期望极大算法(expectation maximization algorithm),简称 EM 算法。本篇博客通过具体的案例来介绍关于 EM 算法的理解。

2020-06-18 20:42:38 461

原创 Google Bert 框架简单蒸馏实践

预训练语言模型,然后对下游任务进行微调已成为自然语言处理的新范例。预训练语言模型(PLM),例如 BERT、XLNet、RoBERTa 在许多 NLP 任务中都取得了巨大的成功。但是,PLM 通常具有大量的参数,并且需要较长的推断时间,因此很难在移动设备上进行部署。此外,最近的研究也证明了 PLM 中存在冗余。因此,在保持性能的同时减少 PLM 的计算开销和模型存储至关重要且可行。本篇博客主要讲述论文《Distilling the Knowledge in a Neural Network》以及如何将论

2020-06-14 22:48:26 1444 14

原创 基于词向量的相似度短语挖掘

本篇博客介绍了基于词向量的相似度短语挖掘方法,通过Word2Vec、ELMo 等词向量模型将词语映射到词向量空间,然后选择一批启动词,使用类似DBSCAN算法的方式不断从词向量空间中搜索相似度较高的新词,不断地迭代,直到找不到新的相似度较高的词语。

2020-06-09 14:41:00 2420

原创 隐马尔可夫模型(上)基本概念

隐马尔可夫模型的介绍与基本概念整理,包括模型的基本概念,组成成分,以及各成分之间的计算过程,通过一个简单的例子带读者理解隐马尔可夫模型。

2020-06-02 22:05:22 585

原创 Google Bert 框架训练、验证、推断和导出简单说明

关于 Google Bert 框架的使用介绍,包括训练、验证、推断和导出。

2020-05-24 14:45:37 1981 7

原创 Python 数据读取方式以及时间比对

对Python中几种常见的数据读取方式进行简单的介绍,主要是对各数据读取方式的时间进行横向比对,并给出在各场景下推荐使用哪一种数据读取方式。

2020-05-16 22:32:12 1511

原创 DFA 算法

DFA算法的简单介绍以及DFA算法在关键词匹配中的应用,如何简单地使用 Python 3.X 去实现 DFA 算法,来帮助我们从文本中抽取关键词,以及对敏感词进行识别。

2020-05-03 22:43:02 56281 6

原创 ES 查询不稳定现象及解决方案

在 ES 查询过程中,有时会发现:对于相同的查询语句,ES 返回不同的查询内容,但我们需要的是稳定的返回结果,此时该如何解决这个问题呢?

2020-04-16 23:10:31 4421

原创 SCP远程文件上传与下载

【语法】:scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] source ... target注意:第一次连接时会提示认证不能通过,在询问是否继续时,只需要输入 yes 即可。此时,在 C:\Users\...

2020-04-13 11:13:53 932

原创 《计算机网络(第7版)》笔记:物理层

本章首先讨论物理层的基本概念,然后介绍有关数据通信的重要概念,以及各种传输媒体的主要特点,但传输媒体本身并不属于物理层的范围。在讨论几种常用的信道复用技术后,对数字传输系统进行简单介绍。最后讨论几种常见的宽带接入技术。【本章重要内容】:物理层的任务。几种常见的信道复用技术。几种常用的宽带接入技术,主要是 ADSL 和 FTTx。物理层的基本概念物理层考虑的是怎样才能在连接各种...

2020-04-07 22:48:22 596

原创 《计算机网络(第7版)》笔记:计算机网络基础

计算机网络基础本章是全书的概要。先介绍计算机网络在信息时代的作用,接着对因特网进行了概括,包括因特网发展的三个阶段,以及今后的发展趋势。然后,讨论了因特网的组成,指出了因特网的边缘部分和核心部分的重要区别。在简单介绍了计算机网络在我国的发展以及计算机网络的类别后,又讨论了计算机网络的性能指标。最后,论述了整个课程都要用到的重要概念——计算机网络的体系结构。【重要的内容】:因特网的边缘部...

2020-04-05 22:47:22 1938

原创 新词发现

新词发现也可称为未登录词识别,严格来讲,新词是指随时代发展而新出现或旧词新用的词语。同时,我认为特定领域的专有名词也可归属于新词的范畴。何出此言呢?通常我们会很容易找到通用领域的词表,但要找到某个具体领域的专有名词则非常困难,因此特定领域的专有名词相对于通用领域的词语即为新词。换言之,“新”并非只是时间上的概念,同样可以迁移到领域或空间上。因此,新词发现不仅可以挖掘随时间变化而产生的新词,也可以挖...

2020-01-05 22:39:07 7845 2

原创 关键词抽取算法 TF-IDF

TF-IDF(term frequency-inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。顾名思义,TF-IDF 算法由两部分组成:TF 和 IDF。接下来,我...

2020-01-05 14:10:09 1215

原创 决策树可视化

决策树相比其他算法的一个重要特性就是——可解释性,构建决策树的过程就相当于形成 if-then 规则集。如果我们能够将生成的决策树可视化,那么我们就可以对数据集与预测值之间的关系有清晰的认识。我们可以使用 graphviz 包来帮助我们可视化决策树模型,安装地址传送门。然后,选择适合操作系统的版本下载。下载完成后可以将 graphviz bin 目录路径添加到系统环境变量中,这样方便后续的操作...

2019-06-30 22:01:44 5045

空空如也

空空如也

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

TA关注的人

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