![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自然语言处理
文章平均质量分 80
nlp相关知识
zhurui_xiaozhuzaizai
想要浓密的秀发
展开
-
随机分词与tokenizer(BPE->BBPE->Wordpiece->Unigram->sentencepiece->bytepiece)
随机分词与tokenizer(BPE->BBPE->Wordpiece->Unigram->sentencepiece->bytepiece)原创 2023-12-08 17:58:01 · 1945 阅读 · 0 评论 -
中文分词演进(查词典,hmm标注,无监督统计)新词发现
中文分析&新词发现原创 2023-12-08 17:13:47 · 1396 阅读 · 0 评论 -
generation的重复性问题
解决大模型的重复性问题原创 2023-11-21 16:52:24 · 883 阅读 · 0 评论 -
标准self-attention的几个变种的理解【token对token”是必须的吗】【必须有softmax吗】
在自动摘要这个任务上,标准注意力效果比较好,但是对话生成这个任务上,结果则反过来:标准的自注意力是最差的,Dense(D)和Random(R)是最好的,而当Dense和Random混合了标准的自注意力后(即 D+V 和 R+V),效果也变差了。这说明标准注意力并没有什么“独占鳌头”的优势,而几个Synthesizer看起来是标准注意力的“退化”,但事实上它们互不从属,各有优势。转载 2023-10-30 17:08:50 · 423 阅读 · 0 评论 -
multihead attention增强表达能力,解决“低秩瓶颈”
第一个结果来自文章《Low-Rank Bottleneck in Multi-head Attention Models》,它明确地指出了Multi-Head Attention里边的表达能力瓶颈,并提出通过增大key_size的方法来缓解这个瓶颈。它能增加Attention的表达能力,并且不改变模型整体的hidden_size,计算量上也只是稍微增加了一点通常Q,K,V分别是对输入矩阵X进行不同W矩阵投影,转载 2023-10-30 16:52:12 · 376 阅读 · 0 评论 -
大模型LLM相关面试题整理
LLM(Large Language Model,大型语言模型)是指基于大规模数据和参数量的语言模型。具体的架构可以有多种选择,以下是一种常见的大模型LLM的架构介绍:Transformer架构:大模型LLM常使用Transformer架构,它是一种基于自注意力机制的序列模型。Transformer架构由多个编码器层和解码器层组成,每个层都包含多头自注意力机制和前馈神经网络。这种架构可以捕捉长距离的依赖关系和语言结构,适用于处理大规模语言数据。原创 2023-10-20 14:12:32 · 2880 阅读 · 0 评论 -
怎么让英文大语言模型支持中文?--构建中文tokenization--继续预训练--指令微调
1、使用sentencepiece训练一个中文的词表。2、使用transformers加载sentencepiece模型。3、怎么合并中英文的词表,并使用transformers使用合并后的词表。4、在模型中怎么使用新词表。原创 2023-10-18 14:48:49 · 1229 阅读 · 0 评论 -
大模型LLM相关面试题整理-训练集-训练经验-微调
综上所述,全参数微调所需的显存量取决于模型的大小、批量大小、训练数据的维度以及训练设备的显存限制。在进行全参数微调之前,建议先评估所需的显存量,并确保训练设备具备足够的显存来支持训练过程。13b的占用大约50G内存,在64G内存上,i9 12900h运行缓慢7b的占用约26G内存,在64G内存上,i9 12900h运行、响应速度还可以,全参数finetune至少需要4倍的数据。原创 2023-10-17 19:55:35 · 2714 阅读 · 1 评论 -
大模型LLM相关面试题整理-PEFT
PEFT(Performance Estimation and Modeling for Fine-Tuning)是一种用于微调任务的性能估计和建模方法。它的目的是帮助研究人员和从业者在微调过程中更好地理解和预测模型的性能,并进行更有效的模型选择和调优。PEFT的主要思想是通过预测模型在微调任务上的性能,提供对不同模型和参数设置的性能估计。这样可以避免在大规模数据集上进行昂贵的微调实验,从而节省时间和计算资源。数据采样:从原始数据集中采样一小部分数据用于性能估计。原创 2023-10-17 19:40:51 · 1128 阅读 · 4 评论 -
大模型LLM相关面试题整理-位置编码-tokenizer-激活函数-layernorm
绝对位置编码是一种用于为序列数据中的每个位置添加绝对位置信息的技术。在自然语言处理中,绝对位置编码常用于处理文本序列,特别是在使用Transformer模型进行序列建模的任务中。在传统的Transformer模型中,位置编码使用了正弦和余弦函数的组合来表示相对位置信息,但它并没有提供绝对位置的信息。这意味着,如果将输入序列的位置进行重新排序或删除/添加元素,模型将无法正确地理解序列的新位置。为了解决这个问题,绝对位置编码被引入到Transformer模型中。原创 2023-10-17 19:37:10 · 1438 阅读 · 0 评论 -
位置编码与外推性[bias(Alibi/KERPLE/Sandwich)+插值 + ROPE/RERope + keynorm。与长度外推性]
长度外推性=train short, test longtrain short:1)受限于训练成本;2)大部分文本的长度不会特别长,训练时的max_length特别特别大其实意义不大(长尾)。test long:这里long是指比训练时的max_length长,希望不用微调就能在长文本上也有不错的效果。原创 2023-09-21 14:59:13 · 2280 阅读 · 0 评论 -
大模型训练之加速篇 -attention优化【稀疏attention->线性化attention->分块计算->简化attention->Transformer-VQ】
加速原创 2023-09-21 10:27:10 · 3711 阅读 · 0 评论 -
大模型训练之加速篇 -> peft(Lora->ReLORA->Vera->Dora->LISA) -> accelerator -> deepspeed (Zero)
加速。大模型原创 2023-09-20 17:29:54 · 978 阅读 · 0 评论 -
大模型训练之并行篇-------数据并行/模型并行(层间层内)/流水并行
ZeRO-Infinity: Breaking the GPU Memory Wall for Extreme Scale Deep Learning 发表在SC 21,同样是进行offload,ZeRO-Offload更侧重单卡场景,而ZeRO-Infinity则是典型的工业界风格,奔着极大规模训练去了。层间模型并行则是对模型层进行切分,业界也有很多做框架的公司管它叫Pipeline并行,但是我的观点是层间模型并行只有真的流水起来了才能够叫Pipeline并行。典型例子就是1D的Megatron。原创 2023-03-29 15:58:54 · 4875 阅读 · 0 评论 -
大模型训练之计算量和内存优化篇------混合精度/量化/FSDP&cpu offload/Gradient Checkpointing
大模型训练显存和计算量优化翻译 2023-05-24 19:59:40 · 2920 阅读 · 1 评论 -
强化学习基础
强化学习原创 2023-02-15 17:05:33 · 1410 阅读 · 0 评论 -
马科夫过程(MP) -> 马尔科夫奖励过程(MRP) -> 马尔科夫决策过程(MDP)
马尔可夫转载 2023-02-21 20:17:57 · 763 阅读 · 0 评论 -
图网络模型 GCN->GAT
ZGCN0)W1【两层的GCN Layer】原创 2023-03-20 15:59:40 · 1373 阅读 · 0 评论 -
预训练范式提示学习方法一览(PET, Prefix-tuning,P-tuning,prompt tuning, PPT,SPoT, Prompt-tuning鲁棒性研究)
prompt 训练原创 2023-02-07 16:49:32 · 2001 阅读 · 0 评论 -
NER 任务以及联合提槽任务
NER & cls联合提取原创 2023-03-29 15:18:47 · 584 阅读 · 0 评论 -
pytorch 模型与tf模型转换
torch转tf原创 2022-06-09 17:15:34 · 1424 阅读 · 0 评论 -
nlp模型加速之-oonx, tensorrt
一、模型加速原理原始的训练框架(pytorch,TensorFlow)比较重,结合GPU计算能力没那么强,利用其它快速的框架,例如onnx(微软开源),tensorrt(NVIDIA推出);二、环境准备:机器:阿里云5号机,后面是有的目录均指改机器下的目录;显卡:必须V100(32G),16G的不确定是否兼容;cuda:必须10.2,不同cuda版本有diff,cuda10.2还要打两个补丁;onnx:从github clone最新的,我已经完成,对应地址为:/root/myname/on原创 2021-11-22 11:18:16 · 806 阅读 · 0 评论 -
训练1000层的transformer
transformer深层训练理论分析实现转载 2022-10-11 14:57:25 · 234 阅读 · 0 评论 -
逻辑推理阅读理解任务及方法
阅读理解原创 2022-11-25 15:26:06 · 1052 阅读 · 0 评论 -
FFN -> GLU -> GAU
FFN优化原创 2022-11-25 15:24:58 · 2552 阅读 · 0 评论 -
FAQ相关论文阅读
名称:Unsupervised FAQ Retrieval with Question Generation and BERT解决问题:标注数据Q-q对少的问题解决方法:使用GPT-2等生成模型生成q 的相似q’召回方法1:Elasticsearch , (q+a) 建立索引, BM25召回topk召回方法2:滑窗q+a, 根据BM25相似度最高作为score排序QA模型:(q, a, a’)训练模型,q-a为一个问答对,a’为其他的answer负例。进一步:(q+a)召回的topk选择作为负例.原创 2021-09-26 17:33:01 · 1846 阅读 · 1 评论 -
NLP复述模型
方案一:seq2seq端到端生成数据来源:相似句数据:https://github.com/zejunwang1/CSTS效果:2层transformer, 生成bleu=37.7, 缺点:语句不通顺示例:句子不通顺,句子片段不通:source: = 我跟您说的是这么一件事。target = 对了,我有话要跟您说。predict = 我您, 我说 什要跟您说。source: = 不,最好把这些东西扔到什么地方去。target = 不,最好是出去一趟,把这些东西一齐扔掉。predict原创 2022-04-11 20:08:09 · 791 阅读 · 0 评论 -
文本攻击textattack->openattack
文本攻击原创 2022-11-25 14:25:54 · 1535 阅读 · 1 评论 -
生成模型finetune相关框架
finetune原创 2022-11-17 16:08:33 · 820 阅读 · 0 评论 -
Global Pointer
NER转载 2022-10-13 20:10:32 · 1000 阅读 · 0 评论 -
attention与FFN复杂度&模型内存占用估计
复杂度转载 2022-10-13 19:41:21 · 1642 阅读 · 0 评论 -
seq2seq+前缀树约束生成
检索,生成转载 2022-10-12 15:39:54 · 197 阅读 · 0 评论 -
梯度惩罚:输入梯度惩罚& 参数梯度惩罚&两者之间的关系
输入的梯度惩罚:【对输入样本加扰动】【虚拟对抗】参数的梯度惩罚【FLooding】对输入样本施加ϵ∇xL(x,y;θ)的对抗扰动,一定程度上等价于往loss里边加入“梯度惩罚”梯度惩罚说“同类样本不仅要放在同一个坑内,还要放在坑底”过小的学习率是否可取呢?转载 2022-10-12 11:26:43 · 2133 阅读 · 0 评论 -
相似问生成和相似句检索能力 ::: simbert -> roformer-sim (simbertv2)
语义相似任务转载 2022-10-11 18:02:50 · 1180 阅读 · 0 评论 -
绝对位置编码【三角/递归/相乘】->相对位置编码【XLNET/T5/DEBERTA】->旋转位置编码(ROPE/XPOS)->复杂位置编码【CNN/RNN/复数/融合】
本文分成三类讲解:1、绝对位置编码-BERT(学习位置编码)2、正弦位置编码3、相对位置编码-NEZHA4、(处理超文本-层次位置编码)对每一种都进行的讲解,并在代码中详细加了注释!1、绝对位置编码-BERTBERT使用的是训练出来的绝对位置编码,这种编码方式简单直接,效果也不错。这种方法和生成词向量的方法相似,先初始化位置编码,再放到预训练过程中,训练出每个位置的位置向量。关于该方法的代码如下,用Keras写的,参考苏剑林老师的bert4keras中的代码from keras.la.原创 2022-03-18 16:08:41 · 8268 阅读 · 0 评论 -
GPT系列:GPT1 -> 2 -> 3 -> InstructGPT ->ChatGPT
2018年6月 GPT-1:大量数据(约5GB文本)上无监督训练,然后针对具体任务在小的有监督数据集上做微调;关键词:“scalable, task-agnostic system”;8个GPU上训练一个月;预训练模型(1.1亿参数)可下载;Improving Language Understanding with Unsupervised Learningopenai.com/blog/language-unsupervised/2019年2月 GPT-2:大量数据(约40GB文本)上无监督训..原创 2022-02-07 17:16:48 · 5764 阅读 · 0 评论 -
一些模型资源地址
bert-ner-pytorch:git@github.com:lonePatient/BERT-NER-Pytorch.git原创 2021-11-22 14:43:41 · 1081 阅读 · 0 评论 -
reformer代码阅读
import mathimport torchimport torch.nn as nnfrom torch.nn import Identityimport torch.nn.functional as Ffrom torch.autograd import Functionfrom functools import partial, reduce, wrapsfrom itertools import chainfrom operator import mulfrom local_a原创 2021-11-22 14:43:56 · 1187 阅读 · 1 评论 -
GPT2模型详解
一 背景介绍GPT2模型是OpenAI组织在2018年于GPT模型的基础上发布的新预训练模型,其论文原文为 language_models_are_unsupervised_multitask_learnersGPT2模型的预训练语料库为超过40G的近8000万的网页文本数据,GPT2的预训练语料库相较于GPT而言增大了将近10倍。二 GPT2与GPT 模型的区别3 GPT2模型结构GPT-2 模型由多层单向 Transformer 的解码器部分构成,本质上是自回归模型,自回归的意思是指原创 2021-12-09 15:04:51 · 23152 阅读 · 2 评论 -
句向量表示--BERT-FLOW,BERT-whitening, ConSERT, coSENT
一 BERT 句向量 缺点论文1和论文2证明了 transformer 模型出来的向量表达(如 BERT、GPT2)会产生各向异性,具体表现是向量分布不均匀,低频词分布稀疏距离原点较远,高频词分布紧密,距离原点较近,如图所示。向量值受句子中词在所有训练语料里的词频影响,导致高频词编码的句向量距离更近,更集中在原点附近,导致即使一个高频词和一个低频词的语义是等价的,但词频的差异也会带来很大的距离偏差,从而词向量的距离就不能很好地代表语义相关性,和人判断句子的语义不受词频影响也不符合。On t原创 2021-12-09 19:06:51 · 1804 阅读 · 0 评论