Transformers

预训练模型专题_GPT2_模型代码学习笔记

青春壹個敷衍的年華 提交于 2020-12-25 11:21:05
最近将huggingface的transformers(v4.0.1)库中的GPT2模型源码详细学习了一遍,因此将学习过程中,对于GPT2模型源码的一些学习笔记记录在此篇博客之中,以供之后参考。 GPT2模型是OpenAI组织在2018年于GPT模型的基础上发布的新预训练模型,其论文原文为 language_models_are_unsupervised_multitask_learners GPT2模型的预训练语料库为超过40G的近8000万的网页文本数据,GPT2的预训练语料库相较于GPT而言增大了将近10倍。 一、GPT2与GPT的模型结构区别 从上方的GPT2与GPT的模型结构对比图中可以看出,GPT2的模型结构(右)较GPT的模型结构(左)有所改动。在GPT2中的一个Transformer Block层中,第一个LayerNormalization模块被移到了Msaked-Multi-Self-Attention模块之前, 第二个LayerNormalization模块也被移到了Feed-Forward模块之前; 同时Residual-connection的位置也调整到了Msaked-Multi-Self-Attention模块与Feed-Forward模块之后。 接下来,将从transformers库中的GPT2模型源码层面深入理解GPT2模型的结构。 二

Maven 打包 .exe 可执行文件

烈酒焚心 提交于 2020-12-23 18:47:59
<build> <plugins> <plugin> <!-- 使用 maven-shade-plugin 打包项目 并导入 maven 中依赖的包 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.1</version> <configuration> <!-- 解决 A JNI error has occurred 问题 --> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <!-- 不生成 简易的 pom 结构 --> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> <executions> <execution> <phase>package</phase> <goals>

用Siamese和Dual BERT来做多源文本分类

丶灬走出姿态 提交于 2020-12-19 06:56:49
点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者: Marco Cerliani 编译:ronghuaiyang 正文共:2062 字 10 图 预计阅读时间:6 分钟 导读 使用不同的方式来使用BERT模型 。 在NLP中不断的研究产生了各种各样的预训练模型。对于各种任务,例如文本分类、无监督主题建模和问题回答等,不断的在刷新业界最佳。其中,最伟大的发现之一是在神经网络结构中采用了注意力机制。这种技术是所有称为 transformers 的网络的基础。他们应用注意力机制来提取关于给定单词上下文的信息,然后将其编码到一个学习到的向量中。 作为数据科学家,我们可以调用很多transformers架构,并使用它们对我们的任务进行预测或微调。在这篇文章中,我们喜欢读经典的BERT,但是同样的推理也适用于其他所有的transformer结构。 我们使用了siamese结构,这是一个双路BERT ,用于多文本输入的分类。 数据 我们从Kaggle上收集数据集。新闻类别数据集:https://www.kaggle.com/rmisra/news-category-dataset包含从HuffPost上获得的2012年至2018年的约20万条新闻标题。我们需要根据两种不同的文本来源对新闻文章进行分类:标题和简介。我们总共有40多种不同类型的新闻。为了简单起见

赠书 | 新手指南——如何通过HuggingFace Transformer整合表格数据

霸气de小男生 提交于 2020-11-28 13:51:12
作者 | Ken Gu 翻译| 火火酱~,责编 | 晋兆雨 出品 | AI科技大本营 头图 | 付费下载于视觉中国 *文末有赠书福利 不可否认,Transformer-based模型彻底改变了处理非结构化文本数据的游戏规则。截至2020年9月,在通用语言理解评估(General Language Understanding Evaluation,GLUE)基准测试中表现最好的模型全部都是BERT transformer-based 模型。如今,我们常常会遇到这样的情形:我们手中有了表格特征信息和非结构化文本数据,然后发现,如果将这些表格数据应用到模型中的话,可以进一步提高模型性能。因此,我们就着手构建了一个工具包,以方便后来的人可以轻松实现同样的操作。 在Transformer的基础之上进行构建 使用transformer的主要好处是,它可以学习文本之间的长期依赖关系,并且可以并行地进行训练(与sequence to sequence模型相反),这意味着它可以在大量数据上进行预训练。 鉴于这些优点,BERT现在成为了许多实际应用程序中的主流模型。同样,借助HuggingFace Transformer之类的库,可以轻松地在常见NLP问题上构建高性能的transformer模型。 目前,使用非结构化文本数据的transformer模型已经为大众所熟知了。然而,在现实生活中

热门的模型跨界,Transformer、GPT做CV任务一文大盘点

那年仲夏 提交于 2020-11-26 13:45:09
作者|陈萍 来源|机器之心 可能大家心里都有一种错误认知,做自然语言处理任务的模型不能够用来进行计算机视觉任务。其实不然,现阶段已出现好多研究,它们通过算法的改进,将在 NLP 领域表现良好的模型,如 Transformer、GPT 等进行改进并应用于视觉任务,不仅实现了模型跨界,而且取得了不错的性能。 模型跨界效果如何呢? 人工智能的快速发展已经淋漓尽致地体现在我们的日常生活中,从人脸识别、语音识别到机器翻译等等,无不展示着 AI 带来的便利。已经落地的产品层出不穷,其后的算法模型你又了解多少呢?有些模型不仅在自己的领域表现出色,更能跨界出圈。 近几年,NLP 领域的算法势如破竹,不断取得新突破,CV 领域同样不断取得创新。新工具、新算法、新算力等不断迭代更新,在各自领域大放异彩。 如果说将 NLP 领域的模型应用到 CV 领域,或反之,那效果该如何呢?模型跨界是否可行? 答案是肯定的。下面我们来盘点一下模型的跨界、破界表现如何?本文介绍的内容包括: 《End-to-End Object Detection with Transformers》:Facebook 将 Transformer 应用于目标检测任务; 《Generative Pretraining from Pixels》:OpenAI 用 GPT-2 做图像分类的尝试; 《LAMBDANETWORKS:

UC伯克利摘最佳论文、Hugging Face获最佳demo,EMNLP 2020奖项公布

不打扰是莪最后的温柔 提交于 2020-11-22 09:46:40
作者|魔王、杜伟、小舟 来源|机器之心 刚刚,正在进行中的 EMNLP 2020 大会公布了一系列奖项,其中最佳论文奖由加州大学伯克利分校的研究者获得,爱丁堡大学华人博士生 Yanpeng Zhao 为一作的论文获得了最佳论文荣誉提名奖(共 4 篇论文获此奖项)。另外,本届大会的最佳 Demo 奖由大家非常熟悉的 Hugging Face 团队摘得。 EMNLP 是国际语言学会(ACL)下属的 SIGDAT 小组主办的自然语言处理领域的顶级国际会议,每年举办一次。受疫情影响,今年的 EMNLP 会议以线上形式举行。 EMNLP 2020 共收到投稿 3677 篇,其中有效投稿为 3359 篇,接收论文数量为 752 篇,包括长论文 602 篇、短论文 150 篇。 从接收率看,EMNLP 2020 的论文接受率创下新低,为 22.4%。其中长论文接收率为 24.6%,短论文接收率为 16.6%。 根据大会公布信息,美国、中国、英国、德国、印度、加拿大、日本的论文投稿量最多,中美两国均有 1000 余篇论文投稿。而就各国论文接收率而言,英国、新加坡和丹麦的论文接收率名列前茅,中国的论文接收率仅有 13.2%,低于大会平均接收率。 另外,我们参考了 Aminer 平台对于 EMNLP 2020 会议的统计数据。从热门选题来看,EMNLP 2020 会议涉及了语言模型、神经机器翻译

UC伯克利摘最佳论文、Hugging Face获最佳demo,EMNLP 2020奖项公布

拥有回忆 提交于 2020-11-20 08:15:09
刚刚,正在进行中的 EMNLP 2020 大会公布了一系列奖项,其中最佳论文奖由加州大学伯克利分校的研究者获得,爱丁堡大学华人博士生 Yanpeng Zhao 为一作的论文获得了最佳论文荣誉提名奖(共 4 篇论文获此奖项)。另外,本届大会的最佳 Demo 奖由大家非常熟悉的 Hugging Face 团队摘得。 机器之心报道,编辑:魔王、杜伟、小舟。 EMNLP 是国际语言学会(ACL)下属的 SIGDAT 小组主办的自然语言处理领域的顶级国际会议,每年举办一次。受疫情影响,今年的 EMNLP 会议以线上形式举行。 EMNLP 2020 共收到投稿 3677 篇,其中有效投稿为 3359 篇,接收论文数量为 752 篇,包括长论文 602 篇、短论文 150 篇。 从接收率看,EMNLP 2020 的论文接受率创下新低,为 22.4%。其中长论文接收率为 24.6%,短论文接收率为 16.6%。 根据大会公布信息,美国、中国、英国、德国、印度、加拿大、日本的论文投稿量最多,中美两国均有 1000 余篇论文投稿。而就各国论文接收率而言,英国、新加坡和丹麦的论文接收率名列前茅,中国的论文接收率仅有 13.2%,低于大会平均接收率。 另外,我们参考了 Aminer 平台对于 EMNLP 2020 会议的统计数据。从热门选题来看,EMNLP 2020 会议涉及了语言模型、神经机器翻译

H6062FNL 普思Pulse 网络变压器

蓝咒 提交于 2020-11-05 10:03:33
制造商编号: H6062FNL 制造商: Pulse Electronics 说明: Audio Transformers / Signal Transformers 1000Base-T SMD PoE 350uH .65Ohms 1-Port 产品种类: 网络变压器/信号变压器 RoHS: 民用商用级 产品: LAN 类型: Module 端接类型: SMD/SMT 电感: 350 uH 通道数量: 1 Channel 应用: 1000Base-T PoE 绝缘电压: 1.5 kV 最小工作温度: 0 C 最大工作温度: +70 C 长度: 17.5 mm 宽度: 15.24 mm 高度: 5.72mm 封装: Tube 屏蔽: Unshielded 商标: Pulse Electronics 产品类型: Audio & Signal Transformers 工厂包装数量: 25 子类别: Transformers 来源: oschina 链接: https://my.oschina.net/u/4330928/blog/4703357

推特知乎宣传一波,论文就能中顶会?时代变了,说不定真的可以

早过忘川 提交于 2020-10-29 18:21:55
PR or Not PR,结果可能真的不一样。 机器之心报道,参与:张倩、蛋酱、小舟。 中国有句古话,叫「酒香不怕巷子深」。而在学术界,论文就是研究者酿出的酒。只要你的「酒」足够醇,总会得到大家的关注与认可。 但在社交网络影响日益扩大的今天,这句话的力量似乎越来越弱了。在论文水平差距不大的情况下,大家真正比拼的可能会是 PR 能力。 这个问题最近在 Reddit 上被提了出来。发帖者表示,ta 担心社交网络上越来越热的「自我宣传」行为会影响到审稿人的判断,导致宣传效果好的论文更易被接收,对盲审制度造成很大的破坏。 NeurIPS 2020 论文的提交截止日期是两周前。从结束提交开始,几乎每天我都会遇到来自机器学习研究人员的 Twitter 长文。这些帖子公开宣传他们的研究工作(显然是 NeurIPS 提交的研究内容,从 arXiv 预印本的格式和日期来看),其作者通常是来自谷歌、Facebook 的著名研究人员。他们有成千上万的粉丝,因此他们的 Twitter 也有很高的浏览量、点赞量和转发量。 我很高兴看到新的令人兴奋的研究,但同时也对这种宣传给论文审核过程带来的影响表示担忧。我知道 NeurIPS 并不禁止提交 arXiv 预印本,但是这种非常吸引人的广告将对盲审的冲击提高到了一个新的层次。 除了有损双盲审查程序以外,我还担心这样的做法会给审稿人增加社会压力

是不是有一天想象着让代码自动补全,今天他来了!!!

僤鯓⒐⒋嵵緔 提交于 2020-10-22 18:12:55
作者:熊唯,黄飞 ,腾讯 PCG/QQ研发中心/CV应用研究组 AI 如果真的可以写代码了,程序员将何去何从?近几年,NLP 领域的生成式任务有明显的提升,那通过 AI 我们可以让代码自动完成后续补全吗?本文主要介绍了如何使用 GPT2 框架实现代码自动补全的功能。 如果 AI 真的可以自己写代码了,程序员将何去何从? 我去年做过一个代码补全的小功能,打包为 androidStudio 插件,使用效果如下: 代码补全模型预测出的结果有时的确会惊吓到我,这也能学到~? 那如果给它见识了全世界的优秀代码,再给足够量级参数和优秀的模型框架,真的可以实现需求作为输入,直接输出代码吗? "我的需求讲完了,你的代码呢?" 希望可以看到这一天。 代码补齐功能有其他优秀插件也已实现,比如 tabnine,Kite 和国产的 aixcoder。本文主要介绍下代码补全功能需要实现的整套流程。主要包括数据,算法和工程。 数据 众所周知,算法工程师大部分时间都在处理数据。 深度学习是使用大数据训练模型的一个过程,数据是很重要的一个模块。人是会累的,休息不好还导致记忆不好。AI 是你给多少数据它就能存储接收多少数据,学不到信息那是人的错,给的数据不好或者算法设计不好。所以我们先尽可能多的准备好训练数据。 1、数据采集 本文的目的是代码补全,训练数据就是代码段。考虑到每种语言风格和语法都不一致