自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 以nlp为例,区分BatchNorm、LayerNorm、GroupNorm、RMSNorm

这里我们以nlp中一个小批次数据,详细区分BatchNorm、LayerNorm、GroupNorm、RMSNorm。这几种归一化的不同。如下表格从计算范围、统计量、计算复杂度以及应用场景等方面的差异给出。这段代码生成了一个 2×8×10 的张量,表示 2 个句子,每个句子有 8个 Token,每个 Token 的嵌入维度为 10。下面是各种norm的实现。

2024-12-05 14:22:44 707

原创 【RMSNorm】RMSNorm详解

在深度学习和自然语言处理领域,归一化(Normalization)技术广泛用于提高模型的训练速度和稳定性。(Root Mean Square Normalization)是一种相对较新的归一化方法,它与传统的归一化技术(如和)相比,具有一些独特的优势。本文将详细介绍 RMSNorm 的原理、优缺点及其在实际应用中的效果。

2024-12-05 13:05:39 2109

原创 【Group Normalization】Group Normalization详解

Group Normalization 是一种非常有用的归一化方法,尤其适合在小批量训练时使用。通过将通道划分成多个组,并在每组内计算均值和方差,GN 能有效解决小批量训练时的稳定性问题。与相比,更加灵活,不依赖于批量大小,适用于更多样化的场景,尤其是在需要较小批量的任务中。如果你正在进行小批量训练,或者在计算资源有限的环境中工作,Group Normalization 是一个很好的选择。

2024-11-28 12:56:05 1369

原创 【layer normalization】Layer Normalization (LN) 详解

Layer Normalization 是一种基于样本特征维度的归一化方法,独立于批量大小。它对于需要处理长序列数据的任务(如 NLP、RNN 和 Transformer)表现得尤为有效。与 Batch Normalization 相比,Layer Normalization 的计算更加稳定,能够更好地处理不同批量大小和单样本处理的需求。通过缩放和平移操作,Layer Normalization 能进一步调整归一化后的数据,使得模型在训练过程中更加稳定并且更容易收敛。

2024-11-28 11:04:12 914 1

原创 【Batch Norm】Batch Normalization (BN) 详解

内部协变量偏移”是指,当我们训练深度神经网络时,随着每一层的更新,前一层的输出分布会发生变化。这样导致每一层的输入分布也发生了变化,训练过程中的学习会变得更加困难。BN 的目标就是减轻这种偏移,确保每一层的输入保持稳定。

2024-11-28 10:52:14 940

原创 布隆过滤器:原理、应用场景与示例

布隆过滤器是一种高效且节省空间的数据结构,适用于大规模数据集合的存在性检测。尽管它存在假阳性率,但在很多实际应用场景中,假阳性是可以容忍的,特别是在缓存穿透、重复提交防止、URL 去重等场景中,布隆过滤器能够有效地提高性能和减少资源消耗。

2024-11-26 10:34:53 1809

原创 【redis】带你搞定redis和mysql同步

Redis 和 MySQL 的同步是现代应用中常见的需求,正确的同步方案能够提高系统的性能和数据一致性。本文介绍了几种常见的同步方式,包括应用层的双写、基于触发器的同步、基于消息队列的异步同步,以及使用数据库同步工具。选择合适的同步方式取决于你的业务需求、数据量、系统架构等因素。每当对 MySQL 进行写操作时,应用程序会同时在 Redis 中执行相应的操作。为了保证数据的一致性,应该保证 Redis 和 MySQL 的写操作能够在一个事务中进行(例如使用分布式事务、消息队列等技术)。

2024-11-26 09:46:24 1163

原创 【论文翻译】A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Application

提示工程(Prompt Engineering)已成为扩展大型语言模型(LLMs)与视觉-语言模型(VLMs)能力的重要技术。通过使用特定任务的说明(即提示),提示工程无需修改模型参数即可提高模型的效果。提示工程利用预训练模型的能力,通过输入适当的提示,激发出所需的模型行为,从而顺利完成下游任务。提示可以是提供上下文的自然语言指令,或是激活相关知识的向量化表示。这一新兴领域在多个应用场景中取得了成功,包括问答和常识推理。然而,目前对各种提示工程方法与技术缺乏系统的组织和理解。

2024-11-22 10:59:10 1071

原创 网格搜索(Grid Search)

首先,需要确定模型中要优化的超参数及其候选值范围。例如,在支持向量机(SVM)中,可能需要优化正则化参数 C 和核函数参数 γ。假设我们设置 C 值范围为 [0.1,1,10], γ值范围为 [0.01,0.1,1],那么我们要尝试的参数组合一共有 3×3=9种。

2024-11-11 09:57:36 720

原创 在kd树上执行knn搜索的过程

递归进入目标点所在的叶子节点。回溯,更新最优邻居。判断是否剪枝,确定是否进入另一子树。继续回溯,直到回到根节点。这种搜索过程保证了在不遍历所有节点的情况下找到距离目标点最近的 K 个点,从而提高了效率。

2024-11-01 11:30:26 821

原创 Doc2Vec

Doc2Vec 是一种有效的文档向量生成方法,通过对上下文和文档级别信息的建模,能够捕捉到文本的语义关系。其主要变体 DBOW 和 DM 提供了不同的文档表示方式,适用于多种文本分析任务。通过训练得到的文档向量,可以在许多自然语言处理应用中发挥重要作用。

2024-10-31 15:37:26 785

原创 FastText

FastText 的训练原理主要围绕词嵌入和文本分类的任务展开。它的核心思想是通过构建单词的字符 n-gram 来提高对语言结构的理解,从而生成高质量的词向量。

2024-10-31 15:25:22 362

原创 torch.view()和torch.reshape()的不同

适用于已连续的张量,且不进行数据复制。:更灵活,适用于任何情况,可能会复制数据以满足新的形状要求。在实际使用中,如果你不确定张量是否是连续的,或者希望简化代码,可以优先使用。

2024-10-29 15:37:15 823

原创 【langchain】RunnablePasThrough()深入理解

RunnablePassthrough 是一个可运行的类,其主要作用是将输入数据原封不动地传递给输出,同时还可以选择性地添加一些额外的键。如果输入是一个字典类型,它将非常有用,因为你可以在输出中添加新的计算结果。主要功能输入传递:基本的输入数据会被直接传递。附加数据:可以通过 assign 方法在输出中添加额外的数据。支持异步:可以处理异步函数,提供更高的性能。它的作用是:直接将输入传递到输出,不做任何修改。# 1. 基本用法。

2024-10-25 15:11:29 559 1

原创 MinHash及其在新闻文本数据上的应用

MinHash 是一种**局部敏感哈希(Locality-Sensitive Hashing, LSH)**算法,用于快速估计两个集合之间的 Jaccard 相似度。它广泛应用于文本相似性检测、去重、近似搜索等领域。通过 MinHash,我们能够有效判断两个集合(或文档)内容的相似性,而无需对它们的元素逐一对比。给定两个集合 A 和 B,其 Jaccard 相似度 定义如下:A∩B:两个集合的交集元素数、A∪B:两个集合的并集元素数。

2024-10-24 11:28:46 1018

原创 prompt engineering 总览- part2

在里面,我们已经讲解了,初版prompt生成,给出清楚、直接、详细的描述,少样本技术,CoT。下面介绍剩余的优化prompt的方式。即使用标签结构话prompt,角色扮演,预填充回复,链接复杂prompt,长上下文处理方式。

2024-10-11 11:44:30 1039

原创 prompt engineering 总览- part1

2、一些根据这些标准进行。

2024-10-10 16:08:29 860

原创 prompt engineering 深入理解-创建评估指标

在Prompt Engineering中,Use Case(用例)指的是一个特定的场景或任务,我们希望通过精心设计的prompt来解决或完成这个任务。衡量标准:余弦相似度通过计算两个向量(在此例中,使用 SBERT 生成的模型输出的句子嵌入)的夹角余弦值来衡量它们之间的相似性。在这里,它用于在1到5的量表上对响应的语调进行评分。3 优先考虑数量而非质量:比起少量高质量的人工评分评估,更多的问题加上略微低质量的自动评分更为优先。基于上述的评价准则来评估llm的表现,这是提示工程中非常重要的一部分。

2024-10-09 15:24:01 942

翻译 【RAG】RAG-fusion

通常,RRF 用于混合词汇和向量结果。尽管这种方法可以帮助弥补向量搜索在查找特定术语(如缩写)时的缺乏特异性,但作者对结果并不满意,因为这些结果往往是多个结果集的拼凑,因为词汇和向量搜索很少为同一查询产生相同的结果。RRF是一种结合多个搜索结果列表的排名的技术,以生成一个单一的、统一的排名。该技术由滑铁卢大学(加拿大)和谷歌合作开发,根据其作者的说法,“RRF 产生的结果优于任何单一系统,并且优于标准的”重新排序方法。因此, 对于以上问题,需要一个系统,不仅仅能检索要求的内容,还能理解查询的细微差别。

2024-09-25 11:02:22 127 1

原创 【统计概念】协方差矩阵

协方差矩阵讲解

2024-04-22 15:46:37 702

原创 bpe分词-- huggingface tokenizers库

使用huggingface的bpe分词的代码示例

2024-04-18 08:25:02 308 1

原创 【LLM】langchain ui: langchain执行过程可视化

mapreduce方式是将检索到的文档(假设这里我们使用的是4个文档)先分别丢入llm(调用4次),由llm判定是否和问题相关,在将相关的丢入llm,回答问题。默认方式是将检索到的(假设这里我们使用的是4个文档)所有文档丢入llm,根据所有文档回答相应问题。每一次请求都会有相应的tag,具体点开可以到详细信息。refine方式将建多到的文档按照顺序丢入。

2023-09-20 09:43:13 1063 1

原创 OpenSceneGraph3.4+QT5.12.4+vs2017+windows

3.3 以管理员生成打开VS2017,打开D:\osg里面的.sln文件,等待加载完成,点击“生成”->“批生产”,生成大约需要5个小时左右。增加osg数据配置,在D盘的osg文件夹里面新建“data”文件夹,将“osg-data”解压到此,增加新的环境变量,如图。3.4 上一步完成后,再一次点击“生成”->“批生成”->选择install ,生成,该过程很快。然后点击“configure”,等待他完成,完成后点击“generate”。1.1 visual studio 2017 (版本自定)

2023-03-17 10:15:46 447

原创 C++对象模型-记录

深入C++对象模型记录

2022-11-21 17:02:34 247 1

空空如也

空空如也

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

TA关注的人

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