- 博客(118)
- 收藏
- 关注
原创 《CAFE: Learning to Condense Dataset by Aligning Features》
通过对齐特征的数据集浓缩技术 -> CVPR2022最先进的方法很大程度上依赖于通过匹配真实数据批次和合成数据批次之间的梯度来学习合成数据。尽管有直观的动机和有希望的结果,但这种基于梯度的方法本质上很容易过度拟合产生主导梯度的有偏差的样本集,因此缺乏对数据分布的全局监督。在本文中,我们提出了一种通过对齐特征(CAFE)来压缩数据集的新颖方案,该方案明确地尝试保留真实特征分布以及所得合成集的判别能力,从而对各种架构具有强大的泛化能力。
2025-03-01 15:56:37
1010
原创 PEFT 大模型微调方法
添加可训练的提示向量(Prompt Embeddings)。:冻结模型的特定层,只训练分类头。:在输入前添加可训练的前缀向量。:结合量化技术与LoRA,使用。
2025-01-13 13:54:50
231
原创 WHAT MAKES GOOD DATA FOR ALIGNMENT? A COMPREHENSIVE STUDY OF AUTOMATIC DATA SELECTION IN INSTRUCTION
这篇文章提出了DEITA的数据集筛选方法。
2025-01-06 19:44:57
313
原创 CMU 10-414学习笔记
前向传播每一层的输出记为Zi,先求对每一个输出的偏导,然后求每一层Wi的偏导,反向传播时需要用到Zi,从最后一层开始计算Gi,每一个Gi都需要上一个Gi1计算得来。因此在训练时,需要记录前向传播时每一层的输出,反向传播时,也需要记录上一层的梯度。
2025-01-05 17:27:08
671
原创 From Quantity to Quality: Boosting LLM Performance with Self-Guided Data Selection
方法分为三个核心阶段:从简短的经验中学习,基于经验的评估,以及从自我指导的经验中再培训。初始阶段强调为模型配备基本的指令遵循能力。随后的阶段引入了一个新的度量来评估每个样本的指令遵循难度评分,该评分基于先前训练的先验模型。最后,在获得目标数据集中的难度分数后,选择樱桃样本来训练最终模型。
2025-01-04 21:42:06
1072
2
原创 2024冬季大模型与人工智能系统训练营C++
在 C++11 之前,通常使用typedef对于模板类型,typedefC++11 引入的using对于模板类型,using这种方式相比typedef更加灵活,尤其是在需要使用模板参数时,using的语法更加清晰。
2024-12-29 13:03:39
1044
2
原创 线性回归与逻辑回归
线性回归是一种用于预测连续型目标变量(因变量)与一个或多个自变量(特征)之间关系的模型。其基本假设是因变量与自变量之间存在线性关系。yβ0β1x1β2x2⋯βnxnyβ0β1x1β2x2⋯βnxnyyy是预测值β0\beta_0β0是截距β1β2βnβ1β2βn是回归系数x1x2xnx1x2xn是自变量。
2024-12-27 10:33:17
1386
原创 Bert各种变体——RoBERTA/ALBERT/DistillBert
使用teacher模型的概率作为指导信号,也是交叉熵,但是此时是软标签。可以共享多头注意力层的参数,或者前馈网络层的参数,或者全部共享。加入句子顺序预测任务,代替NSP任务。句子预测分为正序还是倒序。计算隐含层,教师模型和学生模型的向量余弦距离。实验结果发现,共享注意力层基本没有性能损失。[MASK]对应的输出的损失。将词汇表改成两个矩阵乘。
2024-12-25 19:59:09
569
原创 Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena
指令微调后的模型不一定在传统Benchmark上取得更好的结果,类似MMLU和HELM。根据人类爱好对齐后的模型,需要新的评测方法。文章提出了两个主要内容:MT-bench和Chatbot ArenaMT-bench是一系列开放式问题,用于评估聊天机器人的多回合对话和指令遵循能力——这是人类偏好的两个关键因素。MT-bench还精心构建,根据其核心能力(如推理和数学)区分聊天机器人。
2024-12-25 15:48:26
1392
原创 Dataset Distillation with Attention Labels for Fine-tuning BERT
文章使用了DD更新的方式,就是先使用蒸馏数据集训练一个模型,然后计算真实数据在这个模型上的损失,更新蒸馏数据集。文章的做法是:在训练蒸馏数据集网络时,加入了attention损失。之后使用蒸馏数据集训练模型时,不仅需要x,y的预测损失,还需要加入。,这是attention模块的输出,作者只取了。这时候生成数据集不仅仅包含原始数据。
2024-12-24 15:47:09
457
原创 Textual Dataset Distillation via Language Model Embedding
将数据集丢入embedding模型,丢入embedding前可以加入prompt加强效果,然后获取k-means聚类的中心向量来作为需要的蒸馏embeddings,然后使用vec2text模型还原成原始文本。
2024-12-23 17:37:01
424
原创 机器学习系列(一)——K-近邻算法
KNN 算法属于基于实例的机器学习方法。在对未知数据进行分类或回归之前,我们不需要对数据进行显式的训练或建立复杂的模型。对一个新的样本点,寻找在特征空间上与其最相似的 K 个已知数据点,采取“投票”或加权平均的方式,来决定新样本点的类别或数值预测结果。
2024-12-21 11:57:21
801
原创 CLIP 连接视觉与语言大模型
直接将图片和文本都通过Encoder,分别得到图片和文本的向量表示,让配对的图片和文本尽可能接近,其他的配对都尽可能远离。这也是最早的prompt工程,直接输入类别名,不如输入一个带类别名的句子分类效果更好。模型推理是还是需要输入句子,然后得到最相近的句子,那个相似度最大对应那个类别。分别对文本和图片计算交叉熵损失,最后将两个损失加起来平均。
2024-12-19 19:24:00
226
原创 VIT (Vision Transformer)
首先由CNN提取特征,然后将CNN的每一层输入特征当成特征输入VIT。patch_size越小,计算复杂度越高,但是效果通常更好。在实现时,一般直接使用卷积操作,而不是真的拆开然后展平。通过实验也发现,一维位置编码也能学到二维位置信息。
2024-12-19 15:17:26
372
原创 LoRA:低秩分解微调与代码
传统的微调,即微调全量参数,就是上面的公式,但是我们可以通过两个矩阵,来模拟这个全量的矩阵,如果原来的W是(N * N)维度,我们可以通过两个(N * R) 和 (R * N)的矩阵矩阵乘,来模拟微调的结果。方法很简单,直接上代码。
2024-12-12 20:45:04
542
原创 大模型训练 Learning rate warmup, cosine decay and gradient clipping
在训练复杂的模型时,使用学习率热身可以帮助训练稳定。在学习率热身中,我们逐渐增加学习率,从一个非常低的值inital_lr逐渐到用户定义的最大学习率peak_lr。
2024-12-12 19:37:39
346
原创 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
局限性:都是单向的,如果要句子分析,情感等,双向的理解更有效。
2024-12-12 15:15:23
1233
原创 GLOVE
J∑ij1VfXijwiTwjbibj−logXij2Jij1∑VfXijwiTwjbibj−logXij2VVV是词汇表的大小。wiw_iwi和wjwj分别是目标词(target word)和上下文词(context word)的词向量。bib_ibi和bjbj是对应的偏置项。XijX_{ij}Xij表示词iii。
2024-12-12 14:28:34
785
原创 Word2Vec
one-hot的缺点Word2vec通过无监督学习从大量文本语料中提取词汇的语义信息。它使用神经网络模型来预测词汇的上下文或通过上下文预测当前词汇。具体来说,Skip-gram模型通过中心词来预测其上下文词汇,而CBOW模型则通过上下文词汇来预测中心词。Word2vec生成的词向量可以应用于多种NLP任务中,如文本分类、情感分析、拼写检查等。词向量能够捕捉词汇之间的语义相似性和相关性,从而帮助模型更好地理解语言和进行智能处理。例如得到结果之后,可以进行聚类分析,相似度分析等等。
2024-12-12 13:56:19
1140
原创 谈谈LLM评估方式
基准测试在定义明确、易于测量的任务中表现良好,例如一些选择题任务,分类任务。但在评估更抽象的能力(如“数学能力”)时,分解成具体任务变得困难。此外,公开的基准数据集可能会被模型训练时意外包含,导致“污染”,影响评估的公正性。首先,让我们统一一些定义。目前,评估LLM主要有三种方法:自动基准测试、使用人工评审以及使用模型作为评审。自动基准测试通常包括以下步骤:确定模型在某项任务上的表现,如分类垃圾邮件与非垃圾邮件,或评估模型的数学能力。了解模型是否具备某项能力,但由于缺乏明确的定义和框架,这一评估仍然困难。
2024-12-11 14:46:41
456
原创 Vue3组合式API与响应式变量
常见的选项式API Options API如下,在export default里有data(){}函数返回响应的变量,然后在methods里存放方法。${this${使用setup函数,在函数内声明响应变量和方法,最后需要return。${使用script setup,默认导出,直接在script里写变量和方法,而且无需return。
2024-12-10 23:02:25
228
原创 JavaScript 函数:从基础到各种简写方法
最原始的函数定义方式是使用function关键字。// 输出: 5特点:函数声明会被提升到作用域的顶部,因此可以在定义之前调用。函数有名称add,有助于调试和递归调用。
2024-12-08 23:20:09
376
原创 LEARNING WITH NOISY LABELS REVISITED: A STUDY USING REAL-WORLD HUMAN ANNOTATIONS
理想的数据集D,其中x,y都符合理想的分布,但是现实中的数据集,一般存在一定的噪声,存在一定的标签错误,定义这个数据集为D,数据为x,y。这两个数据集之前存在一个转换矩阵TXTijX表示在数据集X下,标签为i的数据被错误分配成标签j的概率。
2024-11-24 15:31:54
860
原创 OpenCompass 评测 InternLM-1.8B 实践
首先我们创建模型的配置文件,我们需要定义评测模型的类型,是OpenAISDK类型,然后是模型名称,请求地址和API等等内容。然后我们通过命令行即可一键评测对应的模型和数据集。
2024-11-12 16:34:45
252
原创 Llamaindex RAG 实践
当你需要给模型注入新的知识时,有两种方法,一种是内部的,更新模型的权重,但是这样代价较大,第二种就是借助外部知识,直接通过prompt给模型提醒,这就是RAG。RAG 是一种使用附加数据来增强 LLM的技术。LLMs 可以推理广泛的主题,但他们的知识仅限于公共数据,直到他们接受训练的特定时间点。如果您想构建可以推理私有数据或在模型截止日期之后引入的数据的 AI 应用程序,则需要使用模型所需的特定信息来增强模型的知识。引入适当信息并将其插入模型提示符的过程称为检索增强生成 (RAG)。
2024-11-10 21:22:56
808
原创 LangGPT结构化提示词编写实践
如果直接询问大模型strawberry有几个r,大模型会给出错误的答案:这里我们引入思维连Chain of Thought,我们让大模型遍历一遍单词,每次累加得到最终结果之前怎么都做不对的题,让大模型一步一步思考,就能得到正确的答案。
2024-11-08 15:47:03
530
原创 玩转书生「多模态对话」与「AI搜索」产品 - 任务
MindSearch可以主动调用网络搜索工具,根据用户的请求,自动访问互联网,并检索到相关的内容,最后精简后返回。相当于把人类平时查询资料并总结的过程自动化了。
2024-11-08 10:50:33
172
原创 深入了解Python的Type Hint:为代码增添清晰性与可读性
Type Hint,即类型注释,是一种向Python代码中添加类型声明的方式。虽然Python是一门动态类型语言,但Type Hint的出现使我们在编写代码时能够指定变量或函数的预期类型,让IDE(集成开发环境)和静态分析工具帮助捕捉潜在的类型错误。这种方法不会影响代码的实际执行过程,但会作为一种元信息被Python解释器忽略,并供开发者和IDE参考。
2024-11-08 00:47:17
989
原创 书生大模型全链路开源开放体系
基本覆盖了大模型从零到有的每一个步骤,获取数据集,模型预训练,模型微调,模型部署,模型评测。模型训练完需要评测,我们需要获取评测数据集,主流大模型的得分,自己模型的排名。结果表示,在长上下文情况下,大模型能根据用户问题,正确的拿到对应的内容。InterLM2.5-7B对比同类型模型。支持QLoRA,LoRA和全量微调。书生浦语(interLM)的发展。InterLM的方法:没说,原生?
2024-11-04 20:27:53
226
原创 Morris遍历——树的中序遍历
Morris 遍历是一种在二叉树中进行中序(或前序)遍历的算法,其主要优点是能够在不使用递归或栈的情况下,使用常数额外空间(O1空间复杂度)完成遍历,通过临时修改树的指针来实现。
2024-10-21 15:24:11
469
原创 Langchain CharacterTextSplitter无法分割文档问题
就是根据选择的拆分字符,拆分成小块后,然后组合到chunk_size那么大,所以如果一开始的拆分就比chunk_size大,那这个拆分根本就不会起作用!设置了150,但是根本没有处理,长度减少单纯是因为去掉了一些开头和末尾的空格。首先是把文档拆开,内容单词放在列表里,是一个存放字符串的列表。,可以正确地拆分较大的文档,拆分成预先定义的大小以及重合方式。拆分文档是,发现返回的文档根本没有变化,即使设置了。在使用Langchain的文档分割器时,使用。内重写的拆分方法,我们看一看他是怎么拆分的。
2024-10-15 21:26:31
452
原创 LangChain——Embedding 智谱AI
Embedding嵌入创建一段文本的矢量表示。这很有用,因为这意味着我们可以考虑向量空间中的文本,并执行语义搜索之类的操作,在其中查找向量空间中最相似的文本片段。LangChain 中的基类Embeddings提供了两种方法:一种用于嵌入文档,另一种用于嵌入查询。前者采用多个文本作为输入,而后者采用单个文本。
2024-10-12 18:57:51
2425
原创 模型Alignment之RLHF与DPO
PPO(Proximal Policy Optimization)是一种常用的强化学习算法,在RLHF中,它被用来优化语言模型,使其生成的文本能最大化人类反馈的奖励。核心思想:通过不断调整模型的参数,使得模型生成的文本能获得更高的奖励。为了保证策略的稳定性,PPO限制了新旧策略之间的差异,避免模型发生剧烈变化。
2024-09-24 20:29:39
972
全国城市气象台代号 漠河50135~南沙59997
2022-12-30
关于A*算法中实际路径g的问题c++
2024-03-20
爬虫F12网络响应乱码
2023-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人