访问【WRITE-BUG数字空间】_[内附完整源码和文档]
摘要 本文拜读了提出 Bert 模型的论文,考虑了在 Bert 中算法模型的实现.比较了 Bert 与其他如 Transformer、GPT 等热门 NLP 模型.BERT 在概念上很简单,在经验上也很强大。它推动了 11 项自然语言处理任务的最新技术成果,而这 11 项 NLP 任务可分类为四大自然语言处理下游任务,本文聚焦分析实现一个简单的问答任务,使用了来自 BERT-large 的训练集,测试数据集(作业四爬取的 wiki 数据集),测试结果令人满意。
关键词 Bert; Transformer; GPT; NLP; 问答任务
一、前言
由于本课设用的 BERT-large 真的巨巨巨巨大。有 24 层,1024 大小的 embedding,总共 340M 个参数!总的来说,它是 1.34GB。然而国内下载实在太慢,故使用 Google Colab 提供的 jupyter 来运行相关代码。
想做但没有做出的:利用 bertviz(),一个 Transformer 模型中可视化注意力的工具,时间有些仓促,原本觉得能更好地展示 Bert 的运行过程,种种原因没有细看。
可视化的替代方案:将文本语段中的开始词和结束词分别评分,然后将其可视化。对于简短的文本有较好的效果。
数据集根据课设,一个简单联动作业四的 wiki 数据集中的文本内容(Demo),由于爬取的数据没有答案标签,因此只简单判断答案。
大规模数据集以及部分参考代码来自的 HW7 问答,数据集(包括训练集、验证集和测试集[文章 + 问题 + 答案])。
二、论文的简短介绍
涉及领域,前人工作等
本文主要涉及 NLP 的一种语言模型,之前已经出现了【1】ELMo 和【2】GPT 这些较为强大的模型,ELMo 的特征提取器不是很先进,GPT 没有使用双向,这篇论文结合两者的思想或做法,大大提升了最终效果。
2.1 中心思想
本论文文在前人研究基础上,沿用了 pre-train 和 fine-tuning 结构。使用双向 transformer 结构(不同于 ELMO 的双向,而是"掩蔽语言模型"(MLM)),并加入 Next Sentence Prediction(NSP),在 11 个自然语言处理任务上获得了新的最先进的结果。