- 博客(37)
- 收藏
- 关注
原创 大模型微调技术 --> LoRA 系列之 AdaLoRA
之前的微调方法(如低秩更新)通常将增量更新的预算均匀地分布在所有预训练的权重矩阵上,并且忽略了不同权重参数的不同重要性。结果,微调结果不是最优的。为了弥补这一差距,我们提出了AdaLoRA,它根据权重矩阵的重要性得分自适应地在权重矩阵之间分配参数预算。特别地,AdaLoRA以奇异值分解的形式将增量更新参数化。这种新的方法允许我们有效地修剪不重要更新的奇异值,这实质上是减少它们的参数预算,但避免了密集的精确 SVD 计算。
2024-11-07 20:08:29 652
原创 大模型微调技术 --> LoRA 系列之 LoRA(现今最火热的模型微调方法,甚至没有之一,下面有常用的 lora 参数)
"r": 8,# 起始rank"alpha": 8,# 与rank相同"dropout": 0.1,# 默认dropout"target_modules": ["q_proj", "v_proj"]# 基础配置Step 1: 先固定其他参数,调整 rank 和 alphaStep 2: 确定最优 rank 后,可以尝试增加 target modulesStep 3: 如果还不够好,可以调整 dropout 或 学习率rank 设置过大可能导致显存不足。
2024-11-07 19:59:28 805
原创 大模型微调技术 --> Adapter
权衡准确率和可训练任务特定参数的数量,对于 adapter 微调和 finetuning。y 轴以全量微调的性能为基准,x 轴是微调参数量。曲线显示了 GLUE 基准九项任务的第 20、50 和 80 百分位数性能。基于 adapter 的调整在训练参数数量减少两个数量级的情况下取得了与 全量微调 类似的性能。提出了 compact 和 extensible 下游任务模型的迁移学习策略紧凑型(compact)模型是只需要为每个任务添加少量参数,就能解决多项任务的模型。
2024-11-06 13:53:22 731
原创 大模型微调技术 --> P-Tuning v1和 P-Tuning v2
手动的离散提示通常导致一个不稳定的性能——比如,在提示中改变一个词可能导致性能大幅度下降。于是提出了新颖的方法 —— P-Tuning,它采用连续的提示 embedding 与离散提示 结合在一起。P-Tuning 不仅能够通过最小化各种离散提示之间的差距来稳定训练,还能在很多基准测试中提高性能。预训练模型一般都可以通过手动编写提示模版进一步的提升性能。但是,手动的离散提示有很大程度的不稳定性。如图所示,仅仅改变一个单词,就导致了准确率大幅度的变化,但是 P-Tuning 基本稳定。
2024-11-05 20:02:05 780
原创 大模型微调技术 --> 脉络
微调技术从最早期的全模型微调演变成如今的各种参数高效微调(PEFT)方法,背后是为了应对大模型中的计算、存储和数据适应性的挑战。
2024-11-05 19:56:56 478
原创 RAG 系统的评测 --> RAGAs(量化 RAG 系统的好坏)
在开发RAG系统的过程中,比较头疼的就是怎么评测做出来的系统的好与坏。人工评测最直观,但是局限性很大,且不够客观。所以 RAGAs 作为一个很方便的一个测评 RAG 系统的工具而问世。让我们来看看他的真面目吧。
2024-11-05 19:55:13 763
原创 关于 PDF 抽取的吐槽
今天一下午写了8,9个 PDF 抽取的脚本。最后又回归最开始简单的模式了,要疯了,谁懂啊。我是下午的工作是这样的(我是这么疯的)
2024-11-04 23:58:45 355
原创 大模型的常用指令格式 --> ShareGPT 和 Alpaca (以 llama-factory 里的设置为例)
包含了所有经过处理的 本地数据集 和 在线数据集。如果使用本地数据集, 务必在中添加对应数据集及其内容的定义目前支持Alpaca格式 和ShareGPT的格式。
2024-11-03 11:46:46 1124
原创 大模型部署利器 -- vLLM(别总用着好,不知道他哪好啊)
大型语言模型(LLM)的高吞吐量服务需要一次处理足够多的请求。然而,现有的系统很难做到这一点,因为每个请求的键值缓存(KV 缓存)内存都很大,并且动态地增长和收缩。当管理效率低下时,碎片和冗余复制会严重浪费此内存,从而限制批处理大小。为了解决这个问题,我们提出了,这个注意力算法的灵感来自经典的虚拟内存和操作系统中的分页技术。在此基础上,我们构建了 vLLM,这是一个 LLM 服务系统,它实现了(1)KV 缓存内存的近零浪费,以及(2)在请求内部和请求之间灵活共享 KV 缓存,以进一步减少内存使用。
2024-11-03 11:34:59 1316
原创 SBERT 原始论文(带你3分钟了解 SBERT,草履虫都能看懂)
BERT 和 RoBERTa 在语义文本相似性(STS)等句对回归任务上设置了新的最先进的性能。然而,它需要将两个句子都输入到网络中,这导致了巨大的计算开销:在 10000 个句子的集合中找到最相似的一对需要大约 5000 万次 BERT 推理计算(约65小时)。BERT的构造使其不适合语义相似性搜索以及聚类等无监督任务。
2024-11-03 11:25:09 863
原创 在 NLP 中,为什么用 LN 而不是 BN(面试常见!)
normalization 的计算一般都是对数据进行“减均值,除方差”的操作。他们都能缓解 ICL 的内部偏移现象,不同点在于特征映射的维度,所以导致了应用范围的不同。在 CV 时代,normalization 几乎被 BN 支配;但是在 NLP 时代,LN 却变成了主流,为什么呢?在自然界中,大多数的客观事物都遵循高斯分布,
2024-11-03 11:16:30 308
原创 生成式语言模型的文本生成评价指标(从传统的基于统计到现在的基于语义)
BLEU优点:计算速度,适合评估机器翻译等文本生成任务的准确性。依赖于 n-gram 匹配,所以对短文本评价友好缺点:无法衡量语义,容易惩罚语义合理的表示;对自由度较高的生成任务表现不佳使用场景:机器翻译、文本摘要,尤其是目标文本相对固定的情形ROUGE优点:对文本摘要任务适用,尤其是 ROUGE-L 可识别长的匹配序列,适合评估摘要生成中较长的语义片段缺点:依赖表层匹配,缺乏对语义的深层次理解使用场景:在摘要生成任务中表现良好PPL。
2024-11-03 11:09:23 849
原创 大模型中的 KV Cache
是否大家在部署大模型的时候,总会遇到显存不足的问题呢?明明我的设备能存下模型参数啊!凭什么超内存了了呢!?其实,这是 KV Cache 在作祟KV Cache 是一种大模型推理加速的方法,该方法通过缓存 Attention 中的 K, V 来实现推理优化。
2024-11-03 11:05:51 887 1
原创 ElastricSearch 原理以及简单实用(超级通俗)
提到非结构化数据的检索,常常用到 ElasticSearch,他是什么呢?ElasticSearch 是一个基于 Apache Lucene 的分布式搜索引擎,可以作为实时文档存储系统,且文档的每一个内容都可以被检索,能够处理 PB 级别的结构化和非结构化数据。ElasticSearch 本身具有分布式特性的特点。背景Lucene 是为了解决大规模文本数据的高效检索问题而设计的。90 年代末,互联网的内容量飞速增加,企业的大量文本数据难以快速检索。
2024-11-03 11:00:29 998
原创 Bi-Encoder 和 Cross-Encoder
可以使用一个两阶段的查找流水线,首先使用 bi-encoder 快速高效的检索一个结果候选列表;然后使用 cross encoder 去重排序这些最相关的结果。多级搜索管道可受益于 bi-encoder 的高效检索方法和 cross-encoder 的高精确度,从而在大规模数据集上进行有效搜索。结合 Bi-Encoder 和 Cros-Encoder 来提高 RAG 流水线。
2024-11-03 10:54:52 385
原创 使用 lstm + crf 实现NER
定义无向图表示的随机变量之间存在成对马尔可夫性,局部马尔可夫性,全局马尔可夫性。成对马尔可夫性:u和v式无向图G中任意两个没有边连接的节点,对应Y_u和Y_v。其他所有节点为O,对应Y_o。
2024-09-27 08:38:19 775
原创 SentencePiece进行文本分类
并没有对应的词向量文件,看来还需要对这些词进行词嵌入训练,还是用fasttext好了。30之后连同嵌入层一起微调10轮,准确率又上去了一个百分点。生成了两个文件,一个是模型文件,一个是词表文件。id 和 词向量都有了,可以构造词嵌入矩阵了。训练(我弄的是12800 词汇表大小)酒店评论数据集,处理成每行一句的形式。效果:基本收敛到了 96%
2024-09-25 20:46:28 420
原创 人工智能与自然语言处理发展史
在人工智能发展了60多年后,机器虽然可以在某些方面超越人类,但想让机器真正通过图灵测试,具备真正意义上的人类智能,这个目标看上去仍然遥遥无期。
2024-09-24 01:27:29 1408
原创 《统计学习方法》——第七章 支持向量机
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。各位道友!道长(zhǎng) 道长(chǎng)给定线性可分的训练数据集,通过间隔最大化或等价的求解相应的凸二次规划问题学习得到的分离超平面为w∗⋅xb∗0w∗⋅xb∗0相应的决策函数为fxsignw∗⋅xb∗fxsignw∗⋅xb∗称为线性可分支持向量机设输入空间XXX是欧氏空间或离散集合,新空间HHHϕxX→HϕxX→H。
2024-06-07 19:08:50 1049
原创 细说NLP中的Embedding层
在构建高效的自然语言处理模型时,Embedding层是不可或缺的组成部分。它不仅可以帮助我们捕获词汇之间的语义关系,还能提高模型的性能。在本篇博客中,我们将详细介绍Embedding层的基本原理、使用方法以及它在深度学习框架中的实现,帮助你更好地理解和应用这一技术。
2024-06-07 12:26:36 1450
原创 刷题《面试经典150题》(第九天)
跳跃游戏 II - 力扣(LeetCode)H 指数 - 力扣(LeetCode)盛最多水的容器 - 力扣(LeetCode)矩阵置零 - 力扣(LeetCode)最小栈 - 力扣(LeetCode)
2024-05-01 08:54:18 914
原创 神经网络与深度学习--网络优化与正则化
神经网络调参是深度学习中不可或缺的一环,它直接影响着模型的性能和泛化能力。当前神经网络模型应用到机器学习时仍有一些问题,主要包括两大类。优化问题深度神经网络优化十分困难。首先他的损失函数是一个非凸函数,找到局部最优解容易,但找到全局最优解并非容易。其次,神经网络参数非常多,训练数据很大,所以无法使用计算代价很高的二阶优化方法。最后,神经网络存在梯度消失或爆炸问题。泛化问题由于神经网络复杂度很高,拟合能力很强,很容易在训练集上过拟合。因此要考虑一定的正则化方法来改进网络泛化能力。
2024-05-01 08:48:29 2480
原创 《统计学习方法》——第六章 逻辑斯谛回归与最大熵模型
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。各位道友!道长(zhǎng) 道长(chǎng)假设满足所有约束条件的模型集合为CP∈P1∣EPfiEPfiCP∈P1∣EPfiEPfi)}定义在条件概率分布PY∣XP(Y|X)PY∣X上的条件熵为(如无说明,一般log都是ln)HP−∑xyPxPy∣xlogPy∣xHP−xy∑PxPy。
2024-04-25 16:07:30 1967
原创 人工智能基础-Python之Pandas库教程
Pandaspython三大库numpy,pandas以及matplotlib在人工智能领域有广泛的营运。下面我将介绍一些关于Pandas的一些简单教程这就是pandas 的全部教程啦,本文篇幅较长,包括了最基础的pandas的应用,道友们可以作为参考!要是想进一步了解pandas的用法建议还是多动手,实战中才能真正的进步。也许会很累,但是也不要忘记周围的美景,春末夏初,路边的柳树早已长出来枝芽。把酒祝东风,且共从容,道友,加油!!!
2024-04-24 11:07:58 1204
原创 《统计学习方法》——第5章 决策树
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。各位道友!道长(zhǎng) 道长(chǎng)今天的内容是统计学习方法的第5章节,加油呀!
2024-04-23 16:14:04 1111 2
原创 《统计学习方法》 第4章 朴素贝叶斯法
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。各位道友!道长(zhǎng) 道长(chǎng)今天的内容是统计学习方法的第一章节,挺容易理解的,结合模型图理解更加方便。
2024-04-23 14:00:43 864
原创 《统计学习方法》——第三章 k近邻法
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。各位道友!道长(zhǎng) 道长(chǎng)今天的内容是统计学习方法的第三章节,也不难,结合模型图理解更加方便。
2024-04-22 15:41:31 949 1
原创 《统计学习方法》——第二章 感知机
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。各位道友!道长(zhǎng) 道长(chǎng)今天的内容是统计学习方法的第一章节,挺容易理解的,结合模型图理解更加方便。
2024-04-22 11:35:31 959
原创 刷题《面试经典150题》(第八天)
122. 买卖股票的最佳时机 II- 55. 跳跃游戏- 48. 旋转图像- 56. 合并区间- 71. 简化路径- 2. 两数相加。
2024-04-14 17:54:45 837
原创 人工智能基础-Python之Numpy库教程
Numpypython三大库numpy,pandas以及matplotlib在人工智能领域有广泛的营运。下面我将介绍一些关于Numpy的一些简单教程1、他的元素必须是同一种元素2、array对象可以是一维的也可是多维的本文仅仅简单介绍了numpy的简单应用,想要进一步了解numpy,还需要进行大量的实战项目。任重道远,道友,加油!!!
2024-04-13 20:36:03 2449
原创 刷题《面试经典150题》(第七天)
202. 快乐数- 136. 只出现一次的数字- 69. x 的平方根- 191. 位1的个数- 190. 颠倒二进制位- 222. 完全二叉树的节点个数- 112. 路径总和- 1. 两数之和- 219. 存在重复元素 II。
2024-04-11 19:08:03 851 2
原创 《统计学习方法》第一章
本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。可能第一章有些概念不太清楚,到后来具体章节都会慢慢理解的!各位道友!道长(zhǎng) 道长(chǎng)今天的内容是统计学习方法的概论,没什么难理解的公式,都是些笼统的术语。
2024-04-11 12:57:22 1163
原创 《面试经典150题》(第六天)
089. 打家劫舍(中等)→动态规划- 148. 排序链表(中等)→排序链表- 226. 翻转二叉树(简单)→二叉树- 101. 对称二叉树(简单)→二叉树- 290. 单词规律(简单)→哈希表- 242. 有效的字母异位词(简单)→哈希表- 66. 加一(简单)→数学。
2024-04-08 16:24:13 1191
原创 刷题《面试经典150题》(第五天)
46. 全排列(中等)→回溯- 39. 组合总和(中等)→回溯- 205. 同构字符串(简单)→哈希表- 21. 合并两个有序链表(简单)→链表。
2024-04-06 14:27:44 825
原创 刷题《面试经典150题》(第4天)
我真的无语!!!!!这都行!!!!我费了好久好久的力气才把堆写好。看一眼题解,发现这个也行阿阿阿阿阿阿阿,我疯了!!!!- 30. 串联所有单词的子串(困难)→滑动窗口- 53. 最大子数组和(中等)→Kadane 算法- 1382. 将二叉搜索树变平衡(中等)→平衡二叉树- 215. 数组中的第K个最大元素(中等)→堆- 35. 搜索插入位置(简单)→二分查找- 74. 搜索二维矩阵(中等)→二分查找- 77. 组合(中等)→回溯打家劫舍(中等)→一维动态规划。
2024-04-02 18:24:54 1088
原创 刷题《面试经典150题》(第3天)
108.平衡二叉树)(简单)- 54.螺旋矩阵(中等)- 2810.故障键盘(简单)- 167.两数之和(中等)(每日一题)30.串联单词(困难)→438. 找到字符串中所有字母异位词。
2024-04-01 18:40:01 933
Web开发+Flask+Postgresql+Docker+个人博客网站+项目部署+可以用来撰写个人博客+学习Flask
2024-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人