机器学习研究人员在自我监督的语言模型预训练方面取得了非凡的成功。自监督学习是不需要标记数据而进行训练。预训练是指通过一项任务来训练模型,并可应用于其他任务。
在进行数组索引操作时,我们有时会遇到类似于 "IndexError: index 4 is out of bounds for dimension 1 with size 4" 的错误信息。这个错误表示我们试图访问数组中超出索引范围的元素。
人工智能已成为近年来最受关注的话题之一,由于神经网络的发展,曾经被认为纯粹是科幻小说中的服务现在正在成为现实。从对话代理到媒体内容生成,人工智能正在改变我们与技术互动的方式。特别是机器学习 (ML) 模型在自然语言处理 (NLP) 领域取得了重大进展。一个关键的突破是引入了“自注意力”和用于序列处理的Transformers架构,这使得之前主导该领域的几个关键问题得以解决。
目前,最先进的 NLP 架构模型通常重用在 Wikipedia 和 Toronto Books Corpus 等大型文本语料库上预训练的 BERT 模型作为基线 。通过对深度预训练的 BERT 进行微调,发明了许多替代架构,例如 DeBERT、RetriBERT、RoBERTa ……它们对各种语言理解任务的基准进行了实质性改进。在 NLP 中的常见任务中,成对句子评分在信息检索、问答、重复问题检测或聚类等方面有广泛的应用。通常,提出了两种典型的方法:Bi-encoders 和 Cross-encoders。
【导读】预训练方法设计有不同的训练目标,包括语言建模、机器翻译以及遮蔽语言建模等。最近发表的许多论文都使用了微调模型,并预先训练了一些遮蔽语言模型的变体。然而,还有一些较新的方法是通过对多任务微调提高性能,结合实体嵌入,跨度预测和自回归预训练的多种变体。它们通常在更大数据上训练更大的模型来提高性能。本文的目标是通过复制、简化和更好地微调训练BERT,以作为更好理解上述方法的相对性能的参考值。
当您精通 BERT 后,就该探索先进技术以最大限度地发挥其潜力。在本章中,我们将深入研究微调、处理词汇外单词、领域适应,甚至从 BERT 中提取知识的策略。
知乎:https://zhuanlan.zhihu.com/p/366133681
在AI盛起的当下,各类AI应用不断地出现在人们的视野中,AI正在重塑着各行各业。相信现在各大公司都在进行着不同程度的AI布局,有AI大模型自研能力的公司毕竟是少数,对于大部分公司来说,在一款开源可商用的大模型基础上进行行业数据微调也正在成为一种不错的选择。
目前,已经有各种类型的预训练架构,包括自编码模型(例如BERT),自回归模型(例如GPT)和编码器-解码器模型(例如T5)。然而,没有一个预训练框架对三个主要类别的所有任务(自然语言理解(NLU),无条件生成和有条件生成)都表现最佳。 本文主要贡献:
到本章为止,我们已经使用Transformers模型来解决英文语料的NLP任务,但如果我们语料是用Greek, Swahili或者Klingon等语言组成,现在怎么办? 一种方法是在Hugging Face Hub上搜索合适的预训练语言模型,并在手头的任务上对其进行微调。 然而,这些预训练的模型往往只存在于像德语、俄语或普通话这样的 "丰富资源 "的语言,这些语言有大量的网络文本可供预训练。 当语料库是多语言的时候,另一个常见的挑战出现了,在产品化环境中维护多个单语模型对我们以及工程团队来说是没有乐趣的。
并且,在同等计算资源的情况下,ELECTRA 的性能优于现有方法;而在参数量只有 1/30 的情况下,取得不逊于最先进 BERT 系列模型的性能。
在Python中,可以通过异常处理机制来处理代码执行过程中出现的异常,避免程序崩溃或出现错误结果。Python中提供了许多内置的异常类型,常见的异常类型包括:
好久没有给大家分享关于NLG的文章了,那么今天就给大家分享两篇关于文本生成的文章,首先第一篇是基于预训练Transformer的条件语言生成模型;然后第二篇是基于单一多模态模型的图文生成;最后,后面可以下载这两篇Paper及其参考Paper。
本文把对抗训练用到了预训练和微调两个阶段,对抗训练的方法是针对embedding space,通过最大化对抗损失、最小化模型损失的方式进行对抗,在下游任务上取得了一致的效果提升。
在深度学习领域中,我们经常使用张量(tensor)来表示和处理数据。然而,有时候我们可能会遇到一些错误,例如 "IndexError: too many indices for tensor of dimension 3"。这个错误通常发生在我们试图使用超过张量维度的索引进行操作时。本文将探讨可能引起这个错误的原因,并提供解决方案。
本文将解释如下术语:T5,C4,Unified Text-to-Text Tasks
泛化性和鲁棒性是设计机器学习方法的关键。对抗性训练可以增强鲁棒性,但过去的研究经常发现它会损害泛化能力。在自然语言处理(NLP)中,预训练的大型神经语言模型(如BERT)在各种任务的泛化方面表现出了令人印象深刻的增益,而且通过对抗性微调还可以得到进一步的改进。然而,这些模型仍然容易受到对抗性攻击。在本文中,我们证明了对抗性预训练可以提高泛化性和鲁棒性。我们提出了一种通用算法ALUM(Adversarial training for large neural LangUage Models,大型神经语言模型的对抗性训练),它通过在嵌入空间中施加扰动使对抗性损失最大化来调整训练目标。我们首次全面研究了对抗性训练的各个阶段,包括从头开始的预训练、在训练有素的模式下持续的预训练以及特定任务中的微调。ALUM在各种NLP任务上都比BERT获得了可观的收益,无论是在常规场景还是在对抗场景中。即使是在非常大的文本语料库上受过良好训练的模型,如RoBERTa,ALUM仍然可以从连续的预训练中获得显著的收益,而传统的非对抗性方法则不能。ALUM可以进一步与特定任务的微调相结合,以获得额外的收益。代码和预训练模型可在以下网址获得:https://github.com/namisan/mt-dnn。
Improved Text Classification via Contrastive Adversarial Training
BERT 自从在 arXiv 上发表以来获得了很大的成功和关注,打开了 NLP 中 2-Stage 的潘多拉魔盒。
【导读】BERT 自从在 arXiv 上发表以来获得了很大的成功和关注,打开了 NLP 中 2-Stage 的潘多拉魔盒。随后涌现了一大批类似于“BERT”的预训练(pre-trained)模型,有引入 BERT 中双向上下文信息的广义自回归模型 XLNet,也有改进 BERT 训练方式和目标的 RoBERTa 和 SpanBERT,还有结合多任务以及知识蒸馏(Knowledge Distillation)强化 BERT 的 MT-DNN 等。除此之外,还有人试图探究 BERT 的原理以及其在某些任务中表现出众的真正原因。以上种种,被戏称为 BERTology。本文中,微软亚洲研究院知识计算组实习生陈永强尝试汇总上述内容,作抛砖引玉。
BERT自从在arXiv上发表以来获得了很大的成功和关注,打开了NLP中2-Stage的潘多拉魔盒。随后涌现了一大批类似于“BERT”的预训练(pre-trained)模型,有引入BERT中双向上下文信息的广义自回归模型XLNet,也有改进BERT训练方式和目标的RoBERTa和SpanBERT,还有结合多任务以及知识蒸馏(Knowledge Distillation)强化BERT 的MT-DNN等。除此之外,还有人试图探究BERT的原理以及其在某些任务中表现出众的真正原因。
BERT 自从在 arXiv 上发表以来获得了很大的成功和关注,打开了 NLP 中 2-Stage 的潘多拉魔盒。随后涌现了一大批类似于“BERT”的预训练(pre-trained)模型,有引入 BERT 中双向上下文信息的广义自回归模型 XLNet,也有改进 BERT 训练方式和目标的 RoBERTa 和 SpanBERT,还有结合多任务以及知识蒸馏(Knowledge Distillation)强化 BERT 的 MT-DNN 等。除此之外,还有人试图探究 BERT 的原理以及其在某些任务中表现出众的真正原因。以上种种,被戏称为 BERTology。本文中,微软亚洲研究院知识计算组实习生陈永强尝试汇总上述内容,作抛砖引玉。
BERT 通过改变 NLP 模型的训练方式迎来了 NLP 领域的 ImageNet 时刻。自此之后的预训练模型分别尝试从 mask 范围,多语言,下文预测,模型轻量化,预训练方式,模型大小,多任务等方向谋求新突破,有的效果明显,有的只是大成本小收益。
CodeBERT是微软在2020年开发的BERT模型的扩展。它是一个用于编程语言(PL)和自然语言(NL)的双峰预训练模型,可以执行下游的(NL-PL)任务,这个模型使用6种编程语言(Python, Java, JavaScript, PHP, Ruby, Go)进行NL-PL的匹配训练。
在过去的几周里,我们对 transformers 和 tokenizers 库进行了一些改进,目的是让从头开始训练新的语言模型变得更加容易。
在如今的 NLP 领域,几乎每项任务中都能看见「基于 Transformer 的预训练语言模型(T-PTLM)」成功的身影。这些模型的起点是 GPT 和 BERT。而这些模型的技术基础包括 Transformer、自监督学习和迁移学习。T-PTLM 可使用自监督学习从大规模文本数据学习普适性的语言表征,然后将学到的知识迁移到下游任务。这些模型能为下游任务提供优质的背景知识,从而可避免从头开始训练下游任务。
来源:新智元本文约3500字,建议阅读10+分钟2022年5月底,微软的AI研发人员在预印本网站发表论文,提出了调试NLP模型的全新路径AdaTest。 自然语言处理(NLP)模型读不懂人话、将文本理解为相反的意思,是业界顽疾了。 现在微软表示,开发出解决此弊的方法。 微软开发AdaTest方法来测试NLP模型 可作为跨越各种应用基础的大型模型,或称平台模型的进展已经大大改善了AI处理自然语言的能力。但自然语言处理(NLP)模型仍然远不完美,有时会以令人尴尬的方式暴露缺陷。 例如有个顶级的商用模型,将葡
---- 新智元报道 编辑:袁榭 David 【新智元导读】2022年5月底,微软的AI研发人员在预印本网站发表论文,提出了调试NLP模型的全新路径AdaTest。 自然语言处理(NLP)模型读不懂人话、将文本理解为相反的意思,是业界顽疾了。 现在微软表示,开发出解决此弊的方法。 微软开发AdaTest方法来测试NLP模型 可作为跨越各种应用基础的大型模型,或称平台模型的进展已经大大改善了AI处理自然语言的能力。但自然语言处理(NLP)模型仍然远不完美,有时会以令人尴尬的方式暴露缺陷。 例如有个顶
使用预训练语言模型的小样本学习(处理只有少量标签或没有标签的数据)已成为比较普遍的解决方案。 SetFit:一种用于对 Sentence Transformers 进行少量微调的高效框架。SetFit 用很少的标记数据实现了高精度——例如,在客户评论 (CR) 情绪数据集上每个类只有 8 个标记样本,SetFit 在 3k 个样本的完整训练集上与微调 RoBERTa Large 相比,如图1-1所示,具有竞争力表现:
BERT自诞生之后,其应用边界便不断扩张,从自然语言到图像、语音等。过去的一年也因此被誉为“BERT爆发的一年”。
摘要:训练大型语言模型(LLMs)面临着显著的内存挑战,主要是由于权重和优化器状态的不断增大。常见的内存降低方法,如低秩适应(LoRA),在每一层中向冻结的预训练权重添加一个可训练的低秩矩阵,从而减少可训练参数和优化器状态。然而,这些方法通常在预训练和微调阶段的性能上都不如使用全秩权重训练,因为它们将参数搜索限制在低秩子空间中,改变了训练动态,并且可能需要全秩热启动。在这项工作中,我们提出了Gradient Low-Rank Projection(GaLore),一种允许全参数学习但比LoRA等常见低秩适应方法更节省内存的训练策略。我们的方法在优化器状态的内存使用上最多减少了65.5%,同时在使用C4数据集进行LLaMA 1B和7B架构的预训练以及在GLUE任务上对RoBERTa进行微调时,保持了效率和性能。我们的8位GaLore相较于BF16基准,将优化器内存进一步降低了82.5%,总训练内存降低了63.3%。值得注意的是,我们首次证明了在具有24GB内存的消费级GPU上(例如NVIDIA RTX 4090)进行7B模型的预训练是可行的,而无需模型并行、检查点策略或卸载策略。
在之前的博客文章中,我们讨论了信息检索的常见方法,并介绍了模型和训练阶段的概念。在这里,我们将介绍基准测试,以公平的方式比较各种方法。请注意,基准测试的任务并不简单,不恰当的测试可能会导致人们对模型在现实场景中的表现产生误解。
摘要:深度神经网络(DNNs)的可迁移性在图像和语言处理领域取得了显著进展。然而,由于表格之间的异构性,这种DNN的优势在表格数据预测(例如回归或分类任务)方面仍未充分利用。语言模型(LMs)通过从不同领域提炼知识,具有理解来自各种表格的特征名称的能力,有望成为在不同表格和多样化预测任务之间转移知识的多才多艺的学习者,但它们的离散文本表示空间与表格中的数值特征值不兼容。在本文中,我们介绍了TP-BERTa,这是一个专门针对表格数据预测进行预训练的LM模型。具体而言,一种新颖的相对大小标记化将标量数值特征值转换为精细离散的高维标记,而一种内部特征注意方法则将特征值与相应的特征名称集成在一起。全面的实验证明,我们的预训练TP-BERTa在表格DNNs中表现出色,并且在典型的表格数据领域与梯度提升决策树模型相竞争。
BERT 是由 Google 开发的自然语言处理模型,可学习文本的双向表示,可在许多不同任务中的显著提升在上下文中理解无标记文本的能力。
在本文中,作者提出了M3P,一个多任务、多语言、多模态预训练模型 ,通过多任务预训练目标将多语言预训练和多模态预训练结合到一个统一的框架中。M3P的目标是学习通用的表示,可以将以不同方式出现的对象或以不同语言表达的文本映射到一个公共语义空间。
今年年初,OpenAI兴致勃勃地发布了Classifier,宣称有了它,谁都能知道某一段文本是不是由GPT生成的,不说拯救世界吧,最起码老师有福了。
摘要:以显著的能力,大语言模型(LLMs)已成为许多自然语言处理应用中不可或缺的元素,而参数高效的微调,特别是 LoRA,已经因其轻量级的模型定制方法而备受青睐。与此同时,各种dropout方法,最初设计用于所有参数更新的完全微调(full weight),缓解了与过度参数冗余相关的过拟合问题。因此,由于 LoRA 的可忽略的可训练参数和先前dropout方法的有效性之间存在可能的矛盾,这一点在很大程度上被忽视了。为了填补这一空白,我们首先确认参数高效的 LoRA 也容易出现过拟合问题。然后,我们重新审视了特定于 transformer 的dropout方法,并从数学和经验上建立了它们的等价性和差异。在这种比较分析的基础上,我们引入了一个统一的框架进行全面的研究,该框架基于dropout位置、结构模式和补偿措施实例化这些方法。通过这个框架,我们揭示了当涉及到有限的可训练参数时,它们的新偏好和性能比较。这个框架还允许我们将最有利的方面融合成一种名为 HiddenKey 的新dropout方法。大量实验证实了 HiddenKey 在多个模型和任务中的显著优越性和充分性,这凸显了它作为大型语言模型的高性能和参数高效微调的首选方法。
摘要:本篇从理论到实践详解了使用半监督和自监督学习框架解决文本分类中的样本不均衡问题。首先,讲了下为啥要用半监督和自监督学习框架;然后,结合论文从理论到实验结果重点介绍了半监督和自监督框架下的不均衡学习;最后将半监督和自监督学习框架应用到我们实际的文本分类任务中并取得了不错的效果提升。对于希望通过半监督和自监督方式解决样本不均衡问题的小伙伴可能有所帮助。
总第515篇 2022年 第032篇 近日,美团搜索与NLP部NLP中心语义理解团队的小样本学习模型FSL++在中文小样本语言理解权威评测基准FewCLUE榜单登顶,在自然语言推理(OCNLI)单任务中取得第一,并在极少数样本(一个类别仅100余个)的条件下,在新闻分类(TNEWS)、科学文献学科分类(CSLDCP)任务上超过了人类识别精确度。 1 概述 2 方法介绍 2.1 增强预训练 2.2 模型结构 2.3 数据增强 2.4 集成学习&自训练 3 实验结果 3.1 数据集介绍 3.2 实验对比 4
在Python面向对象编程中,魔术方法是一组特殊的方法,用于在特定情况下调用对象的操作。其中,__len__和__getitem__方法是常用的魔术方法之一。这两个方法都是用于操作序列对象的,但它们的作用略有不同。
想象一下——你正在从事一个非常酷的数据科学项目,并且应用了最新的最先进的库来获得一个好的结果!几天后,一个新的最先进的框架出现了,它有可能进一步改进你的模型。
2023年11月2日,上海科技大学白芳老师团队在J Cheminform上发表文章DeepSA:a deep-learning driven predictor of compound synthesis accessibility。
异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。
“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注。
想象一下自己正在进行一个非常好的数据科学项目,还为了获得较好的结果用了最前沿的数据库。然后几天后,新一代前沿框架的出现,导致现有模型已经落后了。
导读:BERT, RoBERTa, DistilBERT, XLNet到底哪家强?在不同的研究领域和应用场景如何选择成了大难题。凡事莫慌,这篇文章帮你理清思路。
论文针对预训练语料和领域分布,以及任务分布之间的差异,提出了DAPT领域适应预训练(domain-adaptive pretraining)和TAPT任务适应预训练(task-adaptive pretraining)两种继续预训练方案,并在医学论文,计算机论文,新闻和商品评价4个领域上进行了测试。想法很简单就是在垂直领域上使用领域语料做继续预训练,不过算是开启了新的训练范式,从之前的pretrain+fintune,到pretrain+continue pretrain+finetune
前不久,CMU和谷歌大脑提出的XLNet预训练模型在 20 项任务上全面碾压曾有“最强NLP预训练模型”之称的BERT,可谓风光无限,吸足了眼球。
领取专属 10元无门槛券
手把手带您无忧上云