大模型微调
文章平均质量分 50
记录学习
Maker~
这个作者很懒,什么都没留下…
展开
-
15-大模型训练DeepSpeed
[LLM]大模型训练DeepSpeed(一)-原理介绍原创 2024-09-08 18:55:52 · 16 阅读 · 0 评论 -
14-LLM Pruning and Distillation in Practice: The Minitron Approach
我们将llama3 8B和Mistral NeMo12B的大模型压缩到了4B和8B.我们探索了两种不同的修剪策略(1)深度修剪指的是从模型的深度维度进行剪枝,即减少模型的层数。这种方法通过去除不重要的层,减少模型的整体计算量和复杂度。(2)联合隐藏层/注意力/MLP(宽度)剪枝在这个策略中,模型的隐藏层、注意力头、以及MLP层的宽度(通道数或神经元数)被一起剪枝。这种方法通过减少这些组件的维度来压缩模型。我们发现,当没有访问原始数据时,对教师模型在蒸馏数据集上进行轻微的微调是有益的。原创 2024-09-08 14:28:34 · 366 阅读 · 0 评论 -
13、R-Adapter
pass,后续从github更新。原创 2024-09-08 12:50:13 · 21 阅读 · 0 评论 -
12、Transformers库介绍
Transformers库总体介绍原创 2024-09-05 09:33:07 · 406 阅读 · 0 评论 -
11、QLora
QLora是一种非常有效的微调办法,可以对具有大规模模型参数的模型进行微调。例如它可以用来微调一个具有 650 亿个参数的大型模型,更重要的是,QLORA 能让这个巨大的模型在单个 48GB 的 GPU 上完成微调,还能保持与 16 位全精度微调相同的性能。最好的模型被命名为Guanaco,可以在单个GPU上用很短的时间完成训练,同时表现非常好。原创 2024-09-04 20:34:17 · 1009 阅读 · 0 评论 -
12、linux上安装cuda和pytorch
用它文章中安装cpu版本的,其实可能安装的就是gpu版本,可以安装完后测试torch.cuda.is_available()注意在下面这个地方确保目录是一样的。原创 2024-09-04 16:20:39 · 275 阅读 · 0 评论 -
10、模型量化
模型量化详解原创 2024-09-04 09:41:27 · 111 阅读 · 0 评论 -
9、微调技术——Lora(论文阅读)
假设原本w为100x100大小,则A大小为100xK,B为Kx100,假设W中有用信息多,我们就可以让k大一点,否则就小一点。假设k=2,则AB中各有200个参数,一共400个,远远比W参数少得多。(1)对于改动的量,可能里面包含许多有限的有用值。比如100亿的参数,可能只有50亿有用,别的都是重复或者可根据已知来推导的。为了减少训练量,我们不会更新所有参数。假设预训练模型的参数矩阵为W,我们可以将其写成W=A*B的形式。(2)有时我们希望模型某一方面的能力更突出,所以只需要训练部分参数即可。原创 2024-09-02 18:28:13 · 236 阅读 · 1 评论 -
8-微调(本质、全量微调)
假如改动的量有100亿,则全量微调就是寻找这100亿改动的数字,很复杂。微调的本质就是寻找下面这个。原创 2024-09-02 17:49:46 · 138 阅读 · 0 评论 -
7-RNN、LSTM、GRU
史上最详细循环神经网络讲解(RNN/LSTM/GRU)GRU补充:人人都能看懂的GRU原创 2024-09-02 11:05:37 · 150 阅读 · 0 评论 -
6、Word2Vec
比如context是never、late,首先将他们表示成one-hot形式,在词向量矩阵中找到这两个词的向量,相加取平均,然后通过线性变化将词向量维度映射成我们需要预测的词表维度,使用softmax函数转化成概率输出即可。离target更近的词跟target相关性更大。所以采用非固定滑动窗口,这样距离target更近的context词有更大几率被采样。以前我们是将不是target的所有词作为负例,现在我们只使用一小部分作为负例。Skip-Gram是根据词预测context。主要是为了平衡常见词和罕见词。原创 2024-09-02 10:29:35 · 309 阅读 · 0 评论 -
5、transformer架构
Transformer中的自注意力机制被扩展为多个注意力头,每个头可以学习不同的注意权重,以更好地捕捉不同类型的关系。Nx = 6,Encoder block由6个encoder堆叠而成,图中的一个框代表的是一个encoder的内部结构,一个Encoder是由。这样的结构确保解码器在生成序列时,能够考虑到之前的输出,并避免未来信息的影响。例如,在处理文本序列时,模型不应该访问当前词语之后的词语,因此需要将这些词语的注意力权重设置为 0。在训练过程中,模型不应该访问未来信息,因为这会导致模型预测结果不准确。原创 2024-08-31 18:37:23 · 532 阅读 · 0 评论 -
4、大模型背后的范式
2、然后,我们可以通过具体的任务微调预训练模型来让他适应特定的任务。3、这样该模型就可以在一些新数据上有较好的表现。1、在预训练阶段,预训练模型获得大量的。原创 2024-08-31 16:22:50 · 162 阅读 · 0 评论 -
3、自然语言处理基础——词表示
通过将我们人类的单词转化成机器能理解的意思当计算机理解了词的意思后,希望计算机拥有以下两种能力:1、计算词之间的相似度2、推断词之间的联系。原创 2024-08-31 16:09:11 · 393 阅读 · 0 评论 -
2、微调VS提示工程
微调和提示工程都是让预训练语言模型适应特定任务的两种常见方法。原创 2024-08-31 11:05:56 · 290 阅读 · 0 评论 -
1、自回归语言模型&自编码语言模型
我们知道一般的语言模型都是从左到右计算某个词出现的概率,但是当我们做完型填空或者阅读理解这一类NLP任务的时候词的上下文信息都是需要考虑的,而这个时候只考虑了该词的上文信息而没有考虑到下文信息。所以,反向的语言模型出现了,就是从右到左计算某个词出现的概率,这一类语言模型称之为自回归语言模型。自回归语言模型是根据上文或者下文来预测后一个单词。我们都知道Bert在预训练阶段使用[mask]标记对句子中15%的单词进行随机屏蔽,然后根据被mask单词的上下文来预测该单词,这就是自编码语言模型的典型应用。原创 2024-08-31 09:52:01 · 130 阅读 · 0 评论