草庐IT

Bert不完全手册9. 长文本建模 BigBird & Longformer & Reformer & Performer

这一章我们来唠唠如何优化BERT对文本长度的限制。BERT使用的Transformer结构核心在于注意力机制强大的交互和记忆能力。不过Attention本身O(n^2)的计算和内存复杂度,也限制了Transformer在长文本中的应用。之前对长文档的一些处理方案多是暴力截断,或者分段得到文本表征后再进行融合。这一章我们看下如何通过优化attention的计算方式,降低内存/计算复杂度,实现长文本建模。Google出品的EfficientTransformers:ASurvey里面对更高效的Transformer魔改进行了分类,这一章我们主要介绍以下5个方向:以Transformer-XL为首的

Bert不完全手册9. 长文本建模 BigBird & Longformer & Reformer & Performer

这一章我们来唠唠如何优化BERT对文本长度的限制。BERT使用的Transformer结构核心在于注意力机制强大的交互和记忆能力。不过Attention本身O(n^2)的计算和内存复杂度,也限制了Transformer在长文本中的应用。之前对长文档的一些处理方案多是暴力截断,或者分段得到文本表征后再进行融合。这一章我们看下如何通过优化attention的计算方式,降低内存/计算复杂度,实现长文本建模。Google出品的EfficientTransformers:ASurvey里面对更高效的Transformer魔改进行了分类,这一章我们主要介绍以下5个方向:以Transformer-XL为首的

Bert不完全手册8. 预训练不要停!Continue Pretraining

paper:Don'tstopPretraining:AdaptLanguageModelstoDomainsandTasksGitHub:https://github.com/allenai/dont-stop-pretraining论文针对预训练语料和领域分布,以及任务分布之间的差异,提出了DAPT领域适应预训练(domain-adaptivepretraining)和TAPT任务适应预训练(task-adaptivepretraining)两种继续预训练方案,并在医学论文,计算机论文,新闻和商品评价4个领域上进行了测试。想法很简单就是在垂直领域上使用领域语料做继续预训练,不过算是开启了新

Bert不完全手册8. 预训练不要停!Continue Pretraining

paper:Don'tstopPretraining:AdaptLanguageModelstoDomainsandTasksGitHub:https://github.com/allenai/dont-stop-pretraining论文针对预训练语料和领域分布,以及任务分布之间的差异,提出了DAPT领域适应预训练(domain-adaptivepretraining)和TAPT任务适应预训练(task-adaptivepretraining)两种继续预训练方案,并在医学论文,计算机论文,新闻和商品评价4个领域上进行了测试。想法很简单就是在垂直领域上使用领域语料做继续预训练,不过算是开启了新

[Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-04-处理数值型数据

《Python机器学习手册——从数据预处理到深度学习》这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习中python常用的这些库有更深入的理解,在应用中也能更为熟练。以下是根据书上的代码进行实操,注释基本写明了每句代码的作用(写在本句代码之前)和print的输出结果(写在print之后)。不一定严格按照书上内容进行,根据代码运行时具体情况稍作顺序调整,也加入了一些自己的理解。如果复制到自己的环境下跑一遍输出,相信理解会更深刻更清楚。博客中每个代码块代表一次完整的运行结果,可以直接以此为单位复制并运行。04-处理

[Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-04-处理数值型数据

《Python机器学习手册——从数据预处理到深度学习》这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习中python常用的这些库有更深入的理解,在应用中也能更为熟练。以下是根据书上的代码进行实操,注释基本写明了每句代码的作用(写在本句代码之前)和print的输出结果(写在print之后)。不一定严格按照书上内容进行,根据代码运行时具体情况稍作顺序调整,也加入了一些自己的理解。如果复制到自己的环境下跑一遍输出,相信理解会更深刻更清楚。博客中每个代码块代表一次完整的运行结果,可以直接以此为单位复制并运行。04-处理

Bert不完全手册7. 为Bert注入知识的力量 Baidu-ERNIE & THU-ERNIE & KBert

借着ACL2022一篇知识增强Tutorial的东风,我们来聊聊如何在预训练模型中融入知识。Tutorial分别针对NLU和NLG方向对一些经典方案进行了分类汇总,感兴趣的可以去细看下。这一章我们只针对NLU领域3个基于实体链接的知识增强方案Baidu-ERNIE,THU-ERNIE和K-Bert来聊下具体实现~知识增强KnowledgeisanyexternalinformationabsentfromtheinputbuthelpfulforgeneratingtheoutputTutorial里一句话点题,知识就是不直接包含在当前文本表达中的,但是对文本理解起到帮助作用的补充信息,大体可

Bert不完全手册7. 为Bert注入知识的力量 Baidu-ERNIE & THU-ERNIE & KBert

借着ACL2022一篇知识增强Tutorial的东风,我们来聊聊如何在预训练模型中融入知识。Tutorial分别针对NLU和NLG方向对一些经典方案进行了分类汇总,感兴趣的可以去细看下。这一章我们只针对NLU领域3个基于实体链接的知识增强方案Baidu-ERNIE,THU-ERNIE和K-Bert来聊下具体实现~知识增强KnowledgeisanyexternalinformationabsentfromtheinputbuthelpfulforgeneratingtheoutputTutorial里一句话点题,知识就是不直接包含在当前文本表达中的,但是对文本理解起到帮助作用的补充信息,大体可

.net 学习手册之--创建自己的nuget包

一、前言  在开发过程中经常有这样的场景:一个工具性质的代码会经常被用到,在.net中一般的做法是将这些代码封装成一个类库,让后需要用到这个功能时直接引入类库的dll文件,然后就可以直接使用这些代码了。但是相比于人工的方式引入dll文件,通过nuget来进行包的管理将会更加优雅方便,今天就来向大家介绍如何创建自己的nuget包。二、准备工作  什么是nuget,引自官方的说法:    对于.NET(包括.NETCore),共享代码的Microsoft支持的机制则为NuGet,其定义如何创建、托管和使用面向.NET的包,并针对每个角色提供适用工具。简单来说,NuGet包是具有.nupkg扩展的单

.net 学习手册之--创建自己的nuget包

一、前言  在开发过程中经常有这样的场景:一个工具性质的代码会经常被用到,在.net中一般的做法是将这些代码封装成一个类库,让后需要用到这个功能时直接引入类库的dll文件,然后就可以直接使用这些代码了。但是相比于人工的方式引入dll文件,通过nuget来进行包的管理将会更加优雅方便,今天就来向大家介绍如何创建自己的nuget包。二、准备工作  什么是nuget,引自官方的说法:    对于.NET(包括.NETCore),共享代码的Microsoft支持的机制则为NuGet,其定义如何创建、托管和使用面向.NET的包,并针对每个角色提供适用工具。简单来说,NuGet包是具有.nupkg扩展的单