- 博客(32)
- 收藏
- 关注
原创 RAG--分块
在基于架构的向量化模型中,每个词汇都会被映射为一个高维向量。为了表示整段文本的语义,通常采用对词向量取平均,或使用特殊标记(如[CLS])位置的向量作为整体表示。
2025-03-20 16:03:58
769
原创 RAG--重排序
方法1:利用bge-reranker模型的能力在检索的时候一般用的是双塔模型,使用一个模型将query和document嵌入到一个空间中,然后使用ANN算法检索在排序的时候使用cross-encoder模型将两句话拼接到一起计算出来一个值表示相似度方法3:利用Colbert Reranker方式进行重排序。
2025-03-18 17:40:39
148
原创 知识库--Milvus
本教程由以下两部分构成:代码示例:通过实际构建Milvus知识库的代码演示,提供 hands-on 的操作体验。代码解析:详细解释代码的每一部分,帮助读者深入理解Milvus的工作原理和实现细节。通过这两部分的有机结合,我们将对Milvus有更为深刻和全面的认识。
2025-03-18 15:59:36
465
原创 检索--ANN
定义: KNN是一种通用的分类与回归分析的算法,它在向量检索中的作用是,通过计算样本之间的欧氏距离来找出k个最近的样本。算法特性:精度:由于它是基于实际距离计算的,所以结果是精确的。时间复杂度:高,寻找最近邻需要对所有样本进行距离计算,时间复杂度为O(n)。空间复杂度:低,通常只存储样本数据。适用场景:数据量较小。精度要求非常高的场景。定义: ANN是一种近似算法,用于加速高维空间近邻查询。它通过一些近似方法来避免对所有数据点进行精确距离计算,因此显著提高了检索速度。
2025-03-18 15:38:09
587
原创 Xinference部署reranker模型
这个和export的作用域有关,一次export只在当前的终端内有效,如果想启动一个终端就自动加载export XINFERENCE_ENDPOINT=http://0.0.0.0:9999 那么就如下设置即可。这样每打开一个终端,就会自动设置。否则就在两个终端内各设置一次即可。
2025-03-03 18:03:02
548
1
原创 从Huggingface中下载数据集、模型
使用镜像的方法很大程度是可以成功的,但是在有的服务器上却不能成功,那么就需要我们下载到本地,然后再把本地的打包到服务器,然后再使用该数据集即可。1. 服务器网络连接。
2024-12-30 18:13:52
276
原创 vscode配置本地python环境
这两个问题,都是存在的,但是可以避免的,我们可以用Jupyter来下载和使用就没有问题了。1.PS C:\Users\TU\Python\下载_数据集>是什么?2.为什么不能使用pip来安装呢?
2024-12-30 18:12:27
210
原创 机器学习相关-Python模块的介绍和使用---sklearn
注意:这里主要介绍Scikit-learn模块的常用子模块主要介绍是什么,不介绍怎么用。
2024-08-18 21:52:40
269
原创 机器学习调优方法总结
本项目旨在利用包含 79 个解释变量的数据集,预测爱荷华州埃姆斯市住宅的最终价格。数据集提供了房屋的详细信息,如地理位置、面积、房间数量、建筑材料等。我们将通过数据预处理、特征工程、模型选择和训练、模型评估等步骤,构建一个准确的房价预测模型。
2024-08-18 19:41:34
913
原创 Transformer问题总结及实现
优化1:稀疏注意力机制:背景是:在传统的注意力机制的情况下,每一个token需要注意到所有的token,计算复杂度是O(N^2)(这里动手计算一下Q*K^T就明白了),所以呢,这个时候,不要求每一个token注意到所有的token,只要求它注意到和它相邻的前后k个token,这个时候算法复杂度是O(N * K),在处理长序列的时候,可以减少内存的消耗;2.d指的是编码向量的维度;这就要追溯到QK是怎么得到的,Q = x * Wq K = x*Wk,这里x是常数,因为Wq和Wk是独立的,所以Q和K是独立的。
2024-08-14 21:58:30
1558
原创 大模型微调---文章6
答案:MAM Adapter是将prefix tuning,adapter,lora三种高效微调方法进行了整合。答案:将不同的PELT方法作为子模块,并通过门控机制学习激活最适合当前数据或任务的方法答案:3.1:Bitfit:仅微调bias3.2:prefix tuning:在每一个层的前端加入可迭代的前缀向量(软提示)3.3:prompt tuning:仅在输入端的向量前端加入可迭代的前缀向量(软提示)
2024-08-13 16:00:34
299
原创 大模型微调---文章5
答案:Lora是抵秩分解,主要原因是在微调之后发现各种线性层并不是满秩,都是具有很低的本征秩,主要作用在Attention模块中的4种权重矩阵,通过消融实验发现同时调整Wq和Wv会产生最佳效果答案:思想是:先将模型进行量化处理,减少模型参数的内存占用,然后使用Lora方法在低秩近似空间中对模型进行微调。技术原理是:量化+Lora答案:量化是将模型的高精度权重(如32位浮点数)转化为低精度格式(8位或者4位)。量化的方法:后量化:在模型训练完成后,将模型的权重量化为更低的精度。
2024-08-13 15:59:49
463
原创 大模型微调---文章4
答案:Adapter是轻量级微调+模块化设计,具体体现在只增加少量的参数,但是不改变原始模型的主干结构。答案:Adapter Drop是为了推理加速,因为在Adapter fusion中加入了大量的参数,在模型推理过程中,会变慢,所以就随机地丢弃Transformer较低的层来加速推理。
2024-08-13 15:59:13
312
原创 大模型微调--文章3
答案:自然语言理解,是自然语言处理(NLP)中的一个重要子领域,涉及理解和处理人类语言的语义和语法,以便机器能够从文本中提取有意义的信息。NLU任务通常涉及对文本的深层次理解,包括解析句子结构、理解上下文、推理隐含意义。答案:prefix tuning是在每一层中插入可学习的前缀嵌入序列,而不是直接影响输入,在transformer每一层都添加前缀;p-tuning是直接在输入层中插入可学习的提示词(软提示),优化这些提示词以提高任务性能,仅在输入层进行更改,在其他层没有操作。
2024-08-13 15:58:29
328
原创 大模型微调--文章2
答案:冻结不需要更新的参数答案:bitfit的主要思想是改变某些层中的bias参数答案:离散的模板在自然语言处理(NLP)任务中,尤其是在与预训练语言模型交互时,是指以自然语言文本形式编写的固定提示或框架,用来引导模型生成特定的输出。这种模板是由人类直接设计或通过自动化方法生成的,由于其离散性和固定性,称为“离散的模板”。离散性是因为它们由固定的、不可分割的自然语言单元组成,具有明确的边界,并且在使用时作为一个整体来使用,不可分割。答案:指的是在输入数据的前面加上可以预训练的向量,在整个过程中进行迭代。
2024-08-13 15:57:18
571
原创 大模型微调--文章1
答案:灾难性遗忘就是在学习了新的知识之后,会把之前旧的知识遗忘,这主要是因为权重更新的冲突,也是全量微调的一个弊端;答案:简单来说就是低秩分解类似的,还没有更深的理解;
2024-08-13 15:08:34
252
原创 Datawhale开源学习--大模型应用开发(2.0)--Task3
在研究RAG之前,先来研究一下为什么需要RAG,原因主要是下面三点:1.大模型预训练知识的局限性:对于大模型预训练的数据是从网络上公开的资源,对于一些实时的或者非公开的资源,大模型无法获取,当然也就没有这方面的知识;2.数据安全性:为了能够使大模型具有某方面的能力,需要将数据纳入训练,对于企业来说,数据的泄露是致命的;3.大模型幻觉:大模型在它不擅长的领域中,会出现胡说八道的情况。
2024-08-11 16:16:29
258
原创 Datawhale开源学习--大模型应用开发(2.0)--Task1
为了对人类语言的内在规律建模,提出语言模型来准确预测词序列中下一个词或者缺失的词的概率。
2024-08-10 15:01:26
681
原创 深度学习框架相关-Python模块的介绍和使用---torch
'''1.torch模块,是一个开源的深度学习框架,主要用于构建和训练神经网络。PyTorch 的设计目标是提供灵活且高效的工具集,用于深度学习和科学计算;2.下面主要介绍torch模块的五个功能:数据加载和处理,GPU加速,建立网络模型,模型的保存和加载,梯度更新和参数优化;3.才学疏浅,文章持续修改更新;'''
2024-08-09 18:32:26
729
原创 基础库-Python常用模块的介绍和使用---pandas
二维表格结构,类似于excel中的表格或者数据库中的表格。它可以包含不同类型的数据,具有行标签和列标签。2.2:df.drop_duplicates() 删除重复行。支持从各种格式导入和导出数据,包括:csv,excel,sql,json等。1.1:df.isnull().sum() 查找缺失值。2.1:df.duplicated() 检测重复数据。1.2:df.dropna() 删除缺失值。基于列的选择:df[["name1","name2"]]基于行的选择:df.loc;5.处理数据的缺失和不一致。
2024-08-05 11:49:17
227
原创 git团队协作
创建两个相同的文件夹,文件夹1用来拉代码,拉取最新的代码之后,文件夹2的更改修改到文件夹1中,然后再用文件夹1来提交即可。第五步:git pull origin 分支名(LLM_rulers)第六步:git stash pop。(第四步):git stash。
2024-08-05 10:51:45
167
原创 基础库-Python常用模块的介绍和使用---numpy
3.矩阵分解:np.linalg.svd(A);7.2:分布函数:numpy.random.normal(loc=0.0, scale=1.0, size=None) 均值,期望和形状。规则2:如果两个数组的形状在任何维度上都不匹配,但其中一个维度大小是1,那么扩展这个维度匹配另一个维度的大小。2.数组的形状变换:arr.reshape()、arr.T、arr.tolist()规则1:如果两个数组的维度不同,那么就在维度比较小的数组前面补1,直到维度相同。2.矩阵求逆:np.linalg.inv(A)
2024-07-31 13:45:16
163
原创 Datawhale开源学习--大模型应用开发(1.0)
答:GPT模型主要是decoder-only模型架构,缺少了原始Transformer架构中的交叉注意力结构。当前绝大多数大语言模型结构都采用了类似 GPT 架构,使用基于 Transformer 架构构造的仅由解码器组成的网络结构,采用自回归的方式构建语言模型。但是在位置编码、层归一化位置以及激活函数等细节上各有不同。(如下图所示)
2024-07-27 21:53:08
1059
原创 Vscode上传代码到github新建仓库
这样就完成了vscode连接github新建仓库,并且上传了代码。其中#abc是你仓库名字,我这里abc就是空白仓库。1.github新建仓库。
2024-07-27 21:49:20
686
原创 基础库-Python常用模块的介绍和使用---os库
1.os.getcwd():获取当前工作目录的路径2.os.path.absolute(filepath):返回file的绝对路径3.os.path.dirname(filepath):返回file的文件夹的路径4.os.path.basename(filepath):返回file的名字5.os.path.join(filepath1,filepath2,...):将file1,file2等的路径组件组成一个完成的路径。
2024-07-25 16:59:46
520
原创 vscode无法调试库或者框架中代码的问题
这个选项会使调试器只关注用户自己的代码,而跳过库和框架的内部实现代码。这个行为有时会导致跳过你实际想要调试的代码。这个提示意味着调试器在进行“步进进入”操作时跳过了一些代码帧,这可能是因为默认情况下。
2024-07-23 22:47:18
512
原创 vscode:could not establish connection xxx 问题的解决
主要是两个报错:1.权限问题:Bad owner or permissions on C:\\Users\\little scurry/.ssh/config2.管道错误:试图写入的管道不存在。
2024-06-23 16:17:26
677
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人