
大模型
文章平均质量分 72
volcanical
Hola~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
微调Qwen2.5-0.5B记录
本文基座模型为。原创 2025-01-18 17:06:47 · 1757 阅读 · 0 评论 -
LLM系列:大模型训练如何计算显存占用
FP32:32Bit,4个字节FP16:32Bit,2个字节。原创 2025-01-08 18:58:52 · 511 阅读 · 0 评论 -
WHAT MAKES GOOD DATA FOR ALIGNMENT? A COMPREHENSIVE STUDY OF AUTOMATIC DATA SELECTION IN INSTRUCTION
这篇文章提出了DEITA的数据集筛选方法。原创 2025-01-06 19:44:57 · 375 阅读 · 0 评论 -
2024冬季大模型与人工智能系统训练营C++
在 C++11 之前,通常使用typedef对于模板类型,typedefC++11 引入的using对于模板类型,using这种方式相比typedef更加灵活,尤其是在需要使用模板参数时,using的语法更加清晰。原创 2024-12-29 13:03:39 · 1111 阅读 · 1 评论 -
Bert各种变体——RoBERTA/ALBERT/DistillBert
使用teacher模型的概率作为指导信号,也是交叉熵,但是此时是软标签。可以共享多头注意力层的参数,或者前馈网络层的参数,或者全部共享。加入句子顺序预测任务,代替NSP任务。句子预测分为正序还是倒序。计算隐含层,教师模型和学生模型的向量余弦距离。实验结果发现,共享注意力层基本没有性能损失。[MASK]对应的输出的损失。将词汇表改成两个矩阵乘。原创 2024-12-25 19:59:09 · 628 阅读 · 0 评论 -
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 · 1556 阅读 · 0 评论 -
Dataset Distillation with Attention Labels for Fine-tuning BERT
文章使用了DD更新的方式,就是先使用蒸馏数据集训练一个模型,然后计算真实数据在这个模型上的损失,更新蒸馏数据集。文章的做法是:在训练蒸馏数据集网络时,加入了attention损失。之后使用蒸馏数据集训练模型时,不仅需要x,y的预测损失,还需要加入。,这是attention模块的输出,作者只取了。这时候生成数据集不仅仅包含原始数据。原创 2024-12-24 15:47:09 · 496 阅读 · 0 评论 -
MoCo 对比自监督学习
MoCo通过自监督学习来训练一个效果不错的编码器。原创 2024-12-20 21:10:53 · 434 阅读 · 0 评论 -
CLIP 连接视觉与语言大模型
直接将图片和文本都通过Encoder,分别得到图片和文本的向量表示,让配对的图片和文本尽可能接近,其他的配对都尽可能远离。这也是最早的prompt工程,直接输入类别名,不如输入一个带类别名的句子分类效果更好。模型推理是还是需要输入句子,然后得到最相近的句子,那个相似度最大对应那个类别。分别对文本和图片计算交叉熵损失,最后将两个损失加起来平均。原创 2024-12-19 19:24:00 · 283 阅读 · 0 评论 -
VIT (Vision Transformer)
首先由CNN提取特征,然后将CNN的每一层输入特征当成特征输入VIT。patch_size越小,计算复杂度越高,但是效果通常更好。在实现时,一般直接使用卷积操作,而不是真的拆开然后展平。通过实验也发现,一维位置编码也能学到二维位置信息。原创 2024-12-19 15:17:26 · 415 阅读 · 0 评论 -
LoRA:低秩分解微调与代码
传统的微调,即微调全量参数,就是上面的公式,但是我们可以通过两个矩阵,来模拟这个全量的矩阵,如果原来的W是(N * N)维度,我们可以通过两个(N * R) 和 (R * N)的矩阵矩阵乘,来模拟微调的结果。方法很简单,直接上代码。原创 2024-12-12 20:45:04 · 663 阅读 · 0 评论 -
大模型训练 Learning rate warmup, cosine decay and gradient clipping
在训练复杂的模型时,使用学习率热身可以帮助训练稳定。在学习率热身中,我们逐渐增加学习率,从一个非常低的值inital_lr逐渐到用户定义的最大学习率peak_lr。原创 2024-12-12 19:37:39 · 427 阅读 · 0 评论 -
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
局限性:都是单向的,如果要句子分析,情感等,双向的理解更有效。原创 2024-12-12 15:15:23 · 1314 阅读 · 0 评论 -
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 · 838 阅读 · 0 评论 -
Word2Vec
one-hot的缺点Word2vec通过无监督学习从大量文本语料中提取词汇的语义信息。它使用神经网络模型来预测词汇的上下文或通过上下文预测当前词汇。具体来说,Skip-gram模型通过中心词来预测其上下文词汇,而CBOW模型则通过上下文词汇来预测中心词。Word2vec生成的词向量可以应用于多种NLP任务中,如文本分类、情感分析、拼写检查等。词向量能够捕捉词汇之间的语义相似性和相关性,从而帮助模型更好地理解语言和进行智能处理。例如得到结果之后,可以进行聚类分析,相似度分析等等。原创 2024-12-12 13:56:19 · 1160 阅读 · 0 评论 -
谈谈LLM评估方式
基准测试在定义明确、易于测量的任务中表现良好,例如一些选择题任务,分类任务。但在评估更抽象的能力(如“数学能力”)时,分解成具体任务变得困难。此外,公开的基准数据集可能会被模型训练时意外包含,导致“污染”,影响评估的公正性。首先,让我们统一一些定义。目前,评估LLM主要有三种方法:自动基准测试、使用人工评审以及使用模型作为评审。自动基准测试通常包括以下步骤:确定模型在某项任务上的表现,如分类垃圾邮件与非垃圾邮件,或评估模型的数学能力。了解模型是否具备某项能力,但由于缺乏明确的定义和框架,这一评估仍然困难。原创 2024-12-11 14:46:41 · 569 阅读 · 0 评论 -
书生大模型实战营 L0 入门岛
书生大模型训练营入门岛任务——原创 2024-10-30 21:39:32 · 1174 阅读 · 0 评论 -
Langchain CharacterTextSplitter无法分割文档问题
就是根据选择的拆分字符,拆分成小块后,然后组合到chunk_size那么大,所以如果一开始的拆分就比chunk_size大,那这个拆分根本就不会起作用!设置了150,但是根本没有处理,长度减少单纯是因为去掉了一些开头和末尾的空格。首先是把文档拆开,内容单词放在列表里,是一个存放字符串的列表。,可以正确地拆分较大的文档,拆分成预先定义的大小以及重合方式。拆分文档是,发现返回的文档根本没有变化,即使设置了。在使用Langchain的文档分割器时,使用。内重写的拆分方法,我们看一看他是怎么拆分的。原创 2024-10-15 21:26:31 · 570 阅读 · 0 评论 -
LangChain——Embedding 智谱AI
Embedding嵌入创建一段文本的矢量表示。这很有用,因为这意味着我们可以考虑向量空间中的文本,并执行语义搜索之类的操作,在其中查找向量空间中最相似的文本片段。LangChain 中的基类Embeddings提供了两种方法:一种用于嵌入文档,另一种用于嵌入查询。前者采用多个文本作为输入,而后者采用单个文本。原创 2024-10-12 18:57:51 · 3262 阅读 · 0 评论 -
模型Alignment之RLHF与DPO
PPO(Proximal Policy Optimization)是一种常用的强化学习算法,在RLHF中,它被用来优化语言模型,使其生成的文本能最大化人类反馈的奖励。核心思想:通过不断调整模型的参数,使得模型生成的文本能获得更高的奖励。为了保证策略的稳定性,PPO限制了新旧策略之间的差异,避免模型发生剧烈变化。原创 2024-09-24 20:29:39 · 1112 阅读 · 0 评论 -
SwishGLU激活函数
SwishGLU 是一种激活函数,结合了 Swish 和 GLU(Gated Linear Unit)的特性。它通过引入门控机制来增强模型的表现,尤其是在处理复杂特征时。Swish 本身是一个平滑的激活函数,具有更好的性能,而 GLU 则利用门控结构来控制信息的流动。SwishGLU 的实现可以分为几个步骤。Swishxx⋅σx其中,σx是 Sigmoid 函数。GLUABA⋅σB这里,A和B是输入的两个不同线性变换的结果。原创 2024-09-21 16:30:12 · 1532 阅读 · 0 评论 -
大模型入门 ch04:实现一个GPT模型
LLM大模型主要是参数量大,而不是代码量大。这是本节的具体内容。原创 2024-09-21 16:16:31 · 923 阅读 · 0 评论 -
大模型入门 ch05:预训练
在这一章节中,我们将会实现LLM的预训练以及评估的代码,并且我们将加载公开的预训练权重(from OpenAI)原创 2024-09-19 10:56:33 · 707 阅读 · 0 评论 -
大模型入门 ch 03:注意力机制
一个句子中的每一个token,都会受到其他token的影响(这里先不考虑忽略未来的单词,掩码的问题后面再说),注意力机制可以让一个token收到其他token的影响,生成一个最终我们想要的embedding。在上面的例子中,我们直接使用token对应的embedding来计算相关系数,以及最终的加权求和,这显然是不合理的,如果这样的话,那么我们只能训练token对应的词嵌入来学习模型,或者是一些全连接层,因此我们需要引入新的矩阵,来学习到更多的参数,这就是transformer的QKV矩阵。原创 2024-09-12 17:24:18 · 1017 阅读 · 0 评论 -
大模型入门 ch02:数据集准备
本质上还是独热编码,假设我们有一个6*3的矩阵,我们使用[0,0,0,1,0,0]的矩阵去左乘词嵌入矩阵,就可以取出第4行的内容,OK。现在我们组织完成了输入的数据集,但是我们的输入仍然是token IDs,现在我们需要把这些token IDs转换成embeddings(嵌入),转换为高维的向量表示,并且这些embedding在大模型中也是可训练的参数。将token转换为词嵌入后,仍然存在一个问题,一个输入中如果有两个相同的token,那么他们的嵌入一致,但是他们的位置并不同,我们还需要加入位置信息。原创 2024-09-08 15:37:41 · 835 阅读 · 0 评论 -
大模型入门 ch01:大模型概述
分类任务较为简单,只需要将模型的最后一层全连接层(例如图中的768到50257,50257是tokenizer的词汇量)的维度转换为分类任务的维度,例如一个二分类任务,我们替换掉最终的50257的词汇表查找维度,改为2个维度的分类任务即可。如何处理没有见过的词:正如上图所示,tokenizer包含很小的词组,因此一个大的单词,即使是一个随便拼的单词,也能被拆分成许多小的token组合而成,但是准确率和效率可能不高。通过对应任务要求,给出指令,输入,输出的数据集,微调大模型在特定任务上的能力。原创 2024-09-03 00:02:44 · 1199 阅读 · 0 评论