自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 问答 (1)
  • 收藏
  • 关注

原创 由浅入深学习大语言模型RLHF(PPO强化学习- v1浅浅的)

​最近,随着DeepSeek的爆火,GRPO也走进了视野中。为了更好的学习GRPO,需要对PPO的强化学习有一个深入的理解,那么写一篇文章加深理解吧。纵观网上的文章,要么说PPO原理,各种复杂的公式看了就晕,要么说各种方式命名的模型,再要么默认你是个NLPer。这导致RLer和NLPer之间学习大语言模型强化学习产生了巨大的gap。于是,我们单纯说说大语言模型里面的PPO吧。其实PPO也是在训练模型,和SFT一样,都是为了获得最终一个用于推理部署的模型。

2025-02-20 00:44:45 799

原创 由浅入深学习大语言模型RLHF(PPO强化学习- v1浅浅的)

最近,随着DeepSeek的爆火,GRPO也走进了视野中。为了更好的学习GRPO,需要对PPO的强化学习有一个深入的理解,那么写一篇文章加深理解吧。纵观网上的文章,要么说PPO原理,各种复杂的公式看了就晕,要么说各种方式命名的模型,再要么默认你是个NLPer。这导致RLer和NLPer之间学习大语言模型强化学习产生了巨大的gap。于是,我们单纯说说大语言模型里面的PPO吧。其实PPO也是在训练模型,和SFT一样,都是为了获得最终一个用于推理部署的模型。SFT训练模型时一般需要一个base【】和【

2025-02-19 00:17:19 1094

原创 一文略解参数有效性微调

参数有效性微调(PEFT)是一种在自然语言处理(NLP)领域中广泛使用的技术,它可以在不牺牲性能的情况下,大大减少微调预训练语言模型(PLM)所需的参数数量和计算资源。下面给出这两种方法的实现。本方法旨在不改变模型的参数,在训练时,仅微调模型的部分参数,冻结模型的大部分参数。这种方法通过引入额外的参数,这种额外的引入的参数可能是一些额外的网络层或者是与额外的计算参数。这种方法的核心思想是使用低秩矩阵来重参数化模型网络权重的方法,简单点来说是保证模型参数不动,通过引入新的网络层来对网络参数进行优化。

2023-08-24 16:26:48 549

原创 ASR(自动语音识别)任务中的LLM(大语言模型)

用于在训练阶段提供更多的文本数据使解码器可以更好地被训练,在推理阶段不再被使用;在训练期间,其他部分保持不动,仅训练此部分从而得到一个。编码器的隐状态参与计算,利用大语言模型的能力得到更好的解码结果。:由三部分组成,分别是提示文本表征,输入语音表征以及检索到的。模型进行深度结合,统一语音和文本的编码空间或者直接利用。:根据过滤后的语音表征从数据库中查找与该段语音相关的。处理语音序列,并使用卷积网络对其进行下采样;的效果,本文在训练时设计了多种提示词;:手工设计的提示词,为了达到。

2023-08-18 17:48:37 7419

原创 关于pytorch网络计算的顺序性问题

x = ff1(x)*0.5 + adapter_ff1(x)*0.5 + x res:0.918x= ff1(x)*0.5 + x + adapter_ff1(x)*0.5 res:0.686

2023-08-18 17:30:33 266

原创 flask运行报错:Could not locate a Flask application.

(1)从当前目录寻找app.py和wsgi.py模块,并从中寻找名为app或application的实例。(2)从环境变量FLASK_APP对应的值寻找名为app或application的实例。修改FLASK_APP环境变量为文件名 / 修改文件名为app.py。如果在项目中创建的主程序模块名不是app.py,执行。2、原因:文件名不是app.py。

2022-12-11 02:29:00 2341

原创 低资源场景下的命名实体识别

低资源下的命名实体识别主要分为两个方面,一种是in-domain下的N-way-K-shot类型的少样本,一种是cross-domain下现在资源丰富的sourc-domain上进行微调,之后再迁移到低资源的target-domain进一步微调。基于prompt的方法在少样本分类的任务中取得了不错的效果(这里的效果不错一定程度上指的是基于微调的方法需要修改模型的结构来增加新的预测类别,而prompt只需要加上新的回答词即可,因为prompt是基于LM head来预测的)。但是在token-level的任务中

2022-11-16 22:00:05 2492

原创 VMware Workstation 打开之后没有虚拟机的解决方法

VMware虚拟机不见了的解决方法_Macmillan007的博客-优快云博客_vmware找不到虚拟机。

2022-08-24 09:17:37 2771

原创 C++项目进阶

适合 C++ 新手学习的开源项目——在 GitHub 学编程 - 削微寒 - 博客园 (cnblogs.com)

2022-08-18 22:19:06 390

原创 C++学习日记 day005

virtual int area() { //加上virtual表示虚函数,告诉编译器不要链接到该函数return 0;}// 也可在基类中定义纯虚函数,如下所示,虚函数声明时必须=0};class Rectangle : public Shape { // 矩形public :}};class Triangle : public Shape { //三角形public:}};...

2022-08-18 22:19:02 393

原创 C++学习日记 day004

公有继承(public):当一个类派生自公有基类时,基类的公有成员也是派生类的公有成员,基类的保护成员也是派生类的保护成员,基类的私有成员不能直接被派生类访问,但是可以通过调用基类的公有和保护成员来访问。保护继承(protected): 当一个类派生自保护基类时,基类的公有和保护成员将成为派生类的保护成员。重载函数主要是对相同命名的函数写入不一样的功能,例如python中对不同类型的数据求长度len功能。私有继承(private):当一个类派生自私有基类时,基类的公有和保护成员将成为派生类的私有成员。...

2022-08-17 23:47:56 477

原创 C++学习日记 day003

/引入内联函数的目的是为了解决程序中函数调用的效率问题,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。所以内联函数一般都是1-5行的小函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。友元函数定义在类外部,但有权访问类的所有成员(私有和保护),而且其并不是成员函数。构造函数在对象被创建的时候同时被调用,而析构函数在对象被销毁的时候调用。...

2022-08-16 21:21:48 330

原创 NAACL2022 对比学习论文

目录Long papersshort papersIndustry Track[1] HiURE: Hierarchical Exemplar Contrastive Learning for Unsupervised Relation Extraction[2] CONFIT: Toward Faithful Dialogue Summarization with Linguistically-Informed Contrastive Fine-tuning[3] Cross-modal Contrati

2022-08-16 14:08:46 959

原创 C++学习日记 day002

这种是因为CLion的工程中只能有一个主函数,一种方法是删除其他程序的主函数入口,另一种方法是修改CMakeLists文件,为每个程序创建一个可运行文件,如下图所示。

2022-08-15 23:23:21 2186 5

原创 C++常见记忆点

C++常见记忆点

2022-08-15 20:11:43 377

原创 C++学习日记 day001

5、使用-o选择指定生成的可执行程序的文件名。2、创建第一个文件main.cpp。1、Ubuntu安装g++编译器。7、取别名,typedef声明。9、# define预处理器。11、static存储类。6、C++基本数据类型。10、const关键字。...

2022-08-14 23:12:32 190

原创 NAACL2022信息抽取论文分类

目录1、Named Entity Recognition2、Relation Extraction3、Event Extraction4、Universal Information Extraction[1] Robust Self-Augmentation for Named Entity Recognition with Meta Reweighting[2] ITA: Image-Text Alignments for Multi-Modal Named Entity Recognition[3] D

2022-08-13 15:05:04 1524 2

原创 NAACL2022中Prompt相关论文分类

目录1、信息抽取2、prompt Method3、文本生成4、原理5、知识发现6、少样本7、Biases[1] Template-free Prompt Tuning for Few-shot NER[2] Automatic Multi-Label Prompting: Simple and Interpretable Few-Shot Classification[3] Zero-Shot Event Detection Based on Ordered Contrastive Learning and

2022-08-13 14:40:09 714

原创 文本生成不同解码方法的具体实现

为此束搜索被提出来解决这个全局优化的问题,该算法在生成下一个单词的时候,会生成K个候选词,然后在这个基础上继续进行K个候选词的选择,最后在全局的基础上选择一条概率最大的路径。对于上面的方法,还可以对可能的词进行百分比的随机抽样,即采样最可能的词的概率(个人认为是对词的可能性/概率进行排序,然后只对前百分之多少的词进行采样)对于随机生成的句子,乍一看没问题,但是读起来很不合理,所以对于随机采样,我们尽可能地采样概率较高的词,而减少低概率词地采样。,在这个过程中,第n个词是前n-1个词预测的概率最高的词。...

2022-08-12 22:30:08 831

原创 Making Pre-trained Language Models Better Few-Shot Learners

使用自然语言prompt和task demonstrations作为额外信息插入到输入文本中很好的利用了GPT-3模型中的知识。于是,本文提出少样本在小模型下的应用。我们的方法包括了基于prompt的微调,同时使用了自动生成的prompt;针对任务demonstration,我们还重新定义了一种动态和有选择地方法将其融入到上下文中。...

2022-08-10 15:10:21 599

原创 T5:Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer(万字长文略解T5)

迁移学习就是模型先在一个数据丰富的任务上进行预训练,然后再在下游任务上进行微调。最近迁移学习在NLP中是一个很有力的技术。在本文中,我们通过介绍一个将基于文本的问题转换成文本到文本的统一框架,从而开发迁移学习在NLP中的应用。...............

2022-08-09 19:55:41 2356

原创 Meta-Learning and in-context Learning

假设有一系列任务{a,b,c,d,e},元学习首先在基础的任务a上进行学习,然后通过a的经验训练任务b,以及类推,如果学习这几个任务学习完了以后,有新任务达到的话,接着通过前面的经验学习新的任务(只需要少量样本),注意学习新任务的时候是在新的结构上学习的,之前学习任务的结构和权重并没有被抛弃,仍然被保留下来,所以在学习新任务的时候仍然没有忘记之前学习到的知识。普通的迁移学习指的是,通过一个预训练过后的模型,根据下游任务的不同,模型可以通过微调来处理各种各样的任务。大家适当理解,可能有不对之处。......

2022-08-04 15:51:11 2106

原创 Learning How to Ask: Querying LMs with Mixtures of Soft Prompts

自然语言提示用于引导预训练语言模型执行其他得AI任务。本文通过梯度下降探索来学习提示得idea,从先前的工作获取提示或者随机初始化提示。我们的提示还包括软提示,即不一定是来自语言模型中的单词类型嵌入的连续向量。此外,对于每个任务,我们优化了混合的提示,学习哪些提示最有效,以及如何集成它们。在多个英语l语言模型和任务中,我们的方法大大优于以前的方法,这表明语言模型中的隐含的事实知识以前被低估了。此外,获得这些知识也很容易被引导:随机初始化几乎和有根据的初始化一样好。......

2022-08-03 16:04:45 713

原创 Paramenter-Efficient Transfer Learning for NLP

由于微调大的预训练模型很贵,且对不同的任务都需要进行针对性的微调。本文提出了适配器模块的迁移,相比微调需要优化100%的参数,适配器冻结了原始预训练模型的参数,加入了新的适配器模块,且只需要优化3%左右的参数就可以达到和微调相似的性能。.........

2022-08-02 15:44:45 748

原创 Prompt for Extraction? PAIE:Prompting Arguement Interaction for Event Argument Extraction

本文提出了一个有效且效率高的模型PAIE用于句子级和文档级事件要素/论元抽取(EAE),同时其在少样本的情况下的泛化性很好。本文使用了两个片段选择器去选择开始和结束位置的token,而且通过多角色prompts抓住了论元之间的交互关系并且通过bipartitematchingloss进行具有最优跨度分配的联合优化。此外,PAIE可以提出具有相同角色的多个参数,而不是传统的启发式的阈值调优。.........

2022-08-01 16:02:32 1272

原创 关系抽取论文阅读笔记

标记方案(Tagging Scheme)本文使用了联合抽取的方法,使用了标记策略对实体和关系进行抽取。本方法分为两个阶段,第一个阶段抽取头实体(HE),第二个阶段抽取尾实体和关系(TER)。作者将第一个阶段的头实体抽取分解成两个独立的子任务,第一个任务标注HE的第一个词,第二个任务标注HE的最后一个词。对于已经抽取出来的HE,对其进行尾实体(TE)和对应关系抽取。例如下图,对于抽取出来了的实体“Trump”,我们对其进行尾实体和关系类型抽取,这一阶段本质上类似于命名实体识别,即第一阶段。这里可以注意到已经解

2022-07-05 11:17:36 643

原创 基于深度学习的关系抽取

介绍关系抽取[1][2]旨在从给定的自然语言文本抽取出实体类型和关系类型的三元组(主体,客体,关系类型)。其中,关系抽取可以为知识图谱的自动构建[3]、搜索引擎、问答等下游任务提供支撑。方法在关系抽取的过程中,一般的解决方式是将关系抽取分为命名实体识别[4][5]和关系分类[6][7]两个子任务,即先从给定的文本中识别出所有的实体,然后对识别出的实体进行关系分类,这种方法也叫做流水线[8][9][10]方法。这种方法存在着许多的弊端,实体模块预测出来的错误会传递到下一模块,导致关系模块发生预测错误,被称为级

2022-07-02 21:54:28 1921

原创 利用Transformers自定义一个神经网络结构

利用Transformers自定义一个神经网络结构

2022-06-08 14:44:39 528

原创 TextCNN实现imdb数据集情感分类任务

TextCNN实现imdb数据集情感分类任务

2022-06-08 01:31:34 619

原创 BiLSTM实现imdb情感分类任务

BiLSTM实现imdb数据集情感分类任务

2022-06-08 01:20:08 837

原创 深度学习基本实用工具

argparse库可以获取命令行的参数并将参数传入到运行文件中,大大方便了深度学习需要不断修改参数的操作。运行命令及其输出:二、logging库用于将程序中的输出或者日志打印、保存起来,极大的方便了查看程序的运行情况。1、输出信息到控制台level=logging.INFO时的输出信息level=logging.DEBUG时的输出信息basicConfig参数及其作用2、将信息保存到文件中log.txt信息,注意,log文件中并不会清除上一次的输出信息 3、将信息同时

2022-06-07 14:28:22 661

原创 PyTorch向量变换基本操作

一、torch.cat()或者时torch.concat()对张量在指定维度进行拼接二、tesnsor.unzqueeze()对张量进行维度扩展三、tensor.permute()对张量进行维度变换

2022-06-06 21:57:12 7015

原创 略解深度学习优化策略

常见的优化算法:SGD和Adam梯度的简单解释:梯度可以理解为函数的导数,也可理解为函数的倾斜程度。函数图像水平时,函数的梯度消失。凸函数:深度学习中出现的几乎所有优化问题都是非凸的。下面是对凸(convex)和非凸的一个介绍。 由上图可以找到明显的规律是,第一个图形和后两个图形的明显区别,第一张图中的点线段部分出现在了图形外,而后两张线段都被包含在了图形内部。前者是非凸,后者是凸。继续看下面的图形。上面三张图形,中间的是非凸函数,两边的是凸函数,具体来说就是函数上的任意两点连线的线段中间的点的纵坐标大于或

2022-06-06 01:29:19 894

原创 略解损失函数

损失函数用来衡量神经网络中的预测值和标签值的差异程度,可以作为一个神经网络好坏的评估标准,然后我们根据这个标准去优化模型的参数。如上面的公式所示,可以知道L1损失函数实际上就是对所有样本的预测值和真实值之间的误差取平均值,其中n表示的是样本的个数,表示的是真实值(0或1的离散值),表示的是预测值(0-1之间的连续值),后面不再提及。L2损失函数就是对所有预测样本的预测值和真实值之间的误差平方取均值,其中n表示的是样本的个数。熵的定义:熵被用来形容一个系统的内在混乱程度,越混乱熵越大。为了方便记忆,可以用一个

2022-06-04 23:20:36 440

原创 SCIERC语料格式解读

一、观察语料二、利用下面的代码将语料打印出来三、解读由上面打印的信息可知,句子对就是文档中的句子,这里是以列表的形式给出来的。实体信息就是实体在前面文档的中(起始位置,终止位置,实体类型)三部分构成。关系对以(主体起始位置,主体终止位置,客体起始位置,客体终止位置,关系类型构成)五个部分构成。最后的集群指的是同一个指代的实体在文章中出现的不同位置,已用(起始位置,终止位置)的形式给出。

2022-05-31 23:22:08 706

原创 Python中类的方法__repr__的作用

尝试运行上面的程序,代码注释掉的时候控制台打印的内容如下:去掉注释时显示的内容如下: 好了,现在不用说,你也应该知道__repr__的作用了

2022-05-31 22:56:43 330

原创 Python将控制台内容存在本地文件中

import syslog = open('console .log', 'w')sys.stdout = logsys.stderr = log

2022-05-30 19:26:16 686

原创 动手从零实现一个多层感知机(前馈神经网络)

1.首先需要一个数据迭代器用来制造网络的输入部分import randomimport torchtorch.manual_seed(42) # 设置随机数种子# 生成输入输出值X,Ydef synthetic_data(w, b, num_examples): # @save X, Y = [], [] for i in range(num_examples): x = torch.normal(0, 1, (1, len(w)))

2022-05-30 11:05:10 472

原创 Error日志 ERROR: Failed building wheel for jsonnet

安装allennlp时出现Failed building wheel for jsonnet报错环境:centos,python=3.9.12,cudatoolkit=10.2,torch=1.11.0,miniconda3解决办法:使用命令conda install -c conda-forge jsonnet去安装jsonnet之后再pip install allennlp

2022-05-28 22:33:52 2162 6

原创 TPLinker: Single-stage Joint Extraction of Entities and Relations Through Token Pair Linking

写作动机(Movitation):相关工作(Related Work):提出的方法(Methods):使用的技术(Techniques):遇到的困难(Difficulties):实验结果(Results):做出的贡献(Contributions):未来展望(Future Work):...

2022-05-27 17:25:26 1068

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除